各プロセスが独自の nx.Graph() を作成し、それにノード/エッジを追加/削除する場合、それらが衝突する理由はありますか? いくつかの奇妙な現象に気づき、それらをデバッグしようとしています。
一般的な問題は、単一のグラフをエッジ リストとしてダンプし、それを各プロセスのサブセットから新しいグラフに再作成していることです。何らかの理由で、これらの新しいグラフにはエッジがありません。
編集:
問題の原因となっているコードの一部を見つけたと思います。問題は、次のことが NetworkX の意図した動作であるかどうかです。
>>> import networkx as nx
>>> g = nx.Graph()
>>> g.add_path([0,1,2,3])
>>> g.nodes()
[0, 1, 2, 3]
>>> g.edges()
[(0, 1), (1, 2), (2, 3)]
>>> g[1][0]
{}
>>> g[0][1] = {"test":1}
>>> g.edges(data=True)
[(0, 1, {'test': 1}), (1, 2, {}), (2, 3, {})]
>>> g[1][0]
{}
>>> g[0][1]
{'test': 1}
>>>
グラフは無方向であるため、エッジ データはリクエストのノード ID に関係なく両方に表示されると予想されますが、それは間違った仮定ですか?