Graph generation based on different vertex types
These functions implement evolving network models based on different vertex types.
callaway.traits.game (nodes, types, edge.per.step = 1, type.dist = rep(1, types), pref.matrix = matrix(1, types, types), directed = FALSE) establishment.game(nodes, types, k = 1, type.dist = rep(1, types), pref.matrix = matrix(1, types, types), directed = FALSE)
- The number of vertices in the graph.
- The number of different vertex types.
- The number of edges to add to the graph per time step.
- The distribution of the vertex types. This is assumed to be stationary in time.
- A matrix giving the preferences of the given vertex types. These should be probabilities, ie. numbers between zero and one.
- Logical constant, whether to generate directed graphs.
- The number of trials per time step, see details below.
callaway.traits.game the simulation goes like this: in each
discrete time step a new vertex is added to the graph. The type of
this vertex is generated based on
type.dist. Then two vertices are
selected uniformly randomly from the graph. The probability that they
will be connected depends on the types of these vertices and is taken
pref.matrix. Then another two vertices are selected and
this is repeated
edges.per.step times in each time step.
establishment.game the simulation goes like this: a single
vertex is added at each time step. This new vertex tries to connect to
k vertices in the graph. The probability that such a connection is
realized depends on the types of the vertices involved and is taken
- A new graph object.
# two types of vertices, they like only themselves g1 <- callaway.traits.game(1000, 2, pref.matrix=matrix( c(1,0,0,1), nc=2)) g2 <- establishment.game(1000, 2, k=2, pref.matrix=matrix( c(1,0,0,1), nc=2))