23 votos

Estrategia para resolver el puzzle "Luces apagadas"

Luces apagadas es un rompecabezas basado en una cuadrícula en la que cada celda tiene dos estados: encendido/apagado. Puedes intercambiar el estado de cualquier celda, pero cuando lo haces, las celdas adyacentes (horizontal o verticalmente) también se intercambian. Dada la cuadrícula inicial con estados aleatorios, el objetivo es poner todas las celdas en estado de apagado.

Sin embargo, nunca he podido desarrollar una estrategia de cómo resolver (a mano) este tipo de rompecabezas. Normalmente acabo cambiando las celdas al azar. ¿Qué tipos de estrategia existen para resolver este juego?

Hay muchas variaciones de este rompecabezas, pero sólo me interesa el clásico.

Este puzzle está disponible en varios tamaños de cuadrícula. Es deseable, pero no obligatorio, que las estrategias propuestas funcionen en todos los tamaños de cuadrícula.

Mi estrategia habitual (y defectuosa) es intentar limpiar fila tras fila, de arriba a abajo. Por desgracia, acabo siendo incapaz de limpiar la última fila, y entonces empiezo a intercambiar celdas al azar, o simplemente ragequit en conjunto.


Existe una implementación de código abierto y multiplataforma llamada flip como parte de Colección de puzzles portátiles de Simon Tatham .

10 votos

Sinceramente, esto parece más adecuado para el sitio de Matemáticas que para nosotros.

0 votos

Gah, estaba a punto de apuntarte a esa implementación de Lights Out para más información. Es capaz de darte una solución para cualquier configuración válida que puedas inventar.

1 votos

@StrixVaria -- He pensado lo mismo. Esto es gametheory, creo.

19voto

Simon Gillbee Puntos 366

El método que voy a explicar técnicamente funciona para cualquier tamaño de cuadrícula, pero requiere unos conocimientos que no sé determinar desde cero. Si quieres hacer alguna búsqueda en internet relacionada con ello, el método se conoce generalmente como "perseguir las luces" o "perseguir las luces".

Empieza pulsando los botones de la segunda fila correspondientes a las casillas iluminadas de la fila superior, luego los botones de la tercera fila correspondientes a las casillas iluminadas de la segunda fila, etc. Esto es exactamente lo que ya estabas haciendo, perseguir las luces hasta la fila inferior, que es de donde viene el nombre.

Ahora, como sabes, la parte complicada viene cuando tienes una cuadrícula que está en blanco excepto la fila inferior. En este punto, la forma de finalizarlo es pulsar algunos botones específicos de la primera fila correspondientes a las celdas iluminadas de la fila inferior, y luego perseguir las luces desde la parte superior de nuevo. Si has pulsado los botones correctos de la primera fila, cuando completes la segunda persecución, el puzzle estará resuelto.

Por lo que sé, hay que Sólo sé qué botones pulsar en la fila superior para que se correspondan con un patrón específico que quedó en la fila inferior después de la persecución inicial. Si puedes encontrar un método para determinar los botones correctos que hay que pulsar en la parte superior, probablemente puedas utilizar un método muy similar para generalizar esto a cualquier tamaño de cuadrícula. Sin embargo, no conozco un método para esto, así que lo dejaré como ejercicio para el lector.

Para la versión clásica de 5x5 del rompecabezas, resulta que sólo hay 7 patrones posibles en la fila inferior después de la persecución inicial, así que sólo voy a enumerar los 7 patrones posibles y los correspondientes botones de la primera fila que hay que pulsar para cada uno. Los botones están numerados de izquierda a derecha.

|--------------------+-----------------|
| Left on bottom row | Push on top row |
|--------------------+-----------------|
| 1, 2, 3            |               2 |
| 1, 2, 4, 5         |               3 |
| 1, 3, 4            |               5 |
| 1, 5               |            1, 2 |
| 2, 3, 5            |               1 |
| 2, 4               |            1, 4 |
| 3, 4, 5            |               4 |
|--------------------+-----------------|

