¿Cómo saber si un cubo de Rubik tiene solución?

¿Cómo puedo determinar si cierto cubo de Rubik , que se encuentra en cierto estado, es solucionable? Por "cierto estado" podría significar que el cubo ha sido desmontado y vuelto a montar. Y en mi experiencia, si no lo juntas de la manera correcta, es posible que el cubo no se pueda resolver.

Una forma de comprobar si hay 3 × 3 × 3 cubo sería genial. Para cubos de cualquier tamaño, ¡increíble!

Una forma muy sencilla sería aplicar un algoritmo conocido para resolverlo hasta llegar a un punto en el que es "obvio" que no se puede continuar.
Bueno, la literatura sobre el tema nos dice que hay doce conjuntos diferentes de configuraciones, y no se puede pasar de uno a otro sin desarmar el cubo. Se muestran por consideraciones de paridad, por lo que girar un cubo de una sola esquina crea un cubo irresoluble (hay tres orientaciones para un cubo de esquina). Los cubos de borde dan un factor similar de 2, y la consideración de paridad de que cada movimiento del cubo da una permutación uniforme (el movimiento básico es un producto de dos ciclos de 4 en bordes y esquinas respectivamente). Por lo tanto, debe medir estos cambios de paridad frente a un caso base.
Eche un vistazo a emba.uvm.edu/~snapp/teaching/cs32/lectures/rubik.pdf , a partir de la página 38. Puede responder a su pregunta.
@Gerry: ese texto brinda una forma de definir invariantes de orientación (sin mencionar que esta es solo una de las muchas formas de definirlos), pero es vago, si no es que incorrecto, en el invariante posicional. Dice: "Cada secuencia de operaciones siempre mueve un múltiplo de 4 piezas. Por lo tanto, es imposible intercambiar solo dos esquinas o solo dos bordes". Pero el número de piezas se movió. modificación 4 no es un invariante; las rotaciones sucesivas de los lados adyacentes pueden mover exactamente una pieza a su posición y, por lo tanto, provocar que se mueva un número impar de piezas.
O más elementalmente (en relación con el argumento de @joriki), hay combinaciones bien conocidas que permutan cíclicamente exactamente 3 piezas y dejan el resto del cubo sin cambios.
Historia divertida: una vez le compré a mi hermano un cubo de Rubik para su cumpleaños. Antes de dárselo, saqué una esquina, la giré 120°, la volví a colocar y revolví el cubo. Esto le habría sido útil.
@joriki, gracias. No lo había leído lo suficientemente de cerca como para detectar los problemas que señalas.

Respuestas (2)

Para un cubo de 3 × 3 × 3, hay tres condiciones diferentes para verificar, generalmente descompuestas como "paridad de permutación", "paridad de borde" y "paridad de esquina".

(Matemáticamente, el grupo que describe todas las formas de desarmar y armar el cubo tiene como subgrupo normal al grupo de movimientos legales, y el grupo cociente es C 2 × C 2 × C 3 , por lo que es natural agrupar el cheque en tres partes. En principio, debería haber formas equivalentes de tratar con la C 2 × C 2 factor, pero las paridades global y de borde son tan naturales que buscar las otras descomposiciones no parece valer la pena).

Imaginamos que los ejes del huso (y por lo tanto los cubos centrales) permanecen fijos en el espacio: girar todo el cubo es trivial e ignorable.

Paridad de permutación : Esto rechaza la mitad de todas las configuraciones. En este paso, ignora en qué dirección se gira cada uno de los cubitos y solo mira dónde ha terminado. De esta forma, cada manera de ensamblar el cubo corresponde a alguna permutación particular de los 20 cubos no centrales. Cada permutación legal es una permutación par (porque cada cuarto de vuelta es producto de dos 4 ciclos y, por lo tanto, es par). Por otro lado, es bien sabido que se puede lograr cualquier permutación uniforme, siempre que no intente intercambiar bordes con esquinas.

Para verificar si una permutación dada es par, simplemente escriba la permutación (es decir, la función desde "dónde está el cubo " hasta "dónde debería estar") y calcule su signo mediante cualquier método estándar, por ejemplo, contando inversiones o desentrañando su estructura cíclica.

Para la paridad de bordes y esquinas, olvidamos temporalmente la diferencia entre los colores opuestos en el cubo; digamos, llamamos tanto blanco como amarillo. X , tanto de verde como de azul Y y tanto de rojo como de naranja Z .

