3

これは[CLRSから]の質問です:

最適化問題LONGEST-PATH-LENGTHを、無向グラフと2つの頂点の各インスタンスを、2つの頂点間の最長の単純なパスのエッジの数に関連付ける関係として定義します。決定問題を定義するLONGEST-PATH={:G =(V、E)は無向グラフ、u、vはVに含まれ、k> = 0は整数であり、Gにはuからvへの単純なパスが存在します。少なくともk個のエッジの}。LONGEST-PATHがPに含まれている場合にのみ、最適化問題LONGEST-PATH-LENGTHを多項式時間で解くことができることを示します。

私の解決策:ポリタイムでG(u、v)を解くことができるアルゴリズムAが与えられたので、「YES」とk'が返され、k'がG(u、v)、今やらなければならないことは、

k =< k'

その場合、最長のパス長が解決されます。「NO」またはk>=k'を受け取った場合、解決策はありません。

したがって、比較のためにA +定数を実行するためのポリタイム、次にポリタイムを要する最長のパス長を見つけるために。また、これは、G(u、v)がポリタイム(P)で実行されるためにのみ可能です。したがって、G(u、v、k)はポリタイム(P)でも実行されるため、最長パスを最長パスに減らすことができます。長さの場合、最長パス長はP単位です。

反対の方法でそれを解くことができます。私たちが行うことは、k'= 0からnに対してG(u、v、k')を実行し、k == k'であるかどうかをチェックするたびに、それを解きました。このための実行時分析:n * polytime + n *(定数比較)= polytime

私の答えが妥当かどうか誰かに教えてもらえますか?そうでない場合は、どこが間違っているのか教えてください

また、アルゴリズムを研究する方法、およびアルゴリズムの質問(またはグラフの質問)を解決するためにどのようなアプローチを取るべきかについて、いくつかアドバイスをいただけますか?

どうぞよろしくお願いします

4

1 に答える 1

2

あなたの答えは合理的ですが、私はそれを少し正式に支持しようとします(明確な方法でケースを別々にフォーマットし、多項式時間の意味についてより正確に、そのようなもの...)

私が指摘したい唯一のことは、2番目の縮小(決定問題が最適化問題を解決することを示す)では、k=0からNの解は一般的ではないということです。多項式時間は入力の長さに関連して決定されるため、Nが入力からのアイテムの数ではなく一般的な数(重量など)である問題では、(この場合のように)を使用する必要があります。確かに、より高度なバイナリ検索。

于 2011-12-09T12:31:11.927 に答える