0

グラフをそのノード セットの 1 つに投影していますが、結果の投影には元のノード セットよりも多くのノードがあり、奇妙なことに、この「余分な」ノードは、G のノード ID に対応する番号にすぎません。完全な (ノード、データ) タプル。

C=set(n for n,d in G.nodes(data=True) if d['bipartite']==0)
len(C)
>>109813
BC=bipartite.projected_graph(G,C)
len(BC)
>>112570
len(BC)-len(C)
>>2757

BC のすべての「余分な」ノードは単なる数字です (G のノード ID に対応)。この「余分な」2757 ノードはどこから来ているのですか? 二部投影グラフには、それが投影されたノード セット内のノードの量と同じ量のノードがあると予想されます。何か案は?

可能な追加の有用な情報:

len(G)
>>117679
4

1 に答える 1

0

ノードセットに関して、グラフが二部ではない可能性があります。

In [1]: import networkx as nx

In [2]: from networkx import bipartite

In [3]: G = nx.path_graph(5) # two parts, [0,2,4],[1,3]

In [4]: bipartite.projected_graph(G,[0,2,4]).nodes()
Out[4]: [0, 2, 4] # OK

In [5]: bipartite.projected_graph(G,[0,2,3]).nodes()
Out[5]: [0, 1, 2, 3, 4] # maybe not expected or correct

これはバグと見なされるかもしれませんが、ドキュメントでは、プロジェクションを実行する前に 2 部構成のチェックが行われないことを警告しています。

于 2013-02-15T19:49:08.140 に答える