Попробуйте это:
import networkx as nx
B = nx.bipartite.random_graph(5, 7, 0.2)
G = nx.bipartite.complete_bipartite_graph(5,7) #or use random_graph with probability 1
H = nx.difference(G,B)
Используется разница , которая возвращает график, ребра которого являются ребрами в G
, но не B
.
Проблема с тем, что вы делали, заключается в том, что complement
возвращает не двудольное дополнение, а полное дополнение. Он содержит ребра между всеми парами, которые не были объединены в исходном графе.