def test_config(self): for g in get_graph(True): model = epd.ThresholdModel(g) config = mc.Configuration() config.add_model_parameter('fraction_infected', 0.1) config.add_model_initial_configuration("Infected", [1, 2, 3]) config.add_node_set_configuration("partial", {1: 1, 2: 2}) try: model.set_initial_status(config) except: pass if isinstance(g, nx.Graph): edges = list(g.edges) nodes = list(g.nodes) else: edges = [(g.vs[e.tuple[0]]['name'], g.vs[e.tuple[1]]['name']) for e in g.es] nodes = g.vs['name'] config.add_edge_set_configuration("partial", {e: 1 for e in edges[:10]}) try: model.set_initial_status(config) except: pass config.add_node_set_configuration("partial", {n: 1 for n in nodes}) config.add_edge_set_configuration("partial", {e: 1 for e in edges}) model.set_initial_status(config) for g in get_graph(): model = opn.MajorityRuleModel(g) config = mc.Configuration() config.add_model_parameter("percentage_infected", 0.2) try: model.set_initial_status(config) except: pass for g in get_graph(True): model = epd.IndependentCascadesModel(g) config = mc.Configuration() config.add_model_parameter('percentage_infected', 0.1) try: model.set_initial_status(config) except: pass for g in get_graph(True): model = epd.ThresholdModel(g) config = mc.Configuration() config.add_model_parameter('percentage_infected', 0.1) try: model.set_initial_status(config) except: pass
def test_majorityrule_model(self): for g in get_graph(): model = opn.MajorityRuleModel(g) config = mc.Configuration() config.add_model_parameter("q", 3) config.add_model_parameter("fraction_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 = opn.MajorityRuleModel(g) config = mc.Configuration() config.add_model_parameter("q", 3) 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_config(self): g = nx.erdos_renyi_graph(99, 0.1) model = epd.ThresholdModel(g) config = mc.Configuration() config.add_model_parameter('fraction_infected', 0.1) config.add_model_initial_configuration("Infected", [1, 2, 3]) config.add_node_set_configuration("partial", {1: 1, 2: 2}) try: model.set_initial_status(config) except: pass config.add_edge_set_configuration("partial", {e: 1 for e in list(g.edges)[:10]}) try: model.set_initial_status(config) except: pass 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 = opn.MajorityRuleModel(g) config = mc.Configuration() config.add_model_parameter("fraction_infected", 0.2) try: model.set_initial_status(config) except: pass g = nx.erdos_renyi_graph(1000, 0.1) model = epd.IndependentCascadesModel(g) config = mc.Configuration() config.add_model_parameter('fraction_infected', 0.1) try: model.set_initial_status(config) except: pass g = nx.erdos_renyi_graph(1000, 0.1) model = epd.ThresholdModel(g) config = mc.Configuration() config.add_model_parameter('fraction_infected', 0.1) try: model.set_initial_status(config) except: pass
SEIR_trends = SEIRModel.build_trends(SEIR_iterations) visualize(SEIRModel, SEIR_trends, sub_dir='epidemics') ############################################################### voter_model = op.VoterModel(g.copy()) voter_model.set_initial_status(get_voter_params()) voter_iterations = voter_model.iteration_bunch(num_iterations) voter_trends = voter_model.build_trends(voter_iterations) visualize(voter_model, voter_trends, sub_dir='opinions') QVoter_model = op.QVoterModel(g.copy()) QVoter_model.set_initial_status(get_qvoter_params()) QVoter_iterations = QVoter_model.iteration_bunch(num_iterations) QVoter_trends = QVoter_model.build_trends(QVoter_iterations) visualize(QVoter_model, QVoter_trends, sub_dir='opinions') majority_rule_model = op.MajorityRuleModel(g.copy()) majority_rule_model.set_initial_status(get_majority_rules_params()) majority_rule_iterations = majority_rule_model.iteration_bunch( num_iterations) majority_rule_trends = majority_rule_model.build_trends( majority_rule_iterations) visualize(majority_rule_model, majority_rule_trends, sub_dir='opinions') sznajd_model = op.SznajdModel(g.copy()) sznajd_model.set_initial_status(get_sznajd_params()) sznajd_iterations = sznajd_model.iteration_bunch(num_iterations) sznajd_trends = sznajd_model.build_trends(sznajd_iterations) visualize(sznajd_model, sznajd_trends, sub_dir='opinions')