NetworkExperiment: An experiment over a network¶
- class epydemic.NetworkExperiment(g=None)¶
Bases:
ExperimentA very lightweight base class for providing a network to an experiment. The network can either be a fixed network used for each experimental run, or a network generator that will be used to generate a new instance for each run.
- Parameters
g (
Union[Graph,NetworkGenerator,None]) – (optional) prototype network or network generator
In use¶
NetworkExperiment simply adds functions to associate a netywork or a network
generator with a computational experiment.
- NetworkExperiment.network()¶
Return the network this dynamics is running over. This will return None unless we’re actually running a simulation.
- Return type
Graph- Returns
the network
- NetworkExperiment.setNetworkGenerator(g)¶
Set the network or generator for the networks the dynamics will run over. If a network is supplied rather than a generator it will be treated as an instance of
FixedNetwork.Note that calling this method doesn’t change the working network mid-experiment: for that, use
NetworkExperiment.setNetwork().- Parameters
g (
Union[Graph,NetworkGenerator]) – network or network generator
- NetworkExperiment.networkGenerator()¶
Return the generator used for this dynamics.
- Return type
- Returns
the generator
During set-up the experiment instantiates a working copy network for
use within the experiment, deleting it afterwards. If the experiment
was provided with a single “prototype” network, whis is copied each
time; if it was provided with an instance of
NetworkGenerator, a new instance of the class of networks
defined by the generator is used.
- NetworkExperiment.setUp(params)¶
Set up the experiment for a run. This creates a working copy of the network (class) underlying the experiment.
- Parameters
params (
Dict[str,Any]) – the experimental parameters
- NetworkExperiment.tearDown()¶
At the end of each experiment, throw away the working network.