私はPythonコーディングが初めてで、非常に大きなグラフの開始ノードと終了ノードの間のすべてのパスをすばやく見つけるアルゴリズムを探しています-約1000ノードと10,000エッジを持つグラフとします。開始ノードから終了ノードまで実際に存在するパスの数は少なく、10 以下です。質問をもう少し文脈化するのを助けるために、ソーシャルネットワークを考えてみてください.1000人の友達がいて、高校の親友が大学のルームメイトとつながる方法がいくつあるか知りたいとしたら、高校の親友は 200 人の高校の友達全員とつながっています。これらのパスがルームメイトにつながることはないからです。この python コードでやりたいことは、2 人の友人の間に存在するパスをすばやくサブセット化し、基本的にすべての「ノイズ」を取り除くことです。
いくつかのコード例を実装しようとしましたが、それらはすべて小さくて単純なグラフでうまく機能します。しかし、それらを大規模なグラフ分析に組み込もうとすると、すべてが役に立たなくなるまでに時間がかかりすぎます。
調査する方法(つまり、networkxですでに作成されているもの、またはスタックと再帰の使用に関する情報など)、実装するコード例、または追求するPython以外の他のルートについて提案はありますか?私はPythonの初心者です。