Decidabilidad del laberinto fractal

17

Un laberinto fractal es un laberinto que contiene copias de sí mismo. Por ejemplo, el siguiente de Mark JP Wolf de este artículo :

Comience en el MENOS y diríjase al PLUS. Cuando ingrese una copia más pequeña del laberinto, asegúrese de registrar el nombre de la letra de esa copia, ya que tendrá que dejar esta copia al salir. Debe salir de cada copia anidada del laberinto en el que ha ingresado, dejando en el orden inverso en que las ingresó (por ejemplo: ingrese A, ingrese B, ingrese C, salga C, salga B, salga A). Piense en ello como una serie de cajas anidadas. Si no hay una ruta de salida que abandone la copia anidada, ha llegado a un callejón sin salida. Se ha agregado color para aclarar los caminos, pero solo es decorativo. Laberinto Fractal

Si existe una solución, la búsqueda de amplitud debe encontrar una solución. Sin embargo, supongamos que no hay solución para el laberinto, entonces nuestro programa de búsqueda se ejecutaría para siempre yendo más y más profundo.

Mi pregunta es: dado un laberinto fractal, ¿cómo podemos determinar si tiene una solución o no?

O, alternativamente, para un laberinto fractal de un tamaño dado (número de entradas / salidas por copia), ¿hay un límite en la longitud de la solución más corta? (si existiera tal límite, podríamos buscar de manera exhaustiva solo esa profundidad)

Nick Alger
fuente
Después de leer las preguntas frecuentes, no creo que esto pertenezca. Probablemente no sea una pregunta teórica de ciencias de la computación a nivel de investigación. Lamento publicar en el lugar equivocado. ¿Alguien podría recomendar el foro adecuado para hacer esta pregunta y / o moverla allí?
Nick Alger
Pensé en publicar en math.stackexchange ya que participo allí, pero me pareció un poco demasiado algoritmo. No sabía que hay un intercambio de pila de informática. Si los moderadores quieren moverlo a cualquiera de esos lugares, no me importaría.
Nick Alger
3
No es obvio para mí que esto esté fuera de tema aquí ... obviamente, las preguntas fuera de tema generalmente reciben más votos negativos que votos positivos
Joe
77
¿No puedes representar cualquier laberinto fractal como un autómata pushdown, donde la pila corresponde a la secuencia de submazes en la que estás? Entonces, la cuestión de la solubilidad se convertiría en el problema del vacío para los lenguajes libres de contexto, lo cual es decidible.
Peter Shor

Respuestas:

8

Un algoritmo informal rápido para demostrar que el problema es decidible:

  • supongamos que hay entradas / salidas I 1 ,n ;I1,...In
  • construya un gráfico donde cada I i , el M I N U S y el P LGIiMINUS sean nodos, y reemplace cada laberinto anidado M j con unsubgrafo K n (gráfico completo); agregue los bordes entre I i , M I N U S , P L U S , M j I k según el laberinto; mantener "externo" M jPLUSMjKnIi,MINUS,PLUS,MjIkdeMjcomo un subgrafo completo;MjIiMjIkbordes distintos de los bordes "internos" correspondientes IiIkMj
  • enumerar todas las rutas de MENOS a MÁS en (evitando ciclos);G
  • si encuentra una ruta que no atraviesa una copia anidada, entonces es una solución; de lo contrario, expanda cada recorrido "interno" de los laberintos anidados de cada ruta:Mj

Suponga que una ruta en la primera enumeración es , entonces la ruta es una solución válida si hay una ruta desde I iI j y de I kI h en el laberinto original (gráfico G ).METROyonorteUSUNyoyoUNyojsiyoksiyohPAGLUSyoyoyojyokyohsol

Entonces debemos expandir el yB que kUNyoyoUNyojrecorridosB I h enumerando todos los caminos de I i a I k y de I k a Isiyoksiyohyoyoyokyok en G .yohsol

Se detectan bucles infinitos cuando enumeramos todas las rutas de a I kyoyoyok en una expansión de una ruta que en una etapa anterior ya contenía para algunos submaze M...METROyoyoMETROyok...METRO (sólo hay expansiones posibles).norte2

Se encuentra una solución si encontramos una expansión de ruta que contiene solo entradas / salidas ; el laberinto no tiene solución si no podemos ampliar aún más los caminos sin bucles.yoyo

