Rozstrzygalność labiryntu fraktalnego

17

Fraktalny labirynt to labirynt, który zawiera swoje kopie. Np. Następujący Mark Mark Wolf z tego artykułu :

Zacznij od MINUS i przejdź do PLUS. Po wprowadzeniu mniejszej kopii labiryntu zapisz jej nazwę literową, ponieważ będziesz musiał pozostawić tę kopię przy wyjściu. Musisz wyjść z każdej zagnieżdżonej kopii labiryntu, w którą wszedłeś, pozostawiając w odwrotnej kolejności, w jakiej je wprowadziłeś (na przykład: wpisz A, wpisz B, wpisz C, wyjdź C, wyjdź B, wyjdź A). Pomyśl o tym jak o serii zagnieżdżonych pudełek. Jeśli nie ma ścieżki wyjścia wychodzącej z zagnieżdżonej kopii, osiągnąłeś ślepy zaułek. Kolor został dodany, aby ścieżki były wyraźniejsze, ale jest tylko dekoracyjny. Fractal Maze

Jeśli istnieje rozwiązanie, pierwsze wyszukiwanie powinno znaleźć rozwiązanie. Załóżmy jednak, że nie ma rozwiązania dla labiryntu - wtedy nasz program wyszukiwania będzie działał wiecznie coraz głębiej.

Moje pytanie brzmi: biorąc pod uwagę labirynt fraktalny, jak możemy ustalić, czy ma rozwiązanie, czy nie?

Lub alternatywnie, czy dla fraktalnego labiryntu o danym rozmiarze (liczba wejść / wyjść na kopię) istnieje ograniczenie długości najkrótszego rozwiązania? (gdyby istniała taka granica, moglibyśmy exaustycznie szukać tylko tak głęboko)

Nick Alger
źródło
Po przeczytaniu FAQ nie wierzę, że to należy. Prawdopodobnie nie jest to teoretyczne pytanie informatyczne na poziomie badań naukowych. Przepraszamy, aby opublikować w niewłaściwym miejscu. Czy ktoś mógłby polecić odpowiednie forum, aby zadać to pytanie i / lub przenieść je tam?
Nick Alger,
Zastanawiałem się nad opublikowaniem na math.stackexchange od czasu, gdy tam uczestniczę, ale wydawało się to trochę zbyt algorytmiczne. Nie wiedziałem, że istnieje wymiana stosów informatycznych. Jeśli moderatorzy chcą przenieść go w którekolwiek z tych miejsc, nie miałbym nic przeciwko.
Nick Alger,
3
Nie jest dla mnie oczywiste, że jest to poza tematem ... oczywiście pytania nie na temat zwykle mają więcej głosów negatywnych niż pozytywnych
Joe
7
Czy nie potrafisz przedstawić żadnego fraktalnego labiryntu jako automatu wypychającego, w którym stos odpowiada sekwencji podrzędnych, w których jesteś? Wtedy pytanie o rozpuszczalność zamieniłoby się w problem pustki dla języków bezkontekstowych, co można rozstrzygnąć.
Peter Shor,

Odpowiedzi:

8

Szybki nieformalny algorytm mający udowodnić, że problem jest rozstrzygalny:

  • załóżmy, że istnieją Wejścia / Wyjścia I 1 , . . . I n ;nI1,...In
  • zbudowania wykresu , gdzie każdy I I The M I N U S i P L U S są węzłami i zastąpić każdą zagnieżdżonej labirynt M j o K n podgrafu (pełne wykres); dodaj krawędzie między I i , M I N U S , P L U S , M j I k zgodnie z labiryntem; zachowaj „zewnętrzny” M j I iM jGIiMINUSPLUSMjKnIi,MINUS,PLUS,MjIk krawędzie różnią się od odpowiednich krawędzi „wewnętrznych”IIIkoM-jjako kompletny podgrafu;MjIiMjIkIiIkMj
  • wylicz wszystkie ścieżki od MINUS do PLUS w (unikanie cykli);G
  • jeśli znajdziesz ścieżkę, która nie przechodzi przez zagnieżdżoną kopię, jest to rozwiązanie; mogłyby rozwijać każdy „wewnętrzne” przechodzenia między zagnieżdżonej labirynty każdej ścieżce:Mj

Załóżmy, że ścieżka w pierwszym wyliczeniu to , wówczas ścieżka jest prawidłowym rozwiązaniem, jeśli istnieje ścieżka od I iI j oraz od I kI h w oryginalnym labiryncie (wykres G ).MINUSAIiAIjBIkBIhPLUSIiIjIkIhG

Więc musimy rozwijać się i B I kB I h przechodzenia przez wyliczając wszystkie ścieżki z I i aby ja k iz ja k do I h w G .AIiAIjBIkBIhIiIkIkIhG

Nieskończone pętle są wykrywane, gdy jesteśmy wyliczając wszystkie ścieżki od do I k w ekspansji ścieżki, która w poprzednim etapie już zawarte . . . M I iM I k. . . dla niektórych submaze M (istnieje tylko n 2 możliwych rozszerzeń).IiIk...MIiMIk...Mn2

Rozwiązanie zostanie znalezione, jeśli znajdziemy rozszerzenie ścieżki, które zawiera tylko wejścia / wyjścia ; labirynt nie ma rozwiązania, jeśli nie możemy dalej rozwijać ścieżek bez pętli.Ii

