すべての頂点の重みが 0 以上の有向非巡回グラフがあります。グラフの「開始」である頂点と、グラフの「終了」である別の頂点があります。アイデアは、頂点の重みの合計がより大きくなる始点から終点までのパスを見つけることです。たとえば、次のグラフがあります。
I(0) -> V1(3) -> F(0)
I(0) -> V1(3) -> V2(1) -> F(0)
I(0) -> V3(0.5) -> V2(1) -> F(0)
最もコストのかかるパスは I(0) -> V1(3) -> V2(1) -> F(0) で、コストは 4 です。
現在、上記の例のように、BFS を使用して I から F までのすべてのパスを列挙し、合計が最大のものを選択しています。残念ながら、この方法は本当にナイーブかもしれません。
これを行うためのより良いアルゴリズムはありますか? この問題を別の問題に還元できますか?