| edgeGenerators {grapherator} | R Documentation |
Edge generators.
Description
Function to add edges into a graph. The following methods are implemented so far:
addEdgesCompleteGenerates a simple complete graph. I.e., an edge exists between each two nodes. However, no self-loops or multi-edges are included.
addEdgesGridOnly usefull if nodes are generated via
addNodesGrid. This method generates a Manhattan-like street network.addEdgesOnionThis method determines the nodes on the convex hull of the node cloud in the euclidean plane and adds edges between neighbour nodes. Ignoring all nodes on the hull, this process is repeated iteratively resulting in an onion like peeling topololgy. Note that the graph is not connected! In order to ensure connectivity, another edge generator must be applied in addition, e.g.,
addEdgesSpanningTree.addEdgesDelauneyEdges are determined by means of a Delauney triangulation of the node coordinates in the Euclidean plane.
addEdgesWaxmanEdges are generated using the Waxman-model, i.e., the probability
p_{ij}for the edge(i, j)is given byp_{ij} = \alpha e^{-\beta d_{ij}}, where
\alpha, \beta \geq 0are control parameters andd_{ij}is the Euclidean distance of the nodesiandj.addEdgesSpanningTreeA minimum spanning tree is computed based on a complete random weight matrix. All edges of the spanning tree are added. If
runsis greater 1, the process is repeated forruns. However, already added edges are ignored in subsequent runs. This method is particularly useful to assist probablistic methods, e.g., Waxman model, in order to generate connected graphs.addEdgesGilbertUse Gilbert-model to generate edges. I.e., each edge is added with probability
p \in [0, 1].addEdgesErdosRenyiIn total
m \leq n(n-1)/2edges are added at random.
Usage
addEdgesComplete(graph, ...)
addEdgesGrid(graph, ...)
addEdgesOnion(graph, ...)
addEdgesDelauney(graph, ...)
addEdgesWaxman(graph, alpha = 0.5, beta = 0.5, ...)
addEdgesGilbert(graph, p, ...)
addEdgesErdosRenyi(graph, m, ...)
addEdgesSpanningTree(graph, runs = 1L, ...)
Arguments
graph |
[ |
... |
[any] |
alpha |
[ |
beta |
[ |
p |
[ |
m |
[ |
runs |
[ |
Details
Currently all edge generators create symmetric edges only.
Value
[list] List with components:
- adj.mat
matrix Adjacency matrix.
- generator [
character(1)] String description of the generator used.
Note
These functions are not meant to be called directly. Instead, they need
to be assigned to the generator argument of addEdges.