Paridad de esquina : Esto rechaza 2/3 de todas las configuraciones, y se puede definir de la siguiente manera: Como tenemos colores opuestos unificados, cada esquina tiene los colores X , Y y Z . Digamos que una esquina está "orientada correctamente" para su posición instantánea si su X lado está al lado de un X centro. (Esto trata el X par de colores especialmente; el Y y Z los lados pueden o no alinearse con centros coincidentes). Ahora, para cualquier forma de ensamblar el cubo, considere cuántos giros de 120 ° en el sentido de las agujas del reloj de una esquina en su lugar se necesitarían para orientar todas las esquinas "correctamente" sin moverlas. Si este número es un múltiplo de 3 , la configuración pasa la prueba de paridad de esquina. (Es fácil ver que un cuarto de vuelta de un X cara mantiene este número sin cambios, y solo un poco más complejo que un cuarto de vuelta de Y o Z lo cambia por un múltiplo de 3 ).

Paridad de borde : Esto rechaza la mitad de todas las configuraciones. Se puede calcular de la misma manera que la paridad de las esquinas, excepto que la definición de "orientación correcta" para un borde es un poco más complicada. Se puede tomar, por ejemplo:

  • Un borde con un X lado está orientado correctamente si el X lado está al lado de un X centro o si el borde está en la capa intermedia y se orienta correctamente por un cuarto de vuelta de la Y (pero no Z ) cara en la que se encuentra.

  • A Y Z borde está orientado correctamente, ya sea si se encuentra entre un Y y un Z centro en la forma obviamente coincidente, o si su Z lado está al lado de un X centro.

Ahora se puede comprobar que un cuarto de vuelta de un X o Y cara no cambia si cualquier borde está orientado correctamente o no, mientras que un Z un cuarto de vuelta cambia cada uno de los cuatro bordes que mueve de correcto a incorrecto o viceversa. Por lo tanto, cada movimiento legal cambia el número de bordes orientados correctamente en una cantidad uniforme. Así que debemos rechazar cualquier forma de armar el cubo que termine con un número impar de aristas mal orientadas.

Aunque no es inmediatamente obvio, estas tres pruebas rechazarán cualquier configuración que no se pueda resolver.


La comprobación de paridad de esquinas se traslada a cubos más grandes sin cambios, pero las otras dos pruebas no siempre se pueden aplicar directamente a cubos más grandes. Para un cubo de 4×4×4 con piezas centrales indistinguibles, la verificación de paridad de las esquinas es la única verificación; cualquier cosa que la satisfaga puede ser resuelta. Para un cubo de 5×5×5, el 3×3×3 virtual formado por esquinas, centros medios y bordes medios debe ser resoluble de acuerdo con las reglas de 3×3×3, y resulta que las piezas restantes siempre se pueden resolver , suponiendo nuevamente que los centros son indistinguibles. Creo que los cubos más grandes siguen el patrón de 4×4×4 y 5×5×5 .

Hay comprobaciones de paridad especiales para aplicar a los supercubos (donde importa la orientación y/o permutación de las piezas centrales del mismo color principal); No recuerdo de antemano cómo funcionan.

