数十万のノードと数万のエッジを持つ大きな無向グラフがあります。私は2つの別々の問題を抱えています:
1) ノード N = (ノード [1]、ノード [2]、ノード [3]、ノード [4]、ノード [5]) のセットの場合、M = (ノード [1001]、ノード [1002] ], node[1003], node[1004], node[1005]) N 内の任意のノードと M 内の任意のノードの間にパスが存在するか?
nx.path.bidirectional_dijkstra() 関数が存在することは知っていますが、それを使用するには、冗長な N*M のすべての組み合わせをテストする必要があり (多くのノードが複数回クエリされるため)、実際には N の長さから/M は数千になる可能性がありますが、これは実用的ではありません。
2) 少し別の問題ですが、N から M へのすべてのパスのリストを取得する方法はありますか?
これに対する「独自の」ソリューションを展開する方法の大まかなアイデアはありますが、誰かがすでにこれを行っている場合よりも何倍も遅くなると思いますが、グラフ理論のバックグラウンドがないため、何がわからないのですか?探さなきゃ!ありがとう。