各エッジに重み(正または負の実数)が割り当てられているツリーがあります。最大総重みの単純なパス(つまり、パス内のエッジの重みの合計が最大になる単純なパス)を見つけるためのアルゴリズムが必要です。パスが開始または終了するノードに制限はありません。
可能なアルゴリズムはありますが、それが機能するかどうかはわかりません。証拠を探しています。ここにあります:
- 任意のノードuを選択し、 DFS(u )を実行して、 uで始まる最大重みの単純パスを見つけます。(u、v)をこのパスとします。
- DFS(v )を実行して、 vで始まる最大重みの単純パスを見つけます。このパスを(v、z)とします。
その場合、(v、z)は最大重みの単純なパスです。このアルゴリズムは、グラフのサイズが線形です。誰かがそれが機能するかどうか教えてもらえますか?もしそうなら、証拠を与えてください?
注:サイクルのある一般的なグラフの場合、最長パスの問題はNP困難です。ただし、ここでは木のみを考慮します。