graph_tool.generation.add_random_edges#

graph_tool.generation.add_random_edges(g, M, parallel=False, self_loops=False, weight=None)[source]#

Add new edges to a graph, chosen uniformly at random.

Parameters:
gGraph

Graph to be modified.

Mint

Number of edges to be added.

parallelbool (optional, default: False)

Wheter to allow parallel edges to be added.

self_loopsbool (optional, default: False)

Wheter to allow self_loops to be added.

weightEdgePropertyMap, optional (default: None)

Integer edge multiplicities. If supplied, this will be incremented for edges already in the graph, instead of new edges being added.

See also

remove_random_edges

remove random edges to the graph

Notes

If the graph is not being filtered, this algorithm runs in time O(M) if parallel == True or O(Mk) if parallel == False, where k is the average degree of the graph.

For filtered graphs, this algorithm runs in time O(M+E) if parallel == True or O(Mk+E) if parallel == False, where E is the number of edges in the graph.

Examples

Generating a Newman–Watts–Strogatz small-world graph:

>>> g = gt.circular_graph(100)
>>> gt.add_random_edges(g, 30)