これは[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
私の答えが妥当かどうか誰かに教えてもらえますか?そうでない場合は、どこが間違っているのか教えてください
また、アルゴリズムを研究する方法、およびアルゴリズムの質問(またはグラフの質問)を解決するためにどのようなアプローチを取るべきかについて、いくつかアドバイスをいただけますか?
どうぞよろしくお願いします