Розбірливість фрактального лабіринту


17

Фрактальний лабіринт - це лабіринт, який містить копії себе. Наприклад, наступний автор від Марка JP Wolf з цієї статті :

Почніть з МІНУСУ та пройдіться до ПЛЮСу. Коли ви введете меншу копію лабіринту, не забудьте записати назву літери цієї копії, оскільки вам доведеться залишити цю копію на виході. Ви повинні вийти з кожної вкладеної копії лабіринту, який ви ввели, залишаючи в зворотному порядку, в якому ви їх ввели (наприклад: введіть A, введіть B, введіть C, виберіть C, виїз B, виїзд A). Подумайте про це як серію вкладених коробок. Якщо шлях виходу не залишає вкладеної копії, ви досягли тупикової точки. Колір був доданий, щоб зробити шляхи чіткішими, але він лише декоративний. Фрактальний лабіринт

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

Моє запитання: даючи фрактальний лабіринт, як ми можемо визначити, має він рішення чи ні?

Або альтернативно, для фрактального лабіринту заданого розміру (кількість входів / виходів на копію) існує обмеження на довжину найкоротшого рішення? (якби такий зв’язок був, ми могли б наполегливо шукати лише те глибоке)


Прочитавши FAQ, я не вірю, що це належить. Це, мабуть, не теоретичне питання інформатики рівня рівня. Вибачте за публікацію в неправильному місці. Може хтось порекомендує відповідний форум задати це питання та / або перенести його туди?
Нік Алгер


Я розглядав публікацію на math.stackexchange, оскільки беру участь там, але алгоритм здався трохи надто. Я не знав, що існує обмін стеком з інформатики. Якщо модератори хочуть перенести його в будь-яке з цих місць, я б не заперечував.
Нік Алгер

3
Мені не очевидно, що це тут поза темою ... Очевидно, що на теми, що не входять до теми, зазвичай отримують більше голосів, ніж обертів
Джо

7
Чи не можете ви представити будь-який фрактальний лабіринт як автоматичний віджимання, де стек відповідає послідовності субмазів, у яких ви знаходитесь? Тоді питання про розчинність перетвориться на проблему порожнечі для безконтекстних мов, яку можна вирішити.
Пітер Шор

Відповіді:


8

Швидкий неформальний алгоритм для підтвердження вирішення проблеми:

  • Припустимо , що існує входів / виходів I 1 , . . . Я н ;nI1,...In
  • побудуйте графік де кожен I i , M I N U S і P L U S є вузлами, і замініть кожен вкладений лабіринт M j на під n підграф K (повний графік); додайте ребра між I i , M I N U S , P L U S , M j I k відповідно до лабіринту; тримати «екстерн» M j I iM jGIiMINUSPLUSMjKnIi,MINUS,PLUS,MjIk кромок відміну від відповідних «внутрішніх» реберIIIKзMJу вигляді повного подграфа;MjIiMjIkIiIkMj
  • перерахувати всі шляхи від MINUS до PLUS у (уникаючи циклів);G
  • якщо ви знайдете шлях, який не проходить вкладену копію, то це рішення; інакше розгорніть кожен "внутрішній" обхід вкладених лабіринтів кожного шляху:Mj

Припустимо, що шлях у першому перерахуванні - , тоді шлях є правильним рішенням, якщо є шлях з I iI j і від I kI h у початковому лабіринті (графік G ).MINUSAIiAIjBIkBIhPLUSIiIjIkIhG

Таким чином , ми повинні розширити на і B I KB I ч обходів перераховують всі шляхи від I я до I K і від I K до I ч в G .AIiAIjBIkBIhIiIkIkIhG

Нескінченні цикли виявляються , коли ми перераховуючи всі шляхи від до I до в розкладанні шляху , який в попередній стадії вже містяться . . . M I iM I k. . . для деякого підмножини M (існує лише n 2 можливих розширень).IiIk...MIiMIk...Mn2

