Skip to content

Commit

Permalink
bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
GiulioRossetti committed Aug 9, 2017
1 parent 5bd60b5 commit 0bebf4e
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 11 deletions.
7 changes: 2 additions & 5 deletions ndlib/models/epidemics/SEIRModel.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,8 @@ def iteration(self, node_status=True):
infected_neighbors = len([v for v in neighbors if self.status[v] == 2 or self.status[v] == 1])
if eventp < self.params['model']['beta'] * infected_neighbors:
actual_status[u] = 2 # Exposed
elif 2 <= u_status < 1:
if u_status < self.params['model']['alpha']:
actual_status[u] -= 0.01
else:
actual_status[u] = 1 # Infected
elif 1 < u_status <= 2:
actual_status[u] -= self.params['model']['alpha']
elif u_status == 1:
if eventp < self.params['model']['gamma']:
actual_status[u] = 3 # Removed
Expand Down
8 changes: 3 additions & 5 deletions ndlib/models/epidemics/SEISModel.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,9 @@ def iteration(self, node_status=True):
infected_neighbors = len([v for v in neighbors if self.status[v] == 2 or self.status[v] == 1])
if eventp < self.params['model']['beta'] * infected_neighbors:
actual_status[u] = 2 # Exposed
elif 2 <= u_status < 1:
if u_status < self.params['model']['alpha']:
actual_status[u] -= 0.01
else:
actual_status[u] = 1 # Infected
elif 1 < u_status <= 2:
actual_status[u] -= self.params['model']['alpha']

elif u_status == 1:
if eventp < self.params['model']['lambda']:
actual_status[u] = 0 # Susceptible
Expand Down
40 changes: 39 additions & 1 deletion ndlib/test/test_ndlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,17 @@ def test_sznajd_model(self):
iterations = model.iteration_bunch(10, node_status=False)
self.assertEqual(len(iterations), 10)

g = nx.complete_graph(100)
g = g.to_directed()
model = sm.SznajdModel(g)
config = mc.Configuration()
config.add_model_parameter("percentage_infected", 0.2)
model.set_initial_status(config)
iterations = model.iteration_bunch(10)
self.assertEqual(len(iterations), 10)
iterations = model.iteration_bunch(10, node_status=False)
self.assertEqual(len(iterations), 10)

def test_majorityrule_model(self):
g = nx.complete_graph(100)
model = mrm.MajorityRuleModel(g)
Expand Down Expand Up @@ -278,7 +289,7 @@ def test_profile_model(self):
config = mc.Configuration()
config.add_model_parameter('percentage_infected', 0.1)
config.add_model_parameter("blocked", 0.1)
config.add_model_parameter("adopeter_rate", 0.001)
config.add_model_parameter("adopter_rate", 0.001)

profile = 0.1
for i in g.nodes():
Expand Down Expand Up @@ -415,3 +426,30 @@ def test_config(self):
config.add_node_set_configuration("partial", {n: 1 for n in g.nodes()})
config.add_edge_set_configuration("partial", {e: 1 for e in g.edges()})
model.set_initial_status(config)

g = nx.complete_graph(100)
model = mrm.MajorityRuleModel(g)
config = mc.Configuration()
config.add_model_parameter("percentage_infected", 0.2)
try:
model.set_initial_status(config)
except:
pass

g = nx.erdos_renyi_graph(1000, 0.1)
model = ids.IndependentCascadesModel(g)
config = mc.Configuration()
config.add_model_parameter('percentage_infected', 0.1)
try:
model.set_initial_status(config)
except:
pass

g = nx.erdos_renyi_graph(1000, 0.1)
model = th.ThresholdModel(g)
config = mc.Configuration()
config.add_model_parameter('percentage_infected', 0.1)
try:
model.set_initial_status(config)
except:
pass

0 comments on commit 0bebf4e

Please sign in to comment.