これは、もう少し経験豊富なプログラマーにとってはおそらく簡単に解決できますが、実際にはまだ解決策を見つけることができません。
ノードとしてのタプルと重みのあるエッジを含む networkx DiGraph (Python w/flask) があります。
開始ノードから終了ノードまでのすべてのパスのツリーを重み付きで抽出したいと思います。これは基本的に all_simple_paths() ですが、重みがあり、1 つのルート (開始ノード) と終了ノードまでのすべての (単純な) パスを持つツリーとして JSON にエクスポートします。
私が見た解決策(とりわけ):
- all_simple_paths() は重みを無視し、まだツリーを生成しません。
- bfs_tree() は近づいているように見えますが、重みを無視し、エンドノードを追加できません (おそらく繰り返しノードはありませんか?)
- [d|b]fs_successors() を使用した再帰関数でうまくいくと思いますが、それを構築する方法がわかりません。
これを行う方法に関するヒントは大歓迎です。:)