巡回セールスマン問題の解を多項式時間で検証するにはどうすればよいですか?


31

したがって、TSP(Travelling salesman problem)決定問題はNP completeです。

しかし、多項式時間で最適な解を見つける方法がないため、TSPの特定の解が実際に多項式時間で最適であることを検証する方法を理解できません(問題はPにないためです)?

検証が実際に多項式時間で実行できることを確認するのに役立つかもしれないものはありますか?

回答:


20

より正確には、TSPがかどうかわかりませ。おそらく一般的な信念はであるにもかかわらず、多項式時間で解くことが可能です。ここで、問題が -hardおよび -completeであることの意味を思い出してください。たとえば、ここでの私の答えを参照してください。混乱の原因は定義にあると思います: -hard問題は必ずしもあるとは限りません。PPNPNPNPNPNP

あなたとWikipediaのページでは、状態をリンクとして、決定問題がある -complete:コストと整数与えられた、より安価なツアーがあるかどうかを決める。で問題を見る1つの方法は、解が与えられた場合、解がよりも安価かどうかを多項式時間で簡単に検証できることです。どうすればこれができますか?与えられたツアーに従って、その総コストを記録し、最後に総コストをと比較します。NPxxNPxx


「与えられたツアーをたどり、その総コストを記録し、最後に総コストをxと比較します。」->はい、しかしチェックするべき指数関数的な数のツアーがあります!
レーザー

2
ちょっと遅すぎたようです。;-)
ニール・ド・ボードラップ

3
@Lazerいいえ、確認するツアーは1つだけです。ツアーが与えられ、その長さを記録します。より小さい場合はyesを出力し、そうでない場合はnoを出力しますx
たJuho

「ツアーがあるかどうかを判断する」ことは、ツアーが与えられていないことを意味します。私は何が欠けていますか?
レーザー

3
@Lazerいいえ、問題では加重グラフと目標コストが与えられます。証明書はツアーです。別の説明については、Nielの回答を参照してください。SUBSET-SUMの場合のWikiの例のように、ゼロは与えられませんが、代わりに証明書として特定のサブセットが与えられます。
十宝

34

重要な点は、意思決定の問題を考慮する必要があることです。

巡回セールスマン問題(決定版)。重み付きグラフGとターゲットコストCが与えられた場合、重みが最大CのハミルトニアンサイクルがGにありますか?

「はい」の場合、証明書は、重みが最大Cのハミルトニアンサイクルにすぎません。この問題を効率的に解決できれば、ネットワーク全体の重みを上限として、バイナリ検索で最小ツアーのコストを見つけることができます。


3

おそらく、TSPに対する特定のソリューションが最適なソリューションであるかどうかを判断する問題を考えているでしょう。ただし、これに関する既知の多項式解はありません。つまり、この問題はNP困難ですが、必ずしもNP完全ではありません。

TSP 決定問題は、実際には、グラフ内のソリューションの重みがG最大コストであるかどうかを判断することですC(ニールの答えでよりよく説明されています)。これは、多項式時間で確実に検証できます。


5
物足りないですが、ツアーがあるため、TSPはNPハードではありません。例えば、ソートはPで行われますが、n 可能な順列も。巨大な、または急速に成長する検索スペースは、必ずしも困難を意味するわけではありません。Onn
たJuho

@Juho であることを確認するだけで、シーケンスがソートされていることを確認できます。。ただし、何かがTSPのベストソリューションであることを知るには、コストが最小コストであることを知る必要があります。これは本質的に他のすべてのコストを知る必要があります。n0<=n1<=
ケーシークーボール

4
いいえ、他のすべてのツアーの長さを計算しなくても、最適な値を取得できます。はい、他のすべてのツアーを計算せずに、これが実際に最適であることを証明することができます。例として、分岐とバインドを検討します。
たJuho

7
On22n

@ジュホ良い点。唯一の選択肢としてブルートフォースを示さないように回答を更新しました(多項式解がないことのみ)。
ケーシーKuball

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.