2017-08-16 5 views
0

私は確率としてエッジ重みを持つnetworkx有向グラフを持っています。エッジウェイトの積がスレッショルドを上回るように、2つのノード間のすべてのパスを必要とします。 例えば、A→B→C→Dは、0.9 * 0.9 * 0.1 = 0.081と0.081> 0.5となるため、パスを受け入れます。 すべてのパスアルゴリズムはウェイト(最短パス)の合計と関係しています。条件としてエッジの積を使用する方法はありますか?edge weightの積として条件付きパスを取得するためのpython networkxアルゴリズム

答えて

1

使用:

reduce(lambda x, y: x*y, list(YourGraph.edges_iter(data='weight', default=1))) 

これはグラフのエッジの重みの全てを乗算します。

関連する問題