Фрактальный лабиринт - это лабиринт, который содержит копии самого себя. Например, следующий от Mark JP Wolf из этой статьи :
Начните с МИНУС и пройдите в ПЛЮС. Когда вы вводите уменьшенную копию лабиринта, обязательно запишите название буквы этой копии, так как вам придется оставить эту копию на выходе. Вы должны выйти из каждой вложенной копии лабиринта, в который вы вошли, оставив в обратном порядке, в котором вы их ввели (например: введите A, введите B, введите C, выход C, выход B, выход A). Думайте об этом как о серии вложенных блоков. Если нет выходного пути, оставляющего вложенную копию, вы попали в тупик. Цвет был добавлен, чтобы сделать дорожки более четкими, но он только декоративный.
Если решение существует, поиск в ширину должен найти решение. Однако, предположим, что в лабиринте нет решения - тогда наша программа поиска будет работать все глубже и глубже.
Мой вопрос: учитывая фрактальный лабиринт, как мы можем определить, есть ли у него решение или нет?
Или, в качестве альтернативы, для фрактального лабиринта заданного размера (количества входов / выходов на копию) существует ли предел длины кратчайшего решения? (если бы была такая граница, мы могли бы искать только этот глубокий поиск)
источник
Ответы:
Быстрый неформальный алгоритм, чтобы доказать, что проблема разрешима:
Предположим, что путь в первом перечислении имеет вид , тогда путь является правильным решением, если существует путь из I i → I j и от I k → I h в исходном лабиринте (графикMINUS→AIi→AIj→BIk→BIh→PLUS Ii→Ij Ik→Ih ).G
Таким образом , мы должны расширить на и B I K → B I ч обходов перечисляющих все пути от I я до I K и от I K до I ч в G .AIi→AIj BIk→BIh Ii Ik Ik Ih G
Бесконечные циклы обнаруживаются, когда мы перечисляем все пути от до I k в расширении пути, который на предыдущем этапе уже содержался . , , → M I i → M I k → . , , для некоторого подмаза M (есть только n 2 возможных расширений).Ii Ik ...→MIi→MIk→... M n2
Решение будет найдено, если мы найдем расширение пути, которое содержит только входы / выходы ; лабиринт не имеет решения, если мы не сможем расширить пути без петель.Ii
источник
Это не «ответ» на мой вопрос, а скорее расширенный комментарий, который люди здесь могут найти интересным.
Я утверждаю, что существует естественное определение типа анализа и лабиринта и решения, и оно отличается от определения информатики / теории теорий графов, которое мы использовали здесь. В частности, у вас может быть фрактальный лабиринт, который имеет «решение» согласно определению анализа, но будет объявлен неразрешимым алгоритмом Маризио Де Биаси и техникой автоматов Питера Шора.
Определение: лабиринт представляет собой компактное подмножество плоскости М ⊂ R 2 , содержащий начальную точку и конечную точку с , е ∈ М , соответственно. Решение является непрерывной функцией F : [ 0 , T ] → M такая , что F ( 0 ) = s и е ( Т ) = е .M M⊂R2 s,e∈M f:[0,T]→M f(0)=s f(T)=e
Теперь рассмотрим кривую Гильберта :
Эту кривую можно интерпретировать как «фрактальный лабиринт» со следующей диаграммой:
Теперь вы можете утверждать, что это не в духе фрактальных лабиринтов, поскольку кривая Гильберта заполняет весь квадрат, и поэтому вы можете просто нарисовать отрезок прямой линии от начала до конца. Это возражение легко может быть отменено - просто используйте прямое вложение диаграммы Гильберта, как показано здесь:
Это также содержит последовательность равномерно сходящихся непрерывных путей, идущих от начала до конца, по тому же аргументу, который используется для демонстрации равномерной сходимости кривой Гильберта. Однако это настоящий «фрактальный лабиринт» в том смысле, что он не заполняет все пространство.
Таким образом, у нас есть фрактальный лабиринт, который разрешается аналитическим определением, но не решается теоретическим определением графа ..!?
В любом случае, я почти уверен, что моя логика верна, но это кажется нелогичным, поэтому, если кто-то сможет пролить свет на это, я был бы признателен.
источник