Рішення знайдеться, якщо ми знайдемо розширення контуру, яке містить лише входи / виходи ; лабіринт не має рішення, якщо ми не зможемо додатково розширити шляхи без циклів.Ii


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

Гаразд, майже впевнений, що цей алгоритм правильний. Помічаючи коментар Петра Шора вище, мені цікаво, чи можете ви це розвернути, щоб надати доказ проблеми безвідмовного розрізнення порожнечі мови ..? Для заданої проблеми з вільною порожнечею мови побудуйте еквівалентний фрактальний лабіринт, а потім застосуйте цей алгоритм.
Нік Алгер

@ Nick: Фрактальний лабіринт відповідає оборотному автомату віджимання, де, якщо ви можете зробити перехід від стану S до стану T, ви також можете зробити перехід від T до S. Це повинно прямо показати, що фрактальні лабіринти є насправді еквівалентні оборотним автоматичним витисканням. Існує теорема, яка говорить про те, що (до поліноміальних факторів) оборотні машини Тьюрінга мають таку ж потужність, як і звичайні машини Тьюрінга. Я не знаю, чи хтось раніше заглядав у оборотні автомати автоматичного витиску, тому я не знаю, чи про них щось відомо.
Пітер Шор

@ Peeter: Я знайшов цю реверсивну Pushdown Automata , але визначення "оборотного" здається іншим. (Вітаю PS за просту і чисту інтерпретацію фрактального лабіринту як КПК !!!)
Marzio De Biasi

1
Наведений вище алгоритм можна було б поширити на спрямовані графіки (незворотні фрактальні лабіринти), у вас просто було б врахувати можливих розширення ( I kI j і I jI k ). 2n2ЯкЯj ЯjЯк
Нік Алгер

1

Це не "відповідь" на моє запитання, а скоріше розширений коментар, який тут може бути цікавим людям.

Я стверджую, що існує природне визначення типу "аналіз" лабіринту та рішення, і воно відрізняється від визначення, яке ми використовували тут, з інформатики / графо-теоретичного визначення. Зокрема, у вас може бути фрактальний лабіринт, який має "рішення" за визначенням аналізу, але був би оголошений нерозв'язним за алгоритмом Марісіо Де Біасі та технікою натискання автоматів Пітера Шора.

Визначення: лабіринт являє собою компактне підмножина площині М R 2 , що містить початкову точку і кінцеву точку з , е М , відповідно. Рішення є безперервною функцією F : [ 0 , T ] M така , що F ( 0 ) = s і е ( Т ) = е .ММR2с,еМf:[0,Т]Мf(0)=сf(Т)=е

Тепер розглянемо криву Гільберта :

Гіф Гільберт кривий з wikipedia

Можна було б інтерпретувати цю криву як "фрактальний лабіринт" із такою схемою: введіть тут опис зображення

П

П=АПА-1БПБ-1СПС-1DПD-1

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

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

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

Таким чином, ми маємо фрактальний лабіринт, який можна вирішити за аналітичним визначенням, але нерозв’язним за теоретичним визначенням графа ..!?

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


Наївний коментар: "підмари" кривої Гільберта менші, тому в "безперервному світі" це працює; у "дискретному світі" ви ніколи не зробите рух "виходу", тому що продовжуєте вводити перший субмаз (як нескінченне збільшення в лівій нижній частині кривої Гільберта). Це нагадує парадокси Зенона
Марціо Де Біасі

2
PS Я думаю, що фрактальної кривої немає необхідності: проста горизонтальна лінія від s до f з єдиним центральним підматом (який має єдину горизонтальну лінію з субматеріалом екз.) Веде до тих же міркувань.
Марціо Де Біасі

Гарна думка. Якщо ви зробите це з підполею шириною 1/2, розміщеною в крайній правій частині, це не так, як парадокс Зенона, ви отримаєте саме парадокс зенону. Після подальшого розгляду виглядає, що суцільне визначення не дуже підходить для фрактальних лабіринтів, оскільки це робить практично кожен фрактальний лабіринт вирішуваним.
Нік Алгер

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