Оптимально вирішити NP-куб n × n × n Рубіка?


38

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

[Деякі пов'язані результати описані в моїй недавній публікації в блозі .]


5
Я здогадуюсь, що вхід подається у вигляді шести n × n сіток з {1,…, 6}. Чи проблема в НП? Чи є легка верхня полінома на кількість ходів у n × n × n версії куба Рубіка?
Tsuyoshi Іто

1
Спасибі за інформацію. Чи є посилання?
Tsuyoshi Ito

1
Чи стає проблемою легше, якщо її розслабити до "Враховуючи конфігурацію, створити рішення, яке займає не більше Божого числа (n, n, n)"? Ось що зробив алгоритм рішення Рубіка. Вони не шукали найкоротшого, бо це зайняло б занадто багато часу.
Аарон Стерлінг

1
Чи знаємо ми, що діаметр доступного конфігураційного простору дорівнює ? Θ(n2)
Енді Друкер

1
@Andy: Приємне запитання! ("Яка функція Божої родини?")
Jeffε

Відповіді:



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

У цьому легко може виникнути помилка, тому, будь ласка, повідомте мене, якщо ви знайдете його.

Здається, що відповідь - ні, або принаймні, що ця проблема міститься в НП. Міркування цього дуже просте. Ідея полягає у створенні іншого питання: "Чи можете ви переходити між конфігурацією A та конфігурацією B кроками S або менше?"

Зрозуміло, що це нове питання є в NP, оскільки існує алгоритм для вирішення куба з будь-якої розв’язуваної конфігурації, і тому, переходячи через вирішений стан, потрібно лише O ( n 2 ) переходити між будь-якими двома конфігураціями. Оскільки існує лише поліноміальна кількість рухів, набір рухів, що проходять між двома конфігураціями, може бути використаний як свідок цього нового питання.O(n2)O(n2)

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

Тепер давайте виберемо іншу конфігурацію для B, яку я називаю яка потребує n h a r dn 2 кроки для вирішення. Тепер, якщо ми запитуємо, чи можна пройти між конфігурацією A і B h a r d на 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), то ми маємо свідчення того, що це рішення є оптимальним (складається з свідків двох проблем НП, пов'язаних із межами).

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

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

EDIT: Регулярність конфігурації Superflip робить мабуть, що генерувати для n h a r d = число Бога ( n ) може бути відносно просто (тобто в P).Bhardnhard=God's number(n)


Акуратна ідея. Однак це не передбачає, що найкоротший шлях між двома точками, що знаходяться далеко один від одного, може пройти через будь-яку іншу точку. Це явно справедливо для точок на сферах (якщо ви летите з Північного полюса на Південний полюс, ви можете також пролетіти шляхом Таїті), але чи є якась причина, що це має бути правдою для конфігурацій кубиків Рубіка?
Пітер Шор

@Peter Shor: Привіт, Петре, я не мав на увазі, що проходження через від A до рішення було найкоротшим шляхом. Насправді такий підхід не повинен працювати в такому випадку. Ідея полягає в тому, що якщо для проходження з 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, то ми маємо n h a r d - S S 0n h a r dBhardnhardBhardBhardnhard . Я використовував це для отримання нижньої межі на S 0 , тоді як розв’язування безпосередньо дає верхню межу на S 0 . nhardSS0nhard+SS0S0
Джо Фіцсімонс

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

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