Если я могу решить судоку, могу ли я решить задачу коммивояжера (TSP)? Если так, то как?

23

Допустим, есть такая программа, которая, если вы дадите частично заполненную судоку любого размера, даст вам соответствующую заполненную судоку.

Можете ли вы рассматривать эту программу как черный ящик и использовать это для решения TSP? Я имею в виду, есть ли способ представить проблему TSP как частично заполненную судоку, так что, если я дам вам ответ об этой судоку, вы сможете определить решение для TSP за полиномиальное время?

Если да, то как? как вы представляете TSP как частично заполненную судоку и интерпретируете соответствующую заполненную судоку для результата.

Чакрапани Н Рао
источник
1
Эта статья претендует на то, чтобы дать конструктивное сокращение от проблемы судоку до гамильтонова цикла: sciencedirect.com/science/article/pii/S097286001630038X
cwindolf
@ C.Windolf Вопрос задает другое направление. (Действительно, есть удаленный ответ, который сделал ту же ошибку и процитировал ту же статью.)
Дэвид Ричерби

Ответы:

32

Для судоку 9х9 нет. Оно конечно, поэтому может быть решено за раз.О(1)

Но если у вас был решатель для Sudoku, который работал для всех и всех возможных неполных досок и выполнялся за полиномиальное время, то да, это можно было бы использовать для решения TSP за полиномиальное время, как для завершения a Судоку является NP-полной. N2×N2NN2×N2

Доказательство NP-полноты работает, сводя от некоторой NP-полной задачи R к Судоку; тогда, поскольку R является NP-полным, вы можете уменьшить его с TSP до R (что следует из определения NP-полноты); и объединение этих сокращений дает вам возможность использовать решатель судоку для решения TSP.

DW
источник
1
Не могли бы вы объяснить, как? Да, давайте предположим, что у меня есть общий решатель судоку, который действует как черный ящик. Так как вы можете использовать это? Как вы представляете TSP как частично заполненную судоку
Чакрапани Н Рао
2
@ChakrapaniNRao, смотрите обновленный ответ. Да, я понимаю, что это черный ящик. Чтобы проработать детали, найдите доказательство NP-полноты для Судоку и поймите, как работает сокращение.
DW
8
@ChakrapaniNRao Это не дает полного ответа на вопрос, но полный ответ будет смехотворно длинным, наполненным запутанными деталями и не даст вам больше просветления, чем набросок здесь. Возможно, что сокращение некоторой NP- полной задачи до sudoku может быть интересным, но, если доказательство того, что sudoku является NP- полным, не было на самом деле путем сокращения от TSP (маловероятно), ответ все еще будет закончить "и затем соединить эти два сокращения вместе". N2×N2
Дэвид Ричерби
8
@ChakrapaniNRao Вы спрашиваете, как решить проблему X, используя черный ящик для задачи Y. Это буквально просит сокращения. Вот что значит «сокращение». И, как объясняет этот ответ, ответ на ваш вопрос «да / нет» - «да».
Дэвид Ричерби
2
@SolomonUcko, ну нет, не обязательно. Вопросы спрашивают: если у нас есть решатель судоку, можем ли мы использовать его для решения TSP? Ответ - да, мы можем. Я объясняю как. Это даст вам возможность решить TSP примерно так же быстро, как решение судоку решит судоку. Если решатель судоку работает за полиномиальное время, это даст вам возможность решить TSP за полиномиальное время. Если решатель судоку работает за субэкспоненциальное время, это даст вам возможность решить TSP за субэкспоненциальное время. И так далее.
DW
26

Действительно, можно использовать универсальный решатель судоку для решения случаев TSP, и если этот решатель занимает полиномиальное время, то и весь процесс будет таким же (в терминологии сложности, есть сокращение полиномиального времени от TSP до судоку). Это потому, что судоку является NP-полной, а TSP находится в NP. Но, как это обычно бывает в этой области, рассмотрение деталей сокращения не особенно освещает. Если вы хотите, вы можете собрать это вместе, используя простое сокращение от завершения латинского квадрата до Судоку здесь , сокращение от триангуляции однородных трехсторонних графиков до завершения латинского квадрата здесь , сокращение от 3SAT до триангуляции здесьи формулировка TSP как проблемы 3SAT. Однако, если вы хотите понять идею перехода от Судоку к TSP, я думаю, что вам лучше изучить теорему Кука (показывающую, что SAT является NP-полной) и пару простых сокращений с 3SAT (например, до 3-мерного сопоставления). и быть довольным тем, что сокращение TSP-Судоку - это то же самое, но дольше и сложнее.

РМЭЗ
источник