2018-12-20 18:25:33 +00:00
|
|
|
from networkx import Graph
|
2022-10-13 20:43:16 +00:00
|
|
|
import random
|
2018-12-20 18:25:33 +00:00
|
|
|
import networkx as nx
|
|
|
|
|
2022-10-17 18:23:57 +00:00
|
|
|
|
2018-12-20 18:25:33 +00:00
|
|
|
def mygenerator(n=5, n_edges=5):
|
2022-10-17 18:23:57 +00:00
|
|
|
"""
|
2018-12-20 18:25:33 +00:00
|
|
|
Just a simple generator that creates a network with n nodes and
|
|
|
|
n_edges edges. Edges are assigned randomly, only avoiding self loops.
|
2022-10-17 18:23:57 +00:00
|
|
|
"""
|
2018-12-20 18:25:33 +00:00
|
|
|
G = nx.Graph()
|
|
|
|
|
|
|
|
for i in range(n):
|
|
|
|
G.add_node(i)
|
2022-10-17 18:23:57 +00:00
|
|
|
|
2018-12-20 18:25:33 +00:00
|
|
|
for i in range(n_edges):
|
|
|
|
nodes = list(G.nodes)
|
2022-10-13 20:43:16 +00:00
|
|
|
n_in = random.choice(nodes)
|
2018-12-20 18:25:33 +00:00
|
|
|
nodes.remove(n_in) # Avoid loops
|
2022-10-13 20:43:16 +00:00
|
|
|
n_out = random.choice(nodes)
|
2018-12-20 18:25:33 +00:00
|
|
|
G.add_edge(n_in, n_out)
|
|
|
|
return G
|