Оптимально ли решить n-n × n-кубик Рубика NP-сложный?


38

Рассмотрим очевидное обобщение кубика Рубика . Трудно ли NP вычислить кратчайшую последовательность ходов, которая решает данный зашифрованный куб, или есть алгоритм за полиномиальное время?n×n×n

[Некоторые связанные результаты описаны в моем недавнем сообщении в блоге .]


5
Я предполагаю, что входные данные даны в виде шести n × n сеток, сделанных из {1,…, 6}. Проблема в NP? Существует ли легкая полиномиальная верхняя граница числа ходов в n × n × n-версии кубика Рубика?
Цуёси Ито

1
Спасибо за информацию. Есть ли какая-либо ссылка?
Цуёси Ито

1
Будет ли проблема легче, если ее смягчить до «Учитывая конфигурацию, создайте решение, которое принимает не более Божьего числа (n, n, n) ходов»? Это то, что сделал алгоритм решения Рубика. Они не искали самое короткое, потому что это заняло бы слишком много времени.
Аарон Стерлинг

1
Знаем ли мы, что диаметр достижимого конфигурационного пространства равен ? Θ(n2)
Энди Друкер

1
@ Энди: Хороший вопрос! («Какова функция Бога от n?»)
Джефф

Ответы:



21

В новой работе Демейна, Демейна, Эйзенстата, Любива и Уинслоу достигнут частичный прогресс в этом вопросе - он дает алгоритм за полиномиальное время для оптимального решения кубов и показывает N P -трудность для оптимального решения того, что вы могли бы назвать «частично окрашенными» кубиками. Это также показывает, что пространство конфигурации куба n × n × n имеет диаметр Θ ( n 2 / log n ) .n×O(1)×O(1)NPn×n×nΘ(n2/logn)

Милая!

Один возможный следующий вопрос, который, кажется, предлагает их работа: существует ли фиксированное семейство частично окрашенных кубов, по одному на каждое значение n , такое, что оптимальным решением из данной конфигурации является N P -hard?n×n×nnNP


1
Хорошо, и еще один вопрос: в чем сложность определения того , эквивалентны ли два нестандартных раскраски куба ? (Два случая, чтобы рассмотреть: полное или частичное окрашивание.)n×n×n
Энди Друкер

Хорошо, еще один вопрос, а затем я остановлюсь: существует ли явная последовательность конфигураций, для решения которых требуется ? (В статье используется аргумент подсчета для его нижней границы.)Ω(n2/logn)
Энди Друкер

9

В этом легко может быть ошибка, поэтому, пожалуйста, дайте мне знать, если вы ее обнаружите.

Кажется, что ответ - нет, или, по крайней мере, эта проблема содержится в NP. Причина этого очень проста. Идея состоит в том, чтобы построить из другого вопроса: «Можете ли вы перейти между конфигурацией A и конфигурацией B за S шагов или меньше?»

Ясно, что этот новый вопрос находится в NP, потому что существует алгоритм для решения куба из любой разрешимой конфигурации, и, таким образом, для прохождения через решенное состояние требуется только O ( n 2 ), чтобы перейти между любыми двумя конфигурациями. Так как количество ходов всего полиномиально, набор ходов между двумя конфигурациями может быть использован в качестве свидетеля для этого нового вопроса.O(n2)O(n2)

Теперь, во-первых, если мы выберем конфигурацию B как решенное состояние, у нас возникнет проблема, которая спрашивает, возможно ли решить куб за шагов или меньше, который содержится в NP.S

Теперь давайте выберем другую конфигурацию для B, которую я назову которой требуется n h a r dn 2 шагов. Теперь , если мы спрашиваем, можно ли получить от конфигурации A и B ч а г д в S ' шагов или менее, мы опять имеем проблему NP с последовательностью ходов , как свидетель. Однако, так как мы знаем, что B h a r d требует n h a r dBhardnhardn2BhardSBhardnhardшаги , чтобы решить, мы знаем , что , если это возможно , чтобы перейти между А и в ˙s ' шагов, то он требует , по меньшей мере п ч а г д - S ' шаги , чтобы решить п × п × п куб из конфигурация А.BhardSnhardSn×n×n