Probablemente se puedan encontrar en línea tablas de consulta similares para los demás tamaños.

2 votos

Desde que llegué a esta es esa solución, tengo una manera de determinar esta tabla: 1. probar individualmente cada lugar de la fila superior y ver a qué se propaga. 2. Como estas soluciones se apilan, puedes entonces combinarlas (podrías usarlas como filas en una eliminación gaussiana, por ejemplo) para resolver la ecuación de álgebra lineal correspondiente a la solución del conjunto que necesitas. Como ejemplo (aunque no es útil; tu tabla ya tiene las soluciones mínimas), [1,5] se resuelve con (1,2), y [2,4] se resuelve con (1,4) (de la tabla). Por lo tanto, [1,2,4,5] se resuelve con (2,4).

12voto

Jax Puntos 1877

No tengo una estrategia, pero aquí hay algunos datos sobre el tablero 5×5:

  • El orden no cuenta. Hacer clic en una baldosa A, luego hacer clic en una baldosa B es exactamente lo mismo que hacer clic en la baldosa B, luego hacer clic en la baldosa A - o hacer clic en la baldosa A, luego en la baldosa B, luego en la baldosa A otra vez, luego tal vez voltear alguna otra baldosa, luego la baldosa B.
    En resumen, un azulejo es o no es parte de la solución (un conjunto desordenado de fichas que debes cambiar). Ir en círculos intentando los mismos movimientos una y otra vez no te lleva a ninguna parte.

    1 unlit cell, 11 moves away.
    Tan cerca y tan lejos

  • Menos no es más. Intentar minimizar la cantidad de celdas iluminadas/no iluminadas puede ser contraproducente (véase la imagen anterior). En su lugar, debes intentar llevar el juego a una configuración que puedas reconocer y resolver de memoria.

  • Los juegos simétricos tienen soluciones simétricas. Tenlo en cuenta: refleja tus movimientos y la complejidad del juego bajará considerablemente.

  • Las soluciones no son únicas, y el azulejo central nunca es necesario. Aunque puede facilitar la resolución de un rompecabezas, es aparece que todos los juegos resolubles pueden ser resueltos sin la ficha central.

6 votos

"Los juegos simétricos tienen soluciones simétricas" me recuerda a esto: Un profesor de matemáticas entra en su aula y encuentra un cubo vacío y su mesa en llamas. Analiza la situación, chasquea los dedos y coge el cubo. El profesor lo llena de agua y apaga su pupitre. Al día siguiente, el mismo profesor de matemáticas entra y encuentra su mesa en llamas de nuevo excepto que esta vez, el cubo ya tiene agua. Piensa un poco y luego da una patada al cubo, vaciando su contenido, reduciendo así el problema a uno que ya había resuelto. El profesor llena el cubo de agua y salva su mesa.

0 votos

@Raven - Interesante variación del ingeniero/físico/matemático broma

0 votos

@badp Discrepo de que los juegos simétricos tengan soluciones simétricas. No tiene ninguna base en la realidad (testigo del último teorema de Fermat). Lights Out no tiene una solución simétrica. Mira orion.math.iastate.edu:80/burkardt/puzzles/

5voto

Brian Rogers Puntos 12160

La siguiente solución funciona para cada cuadrícula m × n:

Piensa en la cuadrícula dada como un vector en un espacio vectorial de m × n dimensiones. Cada valor es 1 (si la luz está encendida) o 0 (si la luz está apagada). Ahora puedes pensar en cada empuje de celda como un vector en este espacio vectorial. Como puedes empujar m x n celdas diferentes, tienes m x n vectores diferentes. Si cambian algo en una celda, el valor es 1, sino 0.

Como ha mencionado badp, sólo es interesante si hay que pulsar un botón o no. No hace falta mirar el orden, ni pulsar un botón más de una vez. Así que tienes una ecuación

vector para su cuadrícula = a_1 x vector de celda1 + a_2 x vector de celda_2 + ... a_mn x vector de celda_mn a_1, a_2, ..., a_mn es 0 o 1.

