У меня есть два двудольных графа G и B, каждый из которых имеет одинаковые узлы, но разное число ребер.Когда я пытаюсь запустить nx.bipartite.maximum_matching
на G (с меньшим числом ребер), я получаю ошибку Disconnected graph: Ambiguous solution for bipartite sets.
, которая аналогична той, что я получил раньше.
Вот G.nodes(data='True')
:
[(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}), (10, {'bipartite': 1}), (11, {'bipartite': 1}),
(12, {'bipartite': 1}), (13, {'bipartite': 1}), (14, {'bipartite': 1}),
(15, {'bipartite': 1}), (16, {'bipartite': 1}), (17, {'bipartite': 1}),
(18, {'bipartite': 1}), (19, {'bipartite': 1})]
, идентичное B.nodes(data='True')
.Как видите, раскраска для двух наборов узлов одинакова.
Вот ребра для G:
[(0, 18), (1, 12), (2, 15), (3, 16), (3, 10), (4, 19), (5, 17),
(5, 13), (6, 10), (6, 11), (7, 15), (8, 14), (9, 14)]
и ребра для B:
[(0, 18), (1, 12), (2, 12), (2, 15), (3, 16), (3, 10), (3, 18), (4, 19),
(5, 17), (5, 13), (6, 10), (6, 11), (6, 18), (6, 13), (7, 18), (7, 19),
(7, 15), (8, 10), (8, 14), (9, 14)]
где G.edges
- это подмножество B.edges
.
Я хотел бы найти nx.bipartite.maximum_matching(G)
.Я предположил, что G
был однозначно двудольным, поскольку его окраска указана в его данных.Каждая вершина является частью некоторого ребра.
Я не уверен, что подключение здесь мне не хватает.
Спасибо.