Проблема з конфігурацією "змії"


13

Під час написання невеликого допису про складність відеоігор Nibbler та Snake ; Я виявив, що обидва вони можуть бути змодельовані як проблеми з конфігурацією на плоских графах; і малоймовірно, що подібні проблеми недостатньо вивчені в області планування руху (уявімо, наприклад, ланцюжок зв'язаних вагонів або роботів). Ігри добре відомі, однак це короткий опис відповідної моделі реконфігурації:

ПРОБЛЕМА СНАКУ

Введення : заданий плоский графік , галька розміщується на вузлах які утворюють простий шлях. Галька являє собою змію , а перший - його голова. Голову можна перемістити зі свого поточного положення до сусіднього вільного вузла, а тіло слід за нею. Деякі вузли позначені крапкою; коли голова досягне вузла з крапкою, тіло збільшиться на гальки наступними рухами голови. Крапка на вузлі видаляється після обходу змії.G=(V,E)lp1,...,plu1,...,ulp1ee

Проблема : Ми запитуємо, чи можна змію переміщувати по графіку і досягти цільової конфігурації де цільова конфігурація - повний опис положення змії, тобто положення камінчиків.T

Неважко довести, що проблема SNAKE не є жорсткою на плоских графах максимуму ступеня 3, навіть якщо не використовуються точки, а також на графіках SOLID-сітки, якщо ми можемо використовувати довільну кількість крапок. Речі ускладнюються на графіках суцільної сітки без крапок (це пов'язано з іншою відкритою проблемою).

Мені хотілося б знати, чи проблема була вивчена під іншою назвою.
і, зокрема, якщо є докази того, що він знаходиться в НП ...

Редагувати: проблема виявилася повною для PSPACE навіть на плоских графах, і результат здається дуже цікавим, тому залишається з’ясувати, чи це нова проблема, і чи є відомі результати щодо неї.

введіть тут опис зображення
Простий приклад (галька зображена зеленим кольором, голова змії - P1).


1
Невже проблема в не може мати нічого спільного з тим, чи дозволена галька чи ні: якщо проблема Змії без гальки є в , то це також проблема Змії з галькою, оскільки в якості сертифікату ми можемо вказати в якому порядку точки підбирають, стан змії безпосередньо перед тим, як вона досягне крапки, а в станах після збирання точки. За припущенням, що Проблема зі змією без камінчиків знаходиться в , існує сертифікат, який говорить нам, як робити рухи "між". NPNPeNP
Том ван дер Занден

Чи можете ви надати більш чітке та чітке визначення для цільової конфігурації? наприклад, що ви маєте на увазі під повним описом положення змії?
Саїд

@Saeed: конфігурація цілі - це просто кінцеві положення камінчиків (тобто змія). Я додам цифру, щоб уточнити проблему.
Marzio De Biasi

Ваше запитання було досить чітким, але в коментарі я змішав термінологію. Слід скрізь читати "крапки" замість "камінчиків".
Том ван дер Занден

@TomvanderZanden: добре дякую, я згоден з вами (див. Також мій коментар до відповіді Zimmux). Я написав "... з крапками чи без ...", щоб сказати, що вони не мають значення; але це було недостатньо зрозуміло; тому я відредагував це питання і зробив його більш явним.
Марціо Де Біасі

Відповіді:


8

Переміщення змії з однієї позиції в іншу - завершено PSPACE. Змія тривіально в PSPACE. Ми приводимо зменшення твердості PSPACE з логіки недетермінованого обмеження Hearn.

Недетермінована логіка обмежень

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

Змія

У нашій конструкції голова змії буде переслідувати свій хвіст на деякій невеликій відстані і буде змушена повторювати той же цикл з незначними модифікаціями. Ми вставляємо кожен край графіка обмеження, як на рисунку (краї показані червоним кольором), де товстими лініями позначаємо положення змії. Край має дві сторони (вершини), і змія бере центральний шлях у тій вершині, до якої спрямований край. Зворотний край

Щоб повернути край, змія спочатку очищає центральний шлях, а потім бере центральний шлях, як тільки його голова досягне протилежної вершини.

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

Змія І Змія Або

Нарешті, чорні лінії всіх крайових пристосувань з'єднуються, щоб утворити єдиний цикл, тому голова змії переслідує свій хвіст. Якщо між двома крайовими гаджетами ми робимо чорний шлях достатньо довгим, змія завжди повинна проходити чорні стежки в тому ж циклічному порядку.

Щоб показати, що чорні стежки завжди можуть бути побудовані площинним способом, розглянемо підкреслене підтонкове дерево (товсті краї на малюнку нижче) графіка обмеження. Тоді ми можемо змусити чорні краї слідувати за цим деревом, як показано нижче, в результаті чого вийде плоский графік.

Обширне піддерево Плоский цикл

Цільове положення змії може бути отримане шляхом однакової трансформації. Отже, перенастроювання змії є PSPACE завершеним, навіть на планарних графіках.


Чудово! :-) :-) :-)
Marzio De Biasi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.