Marzio De Biasi
fuente
¡Guauu! Que idea más inteligente. Creo que esto funciona, pero todavía está un poco confuso en mi mente, así que me tomaré un poco de tiempo para reflexionar antes de aceptar.
Nick Alger
Ok, sí, estoy bastante seguro de que este algoritmo es correcto. Tomando nota del comentario anterior de Peter Shor, me pregunto si podría dar la vuelta a esto para proporcionar una prueba del problema de la capacidad de decidibilidad del vacío del lenguaje sin contexto ... Para un problema de vacío de lenguaje libre de contexto dado, construya un laberinto fractal equivalente, luego aplique este algoritmo.
Nick Alger
@Nick: Un laberinto fractal corresponde a un autómata reversible , donde si puedes hacer una transición de un estado S a un estado T, también puedes hacer la transición de T a S. Debería ser sencillo mostrar que los laberintos fractales son de hecho equivalente a autómatas pushdown reversibles. Hay un teorema que dice que (hasta factores polinomiales) las máquinas de Turing reversibles tienen la misma potencia que las máquinas de Turing normales. No sé si alguien ha estudiado antes los autómatas reversibles, así que no sé si se sabe algo sobre ellos.
Peter Shor
@ Peter: Encontré estos Autómatas de Pushdown reversibles , pero la definición de "reversible" parece diferente. (PD: ¡felicidades por la interpretación simple y limpia de un laberinto fractal como PDA!)
Marzio De Biasi
1
El algoritmo anterior podría extenderse a gráficos dirigidos (laberintos fractales irreversibles), solo tendría que considerar posibles expansiones ( I k2norte2 y I jyokyoj ). yojyok
Nick Alger
1

Esta no es una "respuesta" a mi pregunta, sino un comentario extendido que la gente aquí podría encontrar interesante.

Afirmo que hay una definición natural de "tipo de análisis" de un laberinto y una solución, y difiere de la definición de informática / teoría de gráficos que hemos usado aquí. En particular, puede tener un laberinto fractal que tiene una "solución" bajo la definición de análisis, pero sería declarado insoluble por el algoritmo de Marizio De Biasi y la técnica de autómatas pushdown de Peter Shor.

Definición: Un laberinto es un subconjunto compacto del plano M R 2 que contiene un punto inicial y un punto final s , e M , respectivamente. Una solución es una función continua f : [ 0 , T ] M tal que f ( 0 ) = s y f ( T ) = eMETROMETROR2s,miMETROF:[0 0,T]METROF(0 0)=sF(T)=mi .

Ahora considere la curva de Hilbert :

Hilbert curve gif de wikipedia

Uno podría interpretar esta curva como un "laberinto fractal" con el siguiente diagrama: ingrese la descripción de la imagen aquí

PAG

PAG=UNPAGUN-1siPAGsi-1CPAGC-1rePAGre-1

Ahora podría argumentar que esto no está en el espíritu de los laberintos fractales, ya que la curva de Hilbert llena todo el cuadrado y, por lo tanto, podría dibujar un segmento de línea recta desde el principio hasta el final. Sin embargo, esta objeción se anula fácilmente: simplemente use el diagrama de curva de hilbert incrustado directamente, como se muestra aquí:

ingrese la descripción de la imagen aquí

Esto también contiene una secuencia de caminos continuos uniformemente convergentes que van desde el principio hasta el final, por el mismo argumento utilizado para mostrar la convergencia uniforme de la curva de Hilbert. Sin embargo, es un verdadero "laberinto fractal" en el sentido de que no llena todo el espacio.

Por lo tanto, tenemos un laberinto fractal que se puede resolver mediante la definición analítica, pero no se puede resolver mediante la definición teórica del gráfico.

De todos modos, estoy bastante seguro de que mi lógica es correcta, pero parece contradictorio, por lo que si alguien puede arrojar algo de luz sobre esto, lo agradecería.

Nick Alger
fuente
Un comentario ingenuo: los "submazes" de la curva de Hilbert son más pequeños, por lo que en el "mundo continuo" funciona; en el "mundo discreto" nunca harás un movimiento de "salida" porque continúas ingresando al primer submaze (como un zoom sin fin en la esquina inferior izquierda de la curva de Hilbert). Se parece a las paradojas de Zenón
Marzio De Biasi,
2
PD: Creo que no hay necesidad de una curva fractal: una simple línea horizontal de s a f con un único submaze central (que tiene una sola línea horizontal con un sub-submaze ecc. Ecc.) Lleva a las mismas consideraciones.
Marzio De Biasi
Buen punto. Si haces eso con una caja secundaria de ancho 1/2 colocada en el extremo derecho, no es solo como la paradoja de Zenón, obtienes exactamente la paradoja de Zenos. Después de una consideración adicional, parece que la definición continua no es adecuada para laberintos fractales, ya que hace que casi todos los laberintos fractales puedan resolverse.
Nick Alger
pero es muy adecuado para la meditación del laberinto Zen (Google busca la diferencia entre un laberinto y un laberinto en un contexto de meditación) :-)
Marzio De Biasi