Marzio De Biasi
źródło
Łał! Co za sprytny pomysł. Myślę, że to działa, ale wciąż jest trochę niewyraźne, więc poświęcę trochę czasu, aby to przemyśleć, zanim zaakceptuję.
Nick Alger,
Ok, całkiem pewny, że ten algorytm jest poprawny. Biorąc pod uwagę powyższy komentarz Petera Shora, zastanawiam się, czy mógłbyś to odwrócić, aby dostarczyć dowód na problem bezkontekstowej pustki językowej ..? Dla danego problemu pustki języka bez kontekstu utwórz równoważny labirynt fraktalny, a następnie zastosuj ten algorytm.
Nick Alger,
@Nick: Fraktalny labirynt odpowiada odwracalnemu automatowi pushdown, w którym jeśli możesz dokonać przejścia ze stanu S do stanu T, możesz również dokonać przejścia z T do S. Powinno być łatwo pokazać, że labirynty fraktalne są w rzeczywistości jest to odpowiednik odwracalnych automatów wypychających. Istnieje twierdzenie, że (do czynników wielomianowych) odwracalne maszyny Turinga mają taką samą moc jak zwykłe maszyny Turinga. Nie wiem, czy ktoś wcześniej sprawdzał odwracalne automaty wypychające, więc nie wiem, czy coś o nich wiadomo.
Peter Shor,
@Peter: Znalazłem te Reversible Pushdown Automata , ale definicja „reversible” wydaje się inna. (Gratulacje dla PS za prostą i czystą interpretację fraktalnego labiryntu jako PDA !!!)
Marzio De Biasi
1
Powyższy algorytm można rozszerzyć na grafy ukierunkowane (nieodwracalne labirynty fraktalne), wystarczy wziąć możliwych rozszerzeń do rozważenia ( I kI j i I jI k ). 2n2IkIj IjIk
Nick Alger,
1

To nie jest „odpowiedź” na moje pytanie, ale raczej obszerny komentarz, który ludzie tutaj mogą uznać za interesujący.

Twierdzę, że istnieje naturalna definicja „labiryntu typu analizy” i rozwiązania, i różni się ona od stosowanej tutaj definicji informatycznej / teoretycznej. W szczególności możesz mieć labirynt fraktalny, który ma „rozwiązanie” pod definicją analizy, ale zostałby uznany za nierozwiązywalny przez algorytm Marizio De Biasi i technikę automatów pushdown Petera Shora.

Definicja: labirynt jest zwarty podzbiór płaszczyzny M R 2 , zawierającej punkt początkowy i punkt końcowy s , e M , odpowiednio. Rozwiązanie jest funkcją ciągłą F : [ 0 , T ] M tak, że f ( 0 ) = e i f ( t ) = E .MMR2s,eMf:[0,T]Mf(0)=sf(T)=e

Rozważmy teraz krzywą Hilberta :

Gif Hilberta z wikipedii

Krzywą tę można interpretować jako „labirynt fraktalny” za pomocą następującego diagramu: wprowadź opis zdjęcia tutaj

P

P=APA1BPB1CPC1DPD1

Teraz możesz argumentować, że nie jest to w duchu fraktalnych labiryntów, ponieważ krzywa Hilberta wypełnia cały kwadrat, a zatem możesz po prostu narysować odcinek linii prostej od początku do końca. Sprzeciw ten można jednak łatwo obejść - wystarczy bezpośrednio osadzić diagram krzywej Hilberta, jak pokazano tutaj:

wprowadź opis zdjęcia tutaj

To także zawiera sekwencję jednakowo zbieżnych ciągłych ścieżek od początku do końca, za pomocą tego samego argumentu użytego do pokazania jednolitej zbieżności krzywej Hilberta. Jest to jednak prawdziwy „fraktalny labirynt” w tym sensie, że nie wypełnia całej przestrzeni.

Mamy więc labirynt fraktalny, który można rozwiązać za pomocą analitycznej definicji, ale nie można rozwiązać za pomocą teoretycznej definicji grafu!!?

W każdym razie jestem pewien, że moja logika jest poprawna, ale wydaje się, że jest to sprzeczne z intuicją, więc jeśli ktokolwiek mógłby rzucić na to trochę światła, byłbym wdzięczny.

Nick Alger
źródło
Naiwny komentarz: „submazes” krzywej Hilberta są mniejsze, więc w „ciągłym świecie” to działa; w „dyskretnym świecie” nigdy nie wykonasz ruchu „wyjścia”, ponieważ nadal wchodzisz do pierwszego submaze (jak niekończące się przybliżenie w lewym dolnym rogu krzywej Hilberta). Przypomina paradoksy Zenona
Marzio De Biasi,
2
PS Myślę, że nie ma potrzeby stosowania krzywej fraktalnej: prosta pozioma linia od s do f z pojedynczą środkową submazą (która ma pojedynczą poziomą linię z sub-subazaze ecc. Ecc.) Prowadzi do tych samych rozważań.
Marzio De Biasi
Słuszna uwaga. Jeśli zrobisz to z podkatalogiem o szerokości 1/2 umieszczonym po prawej stronie, nie będzie to tylko paradoks Zeno, otrzymasz dokładnie paradoks zen. Po dalszych rozważaniach wygląda na to, że ciągła definicja nie jest odpowiednia dla labiryntów fraktalnych, ponieważ sprawia, że ​​prawie każdy labirynt fraktalny jest rozwiązalny.
Nick Alger,
ale dobrze nadaje się do medytacji labiryntu zen (Google wokół różnicy między labiryntem a labiryntem w kontekście medytacji) :-)
Marzio De Biasi