Como tienes m x n variables (a_1 ... a_mn) y m x n ecuaciones (las filas de los vectores) puedes resolverlo con Eliminación gaussiana .

Si es usted alemán, quizá le interese leer " Tarea 2, 30º Concurso Nacional de Informática "

3voto

PaddingtonBear Puntos 11

Jugando con diferentes tamaños de juego encontré algunas cosas que despertaron mi curiosidad.

En primer lugar, el caso 4 x 4 es trivial: persigue los cuadrados iluminados y se resuelve en la primera pasada. Los casos de 2 x 2 y 3 x 3 son (curiosamente) menos triviales, pero no exactamente difíciles.

En segundo lugar, el caso de 9 x 9 es casi trivial. Si numeramos las columnas del 1 al 9 (de izquierda a derecha en mi cabeza, pero cualquiera de las dos está bien, por supuesto), entonces sólo hay dos resultados después de la primera persecución: o bien se resuelve a la primera (como el caso de 4 x 4) o, alternativamente, las casillas iluminadas en la fila inferior son 1, 3, 5, 7, 9 y si ahora haces clic en esas casillas en la fila superior y las persigues, se resuelve.

El caso de 7 x 7 parece ceder a una estrategia muy simple que me llevó una docena de juegos para detectar. La primera persecución acaba con todo tipo de configuraciones diferentes en la línea de fondo, demasiadas para catalogarlas de forma sensata. Sin embargo, después de esa primera persecución, puedo elegir de forma fiable la línea superior de la siguiente manera: para cada casilla i de la fila inferior que esté iluminada hay que hacer clic en las casillas de la fila superior i-1, i , i+1. Puedes hacer clic en ellas según esa regla o escribirla para toda la fila y luego sólo hacer clic en las casillas que aparecen un número impar de veces - lo mismo pero en papel. Después de eso persigue las casillas y el trabajo está hecho. Está claro que si la casilla 1 o la 7 están encendidas, los resultados son 1,2 o 6,7, ya que no hay 0 ni 8. Sigue funcionando.

En este punto he probado esta estrategia en algunas otras dimensiones, 6, 8, 11, 12, 16 - y no funciona en ellos por lo que es peculiar al caso de 7 x 7 o tal vez la estrategia de 7 x 7 es un caso especial de un método más general.

-1voto

Dan O'Huiginn Puntos 23

He comprobado satisfactoriamente que ninguna de las soluciones dadas aquí son válidas. De hecho, hay 5x5 casos que son totalmente irresolubles. A continuación te explico cómo puedes comprobarlo tú mismo: Coge una baraja de cartas y reparte una matriz usando cartas rojas para indicar una luz encendida y cartas negras para indicar luces apagadas. Reparte una matriz del tamaño que quieras y luego prueba la técnica que se indica aquí. He probado con una matriz de 5x5 y me ha salido una fila inferior que NO coincide con la que se ha publicado aquí. Eso significa que la matriz de 5x5 es irresoluble usando el algoritmo de "seguir las luces". Otro sitio afirma que la matriz de 6x6 es siempre resoluble. De nuevo, utilizando el método descrito anteriormente - repartiendo cartas para crear la matriz y utilizando el algoritmo "sigue las luces", encontré varias matrices de 6x6 que no eran resolubles utilizando esta técnica. Puedes poner todas las matemáticas que quieras pero en la práctica, LAS SOLUCIONES DADAS AQUÍ NO FUNCIONAN PARA TODAS LAS MATRICES.

Esto se debe a que sólo el 25% de los juegos son resolubles. Los que son resolubles lo serán con ese método.

3 votos

¿Dices que una estrategia no es válida porque no te permite resolver puzles irresolubles? Es bueno dejar claro que algunas configuraciones de apagado de luces son irresolubles - y por lo tanto no son rompecabezas válidos de apagado de luces. Pero es de suponer que las técnicas propuestas para resolver rompecabezas de luces apagadas están pensadas para rompecabezas válidos (es decir, resolubles).

JugonesTop.com

Jugonestop es una comunidad para amantes del gaming. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X