Таким образом, у нас есть свидетели как нижней границы шагов и нижней границы шагов S для решения из конфигурации A. Если теперь мы выберем S 0 в качестве минимального числа ходов, необходимых для решения куба, начинающего с конфигурацией A, тогда, если мы выберем нижнюю и верхнюю границы равными (т.е. S = n h a r d - S 0 и S = S 0nhardSSS0S=nhardS0S=S0), то у нас есть свидетель, что это решение является оптимальным (состоит из свидетелей двух проблем NP, связанных с границами).

Наконец, нам нужен способ генерировать . Возможно, нам нужна самая сложная конфигурация, но, поскольку я не знаю, как ее найти, я предлагаю просто повернуть каждую вторую плоскость один раз вокруг оси x, а затем каждую четвертую плоскость (удерживая центральную плоскость фиксированной) один раз ось Z. Я считаю, что это приводит к состоянию, для решения которого требуется O ( n 2 ) шагов.BhardO(n2)

Таким образом, у меня нет полного конструктивного доказательства, но любое оптимальное решение с менее чем , очевидно , имеет свидетельство. К сожалению, конечно, чтобы захватить все возможные конфигурации, вам понадобится n h a r d = число Бога ( n ) .nhardnhard=God's number(n)

РЕДАКТИРОВАТЬ: регулярность конфигурации Superflip делает вероятным, что генерирование для n h a r d = число Бога ( n ) может быть относительно простым (то есть в P).Bhardnhard=God's number(n)


Идеальная идея. Однако это не предполагает, что кратчайший путь между двумя точками, находящимися далеко друг от друга, может быть взят, чтобы пройти любую другую точку. Это верно для точек на сферах (если вы летите с Северного полюса на Южный полюс, вы могли бы также лететь через Таити), но есть ли какая-то причина, по которой это должно быть верно для конфигураций кубиков Рубика?
Питер Шор

@Peter Шора: Привет Питер, я не имел в виду , что проходящие через от А к раствору был самый короткий путь. На самом деле этот подход не должен работать в этом случае. Идея состоит в том, что если для перехода из B h a r d в решенную конфигурацию требуется как минимум n h a r d шагов , то если мы переходим от A к решению через B h a r d, мы должны идти дальше от решенная конфигурация, прежде чем вернуться. (продолжение)BhardnhardBhardABhard
Джо Фитцсимонс

(продолжение) Я предполагаю, что A легче решить, чем (меньше шагов). Поскольку мы знаем, что для решения из B h a r d требуется по крайней мере n h a r d шагов , и мы знаем, что мы можем добраться до B h a r d не более чем за n h a r d шагов от A, то мы имеем п ч г д - S 'S 0п ч г дBhardnhardBhardBhardnhard . Я использовал это, чтобы получить нижнюю границу для S 0 , в то время как решение напрямую дает верхнюю границу для S 0 . nhardSS0nhard+SS0S0
Джо Фицсимонс

2
@Joe: вы меня неправильно поняли. Я думаю, что ваш подход работает хорошо, только если есть относительно короткий путь от B h a r d до решения, которое проходит через A. Я не знаю, верно ли это для куба Рубика (поэтому я не говорю, что ваш подход не работает, просто есть еще кое-что, что нужно доказать). hard
Питер Шор

2
@Joe: не беспокойтесь о размещении полуобдуманных ответов. Я сделал то же самое (и я не единственный). И я не уверен, что такой подход совершенно бесполезен. Я ожидаю, что это не сработает, чтобы показать, что вычисление точного расстояния не является NP-сложным, но, возможно, это могло бы что-то сказать о приближении.
Питер Шор
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.