Чи завершено НП «Хідоку»?


15

Гідоку - це сітка n×n з деякими попередньо заповненими цілими числами від 1 до n2 . Мета - знайти шлях послідовних цілих чисел (від 1 до n2 ) у сітці. Більш конкретно, кожна комірка сітки повинна містити різне ціле число від 1 до n2 а кожна комірка зі значенням zn2 повинна мати сусідню комірку зі значенням z+1 (також може бути діагонально).

Чи важко визначити NP, чи вирішується даний гідоку? Яке зменшення можна використати?

Редагувати: згідно з коментарями, даю невелике уточнення. Дана сітка комірок, деякі з них уже містять значення (цілі числа від 1 до n²). Ми повинні заповнити всі осередки, що залишилися цілими числами від 1 до n2 , так що жодна дві комірки не мають однакового значення і що кожна комірка зі значенням має сусід зі значенням . Тобто, заповнивши комірки, ми повинні знайти шлях . У сітці, яка логічно відвідує кожну клітинку. z + 1 1 , 2 , 3 , , n 2zn²z+11,2,3,,n2

Прикладом хідоку може бути http://www.janko.at/Raetsel/Hidoku/018.c.gif . Вже вирішений Hidoku - це http://diepresse.com/images/uploads/3/f/7/586743/spectrumsommerraetsel_7august_hidoku_schwer_loesung20100810172340.gif , де ви можете побачити шлях, яким я ходив.


1
Інтуїтивно, не замислюючись над цим, це здається політаймовим на перший погляд. Щось на зразок динамічного програмування на допустимі значення ( ) та вершини ( ). Звуки, розв’язні в часі . v 1 , v n O ( n 3 )1,,n2v1,vnO(n3)
Pål GD

Це можна моделювати так само, як графік, з'єднуючи вузли з ребрами, якщо вони є наступниками в . Тоді ви шукаєте шлях до Гамільтона. Відповідно до шляхів Гамільтона в сіткових графах Itai et al. (1982) ця проблема є NP-повною у сітчастих графіках. Це не відразу відповідає вашій проблемі, оскільки ви дозволяєте діагональним з'єднанням, але це погано. N
Рафаель

@Raphael не побудований графік DAG?
Pål GD

Я не бачу, як це DAG. Наскільки я розумію, вхід представляє собою (непрямий) графік сітки (містить також діагональні ребра), а мета - знайти гамільтонів шлях, де вказано положення деяких вузлів на шляху.
Джордж

@George Okey, я трактував питання як пошук максимального шляху збільшення значень у сітці!
Pål GD

Відповіді:


7

Я думаю, що це -комплект: як зауважив Рафаель, цикл Гамільтонів на сітчастих графах із дірками проблема є NP-повною ( Алон Ітай, Крістос Х. Пападімітріу, Джейм Луїз Шварцфітер: Гамільтонові шляхи в графіках сітки. SIAM J. Comput. 11 (4): 676-686 (1982) ).NP

Отож, задавши сітчастий графік з отворами, ви можете легко побудувати еквівалентну гру Hidoku, де початкові фіксовані клітинки заповнюють усі парні діагоналі; порожні непарні діагоналі утворюють непрямий графік, еквівалентний початковому графу сітки G, а в гідоку є рішення, якщо і лише тоді, коли вихідний графік сітки має гамільтонів шлях.GG

введіть тут опис зображення

Рисунок 1: сітчастий графік з отворами та еквівалентною головоломкою Хідоку (сині клітини представляють початкові фіксовані пронумеровані клітини ( 1 - перша, 144 - остання), білі клітини - клітини, які повинен заповнити гравець, фіолетова лінія позначає послідовність початкових фіксованих пронумерованих комірок).12×121144

Допоміжні (заповнені) лінії можна додати до нижньої або правої сторони, щоб зробити його квадратом.

Ще один приклад скорочення від сітчастого графіка до головоломки Хідоку: графік сітки 6x4 вбудований у більшу сітку 13х13; парні діагоналі заповнені фіксованими числами, а решта вільних комірок еквівалентні початковому графіку сітки.

введіть тут опис зображення

Повну картинку з трансформацією можна завантажити тут .

Деякі додаткові замітки для завершення відповіді:

  • проблема також відома як Hidato ; дошка може мати довільну форму (але як узагальнення квадратного випадку вона залишається NP-жорсткою);

  • як правильно свідчить Стівен Стадницький у своїй відповіді, не очевидно, що проблема полягає в NP, якщо початкова частково заповнена сітка не задана як масив цілих чисел, але подається в деякому стислому поданні; однак чітко в NP є, якщо початкова дошка подається з використанням розумного списку представлення цілих чисел;n×n

  • Я думаю, що оригінальні правила гри говорять про те, що рішення повинно бути унікальним ; тому проблема полягає в США (важко для США), і навряд чи буде в NP.

Підводячи підсумок, якщо ми скасуємо унікальне обмеження рішення та вкажемо початкову дошку зі списком цілих чисел, гра буде N P -повною.n2NP


Це не DAG? Чи я повністю зрозумів питання?
Pål GD

@ PålGD: ні, я не думаю, що це DAG, це ненаправлений графік сітки з діагональними ребрами. Гра починається з частково заповненої дошки, і гравець повинен починати з комірки 1 і досягати останнього, роблячи ортогональні або діагональні кроки (але, можливо, я не дуже добре пам’ятаю правила… зараз я це перевіряю)
Vor

1
Але в ньому написано "знайти шлях послідовних цілих чисел".
Pål GD

Можливо, це просто означає, що він не може відвідувати одну і ту ж камеру двічі, і що всі клітини потрібно відвідувати
Vor

1n2

2

n×nΩ(n)nlgn кажучи, що комірка з координатами(xi,yi,wi):xi,yin,win2(xi,yi)wilgn+lgn+lgn2=4lgnO(lgn)Ω(n)o(n)

Ω(n)

(Для обговорення схожих питань дивіться моє запитання про складність короткого Нурикабе на сайті cstheory.SE.)


1
Невказання розміру дошки в одинарному вигляді вважає мене необгрунтованою інтерпретацією.
Девід Ейзенстат

@DavidEisenstat Це не обов'язково природна інтерпретація, але це здається мені цілком правильним.
Стівен Стадницький

@StevenStadnicki: Я погоджуюсь з вами, я зробив аналогічну записку в доказ NP-повноти Бінарної головоломки, яку я нещодавно розмістив на сайті cstheory.stackexchange.com. Хоча неонарське представлення справді не настільки розумне :-). Я додам записку до своєї відповіді. І я також повинен вирішити проблему унікальності рішення; тому що я вважаю, що початкові правила говорять про те, що рішення повинно бути унікальним.
Vor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.