数独を解決できる場合、巡回セールスマン問題(TSP)を解決できますか?もしそうなら、どのように?


23

任意のサイズの部分的に満たされた数独を与えると、対応する完成した数独を与えるプログラムがあるとしましょう。

このプログラムをブラックボックスとして扱い、これを使用してTSPを解決できますか?つまり、TSP問題を部分的に満たされた数独として表現する方法はありますか?その数独の答えを与えると、TSPの解を多項式時間で伝えることができますか?

はいの場合、どのように?TSPを部分的に満たされた数独としてどのように表現し、対応する満たされた数独を結果として解釈しますか。


1
このペーパーでは、数独からハミルトニアンのサイクル問題への建設的な削減を主張しています:sciencedirect.com/science/article/pii/S097286001630038X
cwindolf

@ C.Windolf質問は他の方向を求めています。(実際には、同じ間違いをして同じ論文を引用した削除された回答があります。)
David Richerby

回答:


32

9x9数独の場合、いいえ。有限なので、O(1)時間で解くことができます。

しかし、n2×n2数独のソルバーがあり、それがすべてのnおよびすべての可能な部分ボードで機能し、多項式時間で実行された場合、はい、それはn2×n2数独はNP完全です。

NP完全性の証明は、NP完全問題Rから数独に還元することで機能します。RはNP完全であるため、TSPからRに減らすことができます(NP完全の定義から)。これらの削減を連鎖させると、数独ソルバーを使用してTSPを解決する方法が得られます。


1
方法を説明してください。はい、ブラックボックスとして機能する一般的な数独ソルバーを持っていると仮定します。では、どのように使用できますか?部分的に満たされた数独としてTSPをどのように表現しますか
チャクラパニNラオ

2
@ChakrapaniNRao、更新された回答を参照してください。はい、私はそれがブラックボックスであることを理解しています。詳細を理解するには、SudokuのNP完全性の証拠を見つけ、削減がどのように機能するかを理解します。
DW

8
n2×n2

8
@ChakrapaniNRao問題Yのブラックボックスを使用して問題Xを解決する方法を求めています。それは文字通り削減を求めています。それが「削減」の意味です。そして、この答えが説明するように、あなたのイエス/ノーの質問に対する答えはイエスです。
デビッドリチャービー

2
@SolomonUcko、まあ、いや、必ずしもそうではありません。質問は次のとおりです。Sudokuソルバーがあれば、それを使用してTSPを解決できますか?答えはイエスです、できます。方法を説明します。これにより、数独ソルバーが数独を解くのと同じくらい速くTSPを解くことができます。数独ソルバーが多項式時間で実行される場合、これは多項式時間でTSPを解く方法を提供します。数独ソルバーが準指数時間で実行されている場合、これは準指数時間でTSPを解く方法を提供します。等々。
DW

26

実際、一般的な数独ソルバーを使用してTSPのインスタンスを解くことができ、このソルバーが多項式時間を要する場合、プロセス全体も同様になります(複雑な用語では、TSPから数独への多項式時間の削減があります)。これは、数独がNP完全であり、TSPがNPにあるためです。しかし、この分野では通常そうであるように、削減の詳細を確認することは特に効果的ではありません。あなたがしたい場合は、数独にラテン広場完了から、単純な削減使って、それをつなぎ合わせることができ、ここで、ラテン平方完成に均一な三部グラフを三角測量の削減、ここで、三角測量の3SATからの減少こちらを、および3SAT問題としてのTSPの定式化。ただし、数独からTSPへの還元の背後にある考え方を理解したい場合は、クックの定理(SATがNP完全であることを示す)と3SATからのいくつかの単純な還元(例:3次元マッチング)を勉強した方が良いと思いますまた、TSP-数独削減は同じ種類のものであるが、より長く、より厄介なものであるという知識に満足しています。

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