Graph Generation Method
Random Dot Product
Geometric Random Graph
Growing Random Graph
Stochastic Block Model
The Erdos-Renyi graph has each edge independently
chosen with probability p.
A K-regular graph is a graph where every vertex
has degree k.
The complete graph is the graph containing all possible
The complete bipartite graph is the bipartite graph
containing all possible
edges between the parts.
The random bipartite graph is the bipartite graph
containing each of the possible
edges between the parts independently with probability p.
The stochastic block model has the vertices grouped,
with the edge probabilities defined by the kxk P
matrix. The probability of an edge between vertices
depends only on the groups they belong to. In this
implementation, the entries of P are uniform [0,1],
unless 'Diagonally Dominant' is chosen, in which case
the off-diagonals are U[0,0.5] and the diagonals are
U[0.5,1]. The blocks are of (roughly) equal size.
At each time step an edge is added. This vertex is
'cited': connected to ambs vertices chosen uniformly
at random. For each cited vertex v:
1. We generate two random number, x and y, that are
geometrically distributed with means p/(1-p) and rp(1-rp).
(p is ‘fw.prob’, r is ‘bw.factor’.) The new vertex cites x
outgoing neighbors and y incoming neighbors of v, from those
which are not yet cited by the new vertex. If there are less
than x or y such vertices available then we cite all of
2. The same procedure is applied to all the newly cited
From the 'igraph' help page:
A Kautz graph is a labeled graph, vertices are labeled by strings
of length ‘n+1’ above an alphabet with ‘m+1’ letters, with the
restriction that every two consecutive letters in the string must
be different. There is a directed edge from a vertex ‘v’ to
another vertex ‘w’ if it is possible to transform the string of
‘v’ into the string of ‘w’ by removing the first letter and
appending a letter to it.
From the 'igraph' help page:
A de Bruijn graph represents relationships between strings. An
alphabet of ‘m’ letters are used and strings of length ‘n’ are
considered. A vertex corresponds to every possible string and
there is a directed edge from vertex ‘v’ to vertex ‘w’ if the
string of ‘v’ can be transformed into the string of ‘w’ by
removing its first letter and appending a letter to it.
Please note that the graph will have ‘m’ to the power ‘n’ vertices
and even more edges, so probably you don't want to supply too big
numbers for ‘m’ and ‘n’.
Each time a new vertex is added it creates a number
of links to old vertices and the probability that an
old vertex is cited depends on its in-degree
(preferential attachment) and age.
The probability of connecting an old vertex to
the new one is proportional to:
(deg.coef k[i]^pa.exp + zero.deg.appeal)(age.coef l[i]^aging.exp + zero.deg.appeal)
where k and l are the in degree and age. See the help page
for 'sample_pa_age' in the 'igraph' package
At each time step a new vertex is added and m new
edges are added (uniformly at random if citation is FALSE,
otherwise from the new vertex to a uniformly chosen old
First n points are generated uniformly on a square (or
torus). An edge is set between any pair of points of
distance at most radius. If 'Keep Coords' is true,
the coordinates are set as vertex attributes 'x' and
A star graph is a central vertex of degree n-1 and n-1
vertices of degree 1 connected to it.
A star graph union a cycle.
A set of famous graphs appearing in the literature.
See the help page for 'make_graph' in the 'igraph'
A set of graphs appearing in the book 'An Atlas of Graphs',
Roland C. Read and Robin J. Wilson. This is all undirected
graphs with up to seven vertices. See the help page for
'graph_from_atlas' in the 'igraph'
package. The graph number '0' which is the empty graph
on zero vertices is not an option in this tool.
A small world graph. A lattice is created with
dimension 'dim', number of vertices along each axis of
'size' and neighborhood width 'nei'. Then edges are
rewired with probability 'p'. Note this graph
is always undirected. Note that the number of vertices,
is size^dim, so be careful there.
While the approach can produce loops and multiple edges,
this implementation removes them, returning a simplified
version of the graph.
This is a stochastic algoritm that adds a vertex with
each discrete time step. The new vertex initiates m edges
to vertices with probability P[i]~d[i]^power+zero.appeal.
Here d[i] is the in-degree of vertex i
Click the parameters button to adjust the parameters of
the model. Then click 'Generate' to generate the graph
Clicking on `Plotting Parameters' opens/closes a menu of options for the plot.