La regularidad en las tareas que describe es útil para una evaluación por computadora, pero no se requiere matemáticamente; cualquier tarea de Z 2 a piezas de borde y ranuras de borde y cualquier asignación orientada consistentemente desde Z 3 a piezas de esquina y ranuras de esquina servirán.
No lo sabía, pero lo noté en su respuesta (de alguna manera no recibí una alerta de nuevas respuestas mientras escribía, o habría sido considerablemente menos detallado aquí).
+1 Bien hecho, Henning. AFAICT Utilicé exactamente el mismo método para describir la paridad de las esquinas en mi página del cubo de Rubik (solo en finlandés, así que no me molestaré con el enlace; la página es antigua de todos modos :-). La palabra paridad me sugiere que el cheque tiene dos valores, mientras que aquí tiene tres valores. ¡No importa! ¡Cosas interesantes sobre 4x4x4 y superiores! No sabía que estos eran los únicos controles (aunque una vez tuve un 4x4x4 y un 5x5x5 que funcionaban, pero no eran muy duraderos).
@Jyriki: Estoy de acuerdo con la paridad, pero no se me ocurrió una palabra mejor. ¿Triplicidad? Las propiedades 4 × 4 × 4 y 5 × 5 × 5 siguen porque puedo transponer dos cubos de borde (bordes externos en el 5 × 5 × 5) sin perturbar los centros o las esquinas, lo que junto con la conjugación genera la totalidad S 24 de piezas de borde. Los propios centros se resuelven fácilmente desde cualquier punto de partida porque las piezas son intercambiables en grupos de 4.
¡Gracias por explicarlo en un inglés sencillo! Estoy un poco confundido con la permutación/paridad posicional. Se supone que debo calcular la suma y debería ser divisible por cuatro, ¿verdad? (no solo incluso). Si intercambio 2 bordes o esquinas adyacentes, sería una permutación uniforme, ¿verdad? pero el cubo no será solucionable.
@Mel: cuando se habla de permutaciones, "par" es un término técnico que no es equivalente a "divisible por 2". Consulte la paridad de una permutación en Wikipedia. Intercambiar solo dos piezas es el ejemplo más simple de una permutación extraña . Se supone que (en una de las muchas formas equivalentes de pensarlo) debes contar el número de intercambios , no el número de piezas afectadas. La permutación es uniforme si se puede crear utilizando un número par de intercambios.
@HenningMakholm Perdón por molestar... No había leído la palabra cubo desmantelado ...
Puede haber un problema con su método de "paridad de permutación". Para demostrarlo, intercambie YR y WR de modo que se mantenga la paridad de borde. Como se trata de 1 intercambio (número impar de intercambios), debería fallar la prueba de paridad de permutación. Sin embargo, usando tus pistas, dado que la distancia es de 2 por 2 cubos fuera de lugar, no puede fallar. Su sugerencia de "olvidamos temporalmente la diferencia entre colores opuestos" implica una confusión similar a la de los intercambios de caras opuestas. Probé esto en varios solucionadores de cubos en línea y ninguno de ellos lo detectó correctamente, por lo que parece que es común estropearlo. ¿Algun consejo?
@VoidStar: Henning nunca dijo nada sobre contar cubos "fuera de lugar" para la paridad de permutación. El "método estándar" para calcular el signo de una permutación a la que se hace referencia es contar cuántos intercambios de dos elementos en la permutación se necesitarían para deshacerla por completo. Si esa cuenta es impar, es una permutación impar, si es par, es una permutación par.
Para Edge Parity, creo que una mejor manera de definir la "orientación correcta" es que un cubo está correctamente orientado si ambos lados coinciden con los centros adyacentes o ninguno de los lados coincide con la cara adyacente. Está mal orientado cuando solo un lado coincide con el centro adyacente. La ventaja de esta definición es que, en todos los casos, un cuarto de vuelta de una cara invertirá los cuatro bordes, lo que facilita ver que el recuento de caras correctamente orientadas siempre debe ser uniforme.

Como se explica en Wikipedia , las operaciones que puede realizar sin desmontar el cubo conducen a 12 diferentes clases de equivalencia; desea saber si el estado actual del cubo está en la misma clase que el estado resuelto. Una forma de hacerlo es usar invariantes que caractericen las clases.

Como se discutió en los comentarios en la respuesta del ejemplo (ahora eliminado), los invariantes se descomponen en un Z 2 orientación del borde invariante, un Z 3 orientación de la esquina invariante y una Z 2 invariante posicional.

Para el invariante de la orientación del borde, asigne arbitrariamente los elementos de Z 2 a las dos caras de cada ranura de borde ya las dos caras de cada pieza de borde; entonces el invariante es la paridad del número de coincidencias entre las asignaciones de las piezas de borde y las asignaciones de las ranuras de borde en las que se encuentran. Si saca una pieza de borde y la inserta al revés, cambia el invariante. Por otro lado, si giras un lado (la única operación que puedes realizar sin desmontar el cubo), la suma de los cuatro cambios que induces es el cambio que obtendrías por girar una pieza 2 π , por lo que esta operación no cambia el invariante. Por supuesto, querrá elegir una tarea que sea fácil de manejar sistemáticamente en una computadora, pero cualquier tarea servirá.

Asimismo, para el invariante de la orientación de la esquina, asigne arbitrariamente los elementos de Z 3 , digamos, en el sentido de las agujas del reloj, a las tres caras de cada ranura de esquina ya las tres caras de cada pieza de esquina; entonces el invariante es el elemento de Z 3 que se obtiene sumando todas las diferencias (en Z 3 ) entre las asignaciones de las piezas de las esquinas y las asignaciones de las ranuras de las esquinas en las que se encuentran. Por razones análogas a las anteriores, esta invariante cambia si saca una pieza de la esquina y la inserta con otra orientación, pero no cambia si dar la vuelta a un lado.

El invariante posicional es solo la paridad de la permutación de todas las piezas, piezas de borde y piezas de esquina juntas, sin tener en cuenta la orientación. Si intercambia dos piezas de esquina o dos piezas de borde, cambia la paridad; en cambio, si volteas un lado, aplicas un 4 -ciclo a las piezas de borde y un 4 -ciclo a las piezas de la esquina, por lo que la paridad de la permutación general no cambia.