コード例 #1
0
ファイル: SIR_model_old.py プロジェクト: rik0/pynetsym
    options = {}

    class configurator_type(NXGraphConfigurator):
        node_type = Node
        node_options = {
            'infection_rate', 'recovery_rate', 'initial_infected_fraction'
        }

        def initialize_nodes(self):
            infected_fraction = self.full_parameters[
                'initial_infected_fraction']
            infected_population_size = int(
                math.ceil(len(self.node_identifiers) * infected_fraction))
            infected_nodes = set(
                random.sample(self.node_identifiers, infected_population_size))
            self.sync_send_all(self.node_identifiers,
                               'initialize',
                               state=lambda rid: 'I'
                               if (rid in infected_nodes) else 'S')


if __name__ == '__main__':
    graph = networkx.powerlaw_cluster_graph(1000, 50, 0.2)
    sim = Simulation()
    sim.run(starting_graph=graph, force_cli=True)

    print sim.motive

    network_size = sim.graph.number_of_nodes()
    sim.recorder.save_statistic()
コード例 #2
0
ファイル: SIR_model.py プロジェクト: rik0/pynetsym
        node_type = Node
        node_options = {"infection_rate", "recovery_rate"}

        def initialize_nodes(self):
            infected_rate = self.full_parameters["initial_infected_rate"]
            infected_population_size = int(math.ceil(len(self.node_identifiers) * infected_rate))
            infected_nodes = set(random.sample(self.node_identifiers, infected_population_size))
            self.sync_send_all(
                self.node_identifiers, "initialize", state=lambda rid: ("I" if (rid in infected_nodes) else "S")
            )


def bench_mem(timeout, filename="meliae-dump-"):
    try:
        from meliae import scanner
        import time
    except ImportError:
        pass
    else:
        gevent.sleep(timeout)
        scanner.dump_all_objects("%s%d.json" % (filename, time.clock()))


if __name__ == "__main__":
    sim = Simulation()

    # gevent.spawn(bench_mem, 60.0 * 30.0)
    sim.run(force_cli=True)

    print sim.motive
コード例 #3
0
        def initialize_nodes(self):
            infected_rate = self.full_parameters['initial_infected_rate']
            infected_population_size = int(
                math.ceil(len(self.node_identifiers) * infected_rate))
            infected_nodes = set(
                random.sample(self.node_identifiers, infected_population_size))
            self.sync_send_all(self.node_identifiers,
                               'initialize',
                               state=lambda rid:
                               ('I' if (rid in infected_nodes) else 'S'))


def bench_mem(timeout, filename='meliae-dump-'):
    try:
        from meliae import scanner
        import time
    except ImportError:
        pass
    else:
        gevent.sleep(timeout)
        scanner.dump_all_objects('%s%d.json' % (filename, time.clock()))


if __name__ == '__main__':
    sim = Simulation()

    #gevent.spawn(bench_mem, 60.0 * 30.0)
    sim.run(force_cli=True)

    print sim.motive
コード例 #4
0
ファイル: SIR_model_old.py プロジェクト: rik0/pynetsym
        )

    activator_type = Activator
    options = {}

    class configurator_type(NXGraphConfigurator):
        node_type = Node
        node_options = {
            'infection_rate',
            'recovery_rate',
            'initial_infected_fraction'}

        def initialize_nodes(self):
            infected_fraction = self.full_parameters['initial_infected_fraction']
            infected_population_size = int(
                math.ceil(len(self.node_identifiers) * infected_fraction))
            infected_nodes = set(random.sample(self.node_identifiers, infected_population_size))
            self.sync_send_all(self.node_identifiers, 'initialize',
                               state=lambda rid: 'I' if (rid in infected_nodes) else 'S')


if __name__ == '__main__':
    graph = networkx.powerlaw_cluster_graph(1000, 50, 0.2)
    sim = Simulation()
    sim.run(starting_graph=graph, force_cli=True)

    print sim.motive

    network_size = sim.graph.number_of_nodes()
    sim.recorder.save_statistic()