Problema de reconfiguración de "serpiente"


13

Mientras escribía una pequeña publicación sobre la complejidad de los videojuegos Nibbler y Snake ; Descubrí que ambos pueden modelarse como problemas de reconfiguración en gráficos planos; y parece poco probable que tales problemas no hayan sido bien estudiados en el área de planificación del movimiento (imagine, por ejemplo, una cadena de carros o robots vinculados). Los juegos son bien conocidos, sin embargo, esta es una breve descripción del modelo de reconfiguración relacionado:

PROBLEMA DE LA SERPIENTE

Entrada : dado un grafo planar , l guijarros p 1 , . . . , P l se colocan en los nodos u 1 , . . . , U l que forman un camino simple. Las piedras representan la serpiente , y la primera p 1 es su cabeza. La cabeza se puede mover de su posición actual a un nodo libre adyacente, y el cuerpo la sigue. Algunos nodos están marcados con un punto; cuando la cabeza alcanza un nodo con un punto, el cuerpo aumentará ensol=(V,mi)lpag1,...,pagltu1,...,tulpag1 guijarros en los siguientes correos movimientos de la cabeza. El punto en el nodo se elimina después del recorrido de la serpiente.mimi

Problema : preguntamos si la serpiente se puede mover a lo largo del gráfico y alcanzar una configuración objetivo donde la configuración objetivo es la descripción completa de la posición de la serpiente, es decir, la posición de los guijarros.T

Es fácil demostrar que el problema SNAKE es NP-hard en gráficos planos de grado máximo 3 incluso si no se utilizan puntos y también en gráficos de cuadrícula SÓLIDOS si podemos usar un número arbitrario de puntos. Las cosas se complican en gráficos de cuadrícula sólida sin puntos (está relacionado con otro problema abierto).

Me gustaría saber si el problema se ha estudiado con otro nombre.
y, en particular, si hay una prueba de que está en NP ...

Editar: el problema resultó ser completo para PSPACE incluso en gráficos planos y el resultado parece muy interesante, por lo que queda por descubrir si es un problema nuevo y si se conocen resultados al respecto.

ingrese la descripción de la imagen aquí
Un ejemplo simple (los guijarros se muestran en verde, la cabeza de la serpiente es P1).


1
nortePAGnortePAGminortePAG

¿Puede proporcionar una definición mejor y clara para la configuración de destino? Por ejemplo, ¿qué quiere decir con descripción completa de la posición de la serpiente?
Saeed

@Saeed: la configuración objetivo es simplemente las posiciones finales de los guijarros (es decir, la serpiente). Agregaré una figura para aclarar el problema.
Marzio De Biasi

Su pregunta fue lo suficientemente clara, pero confundí la terminología en mi comentario. Debería leer "puntos" en todas partes en lugar de "guijarros".
Tom van der Zanden

@TomvanderZanden: ok gracias, estoy de acuerdo contigo (mira también mi comentario a la respuesta de Zimmux). Escribí "... con o sin puntos ..." para decir que son irrelevantes; pero no estaba lo suficientemente claro; entonces edité la pregunta y la hice más explícita.
Marzio De Biasi

Respuestas:


8

Mover una serpiente de una posición a otra es PSPACE completo. Snake es trivial en PSPACE. Proporcionamos una reducción de dureza PSPACE de la lógica de restricción no determinista de Hearn.

Lógica de restricción no determinista

12223132NCL gadgets

Serpiente

En nuestra construcción, la cabeza de la serpiente perseguirá su cola a una pequeña distancia y se verá obligada a repetir el mismo ciclo con modificaciones menores. Incorporamos cada borde del gráfico de restricción como en la figura (los bordes se muestran en rojo), donde indicamos la posición de la serpiente por líneas gruesas. Un borde tiene dos lados (vértices) y la serpiente toma la ruta central en el vértice al que se dirige el borde. Revertir un borde

Para revertir un borde, la serpiente primero despeja la ruta central y luego toma la ruta central una vez que su cabeza alcanza el vértice opuesto.

2

Serpiente y Serpiente o

Finalmente, las líneas negras de todos los dispositivos de borde están conectadas para formar un solo ciclo, por lo que la cabeza de la serpiente persigue su cola. Si entre dos dispositivos de borde, hacemos que el camino negro sea lo suficientemente largo, la serpiente siempre debe atravesar los caminos negros en el mismo orden cíclico.

Para mostrar que los trazados negros siempre se pueden construir de manera plana, considere un subárbol de expansión (bordes gruesos en la figura a continuación) del gráfico de restricción. Luego podemos hacer que los bordes negros sigan este árbol como se ilustra a continuación, dando como resultado un gráfico plano.

Subárbol que abarca Ciclo plano

La posición de destino de la serpiente puede derivarse de la misma transformación. Por lo tanto, la reconfiguración de una serpiente es PSPACE completa, incluso en gráficos planos.


¡Excelente! :-) :-) :-)
Marzio De Biasi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.