случайный граф сети, двудольные множества - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь создать граф равномерного случайного пересечения, используя networkx. Функцияiform_random_intersection_graph (n, m, p) создает такой граф с n узлами первого двудольного набора и m узлами второго двудольного набора, согласно документации.

import networkx as nx
G = nx.uniform_random_intersection_graph(10,3,0.2) 

Однако, когда я использую

G.nodes() 

отображается только набор из n узлов и

G.nodes.data()

возвращает

[(0, {'bipartite': 0}), (1, {'bipartite': 0}), (2, {'bipartite': 0}), (3, {'bipartite': 0}), (4, {'bipartite': 0}), (5, {'bipartite': 0}), (6, {'bipartite': 0}), (7, {'bipartite': 0}), (8, {'bipartite': 0}), (9, {'bipartite': 0})]

Как мне пройти узлы второго двудольного множества (м)?

1 Ответ

0 голосов
/ 21 марта 2020

Вы уверены, что пытаетесь создать граф пересечений? Я думаю, что вы, возможно, пытаетесь создать случайный двудольный граф с 10 узлами в одном наборе и 3 в другом, связанные с вероятностью 0,2. Если это так, вы хотите

import networkx as nx
G = nx.bipartite.random_graph(10,3,0.2) 

График, который вы создаете, начинается как двудольный граф, но затем он берет первый набор узлов и объединяет пару узлов, если они совместно используют соседа в двудольном графе. Так что это не двудольный граф, и он не имеет второго набора узлов. Проверьте G.edges(), чтобы увидеть немного больше, что происходит.

...