Changing the model
Changing to a one-dimensional
lattice
To switch to a one-dimensional lattice, use the OneDLattice command.
The following command creates a one-dimensional lattice 200 cells wide
with an interaction radius of 3 and an update radius of 4:
OneDLattice( 200, 3, 4);
An alternate form of this command exists. If you omit the third argument,
the radius for the interaction and update neighborhoods are taken to be the
same.
Commands
OneDLattice(Width, InteractionRadius, UpdateRadius)
OneDLattice(Width, CommonRadius)
Changing to a two-dimensional
lattice
The TwoDLattice command changes the model to a two-dimensional lattice.
The following creates a two-dimensional lattice with a width of 100,
a height of 150, and neighborhoods which wrap at the edges:
TwoDLattice( 100, 150, true );
If you omit the third argument, whatever the current wrap setting is will
be reused.
Commands
TwoDLattice(Width, Height, Wrap)
TwoDLattice(Width, Height)
Changing to a small-world
network
The SmallWorldNetwork command changes the model to a small-world
network. The following creates a small-world network with 1000 nodes,
an interaction radius of 10, and a beta value of 0.001. (The
beta value is the probability that any given agent will be on a shortcut.)
SmallWorldNetwork( 1000, 10, 0.001);
No variant forms of this command exist.
Commands
SmallWorldNetwork(NumberOfNodes, InteractionRadius, Beta)
Changing to a bounded
degree network
A bounded degree network is a network in which the degree of each vertex (the
number of edges it is incident on) lies between a minimum and maximum value.
The clustering coefficient is a measure of how hard the program
should try to connect a given vertex to its neighbor's neighbors. If
the clustering coefficient is 0, when a new edge is being added to a vertex,
the vertex's neighbors' neighbors are assigned the same probability of being
connected to as any other node in the network. If the clustering coefficient
is 1, the program will always try to first connect a vertex to one of its
neighbors's neighbors, only connecting the vertex to another node if
none of its neighbors's neighbors are eligible.
The following command creates a bounded degree network with 30 agents, a minimum
degree of 2 and a maximum degree of 4, with a clustering coefficient of 0.3:
BoundedDegreeNetwork( 30, 2, 4, 0.3);
An alternate form of this command omits the clustering coefficient, using
the current value. (The default value is 0).
Commands
BoundedDegreeNetwork(NumberOfNodes, MinK, MaxK, ClusteringCoefficient)
BoundedDegreeNetwork(NumberOfNodes, MinK, MaxK)
If MinK = MaxK, the model will try to assign all nodes the same number
of edges. Note that if (NumberOfNodes * MinK) is odd these constraints
cannot be satisfied. The program doesn't handle this gracefully.
Changing to a dynamic network
This program implements the dynamic network model described by Skyrms and
Pemantle (2000), along with a variant. The following command creates
a dynamic network with 11 agents in which the structural dynamics occur each
generation, no strategic dynamics occur, and agents are not permitted
to initiate interactions with more than one agent in a generation:
DynamicNetwork( 11, 1.0, 0.0, false );
If you want agents to be able to initiate interactions with more than one
agent in a generation, put true instead of false for the fourth
argument:
DynamicNetwork( 11, 1.0, 0.0, true );
The second and third arguments specify the probability that a given agent
will update his interaction probabilities (the structural dynamics) or update
his strategy (the strategic dynamics). If either probability is 1, that
dynamic takes place each generation. If either probability is 0, that
dynamic never occurs.
In each generation, interactions occur before any updating takes place, and
structural dynamics preceed strategic dynamics if both dynamics occur in a
given generation.
A variant form of this command has only three arguments; it decides whether
to permit multiple interactions using the current value of that parameter.
The default value is false (multiple interactions are prevented).
Commands
DynamicNetwork(NumberOfNodes, UpdateInteractionProbability, UpdateStrategyProbability,
MultipleInteractions)
DynamicNetwork(NumberOfNodes, UpdateInteractionProbability, UpdateStrategyProbability)