rodoval.com > Heureka > Rompecabezas > ZURC
* * *
* * *
ZURC es un rompecabezas original de Javier Santos con doce piezas cuadradas numeradas que forman una cruz dentro de una cruz mayor. Las piezas se pueden mover en bloques de ocho, desordenándose en el proceso. Una vez mezcladas las piezas el objetivo es restablecer el orden inicial.
Durante su manipulación, el conjunto de piezas pierde temporalmente su forma de cruz, pero para considerar las posiciones de las piezas solo nos fijaremos en los estados con forma de cruz.
Un rompecabezas parecido es Zauberkreuz, inventado por Athanasios Margaritis, que se vendió en 1988 con motivo del 125º aniversario de la Cruz Roja.
Se puede jugar a ZURC sin poseer el juego real con este simulador online en JavaScript. También es útil para estudiar su resolución (y seguir las explicaciones que vienen a continuación).
https://www.instagram.com/kdkube/
Desde la posición inicial hay solo cuatro movimientos básicos posibles, correspondientes a los cuatro extremos de la cruz. Los llamaremos de forma poco original arriba (a), abajo (b), izquierda (i) y derecha (d).
Cuando hay piezas pegadas a uno de los extremos de la cruz se puede hacer un movimiento más largo hacia el otro lado. Aunque sería natural considerar este como un solo movimiento, en este documento (y en el simulador) lo tratamos como dos movimientos independientes. Por ejemplo, después de ejecutar desde la posición inicial ad (véanse imágenes de arriba) podremos llevar de una vez el bloque de piezas horizontal al extremo izquierdo con ii, lo que contaremos como dos movimientos y no uno.
Aunque el diseño de ZURC no permite sacar las piezas, podemos preguntarnos a cuáles de entre todas las posiciones teóricamente posibles podemos llegar, es decir, cuáles de todas las permutaciones de los números 1-12 son resolubles. Imaginemos un rompecabezas a medio camino entre ZURC y JOP-1 que contiene 20 casillas y piezas, como muestra la siguiente imagen.
Usando notación de ciclos, podemos definir el movimiento a como (1 13 19 11 8 4)(2 14 20 12 9 5). Esto significa: llevar la pieza de la casilla 1 a la casilla 13, la de la casilla 13 a la 19, la de la 19 a la 11, la de la 11 a la 8, la de la 8 a la 4 y la de la 4 a la 1. Análogamente el segundo ciclo. Cada ciclo es una permutación impar, pero ambos juntos forman una permutación par. Lo mismo sucede con los otros movimientos básicos y el juego siempre tendrá una posición correspondiente a una permutación de P20 de índice par. Podemos considerar ZURC una versión restringida de este juego en la cual el desplazamiento a lo largo de cada eje y sentido está limitado, impidiendo que se mezclen las piezas 1-12 y las 13-20. De hecho, en la forma estándar de cruz, las piezas adicionales 13-20 estarán en sus casillas de partida. Esto implica que la permutación de las piezas 1-12 es también siempre par. En particular, es imposible intercambiar solo dos piezas.
Aunque los brazos de la cruz fueran de una sola casilla de ancho (u otro número impar de casillas), para recuperar la forma de cruz habría que hacer un número par de movimientos, lo que implicaría una permutación par (un número par de permutaciones impares es una permutación par).
Además, todas las posiciones correspondientes a permutaciones pares de P12 son posibles. Ninguna combinación de movimientos producirá un ciclo de 12 elementos, que es una permutación impar; pero sí es posible obtener una combinación que produce un 11-ciclo. Seguramente se puede encontrar otra más corta, pero esta serie de 88 movimientos simples produce el ciclo ilustrado en la imagen:
dbiaibddaaibiaddbiiadbiadbibdaadbibiaddaib
iaddbbiaaibdbdaiadbbiaaibdbdaiaibdaibdaibd
A su vez, esta secuencia de 28 movimientos produce un 3-ciclo que afecta a tres elementos consecutivos del ciclo anterior:
adbbiaaibdbdai adbbiaaibdbdai
Una vez colocada la pieza 1 en la casilla 1 (lo cual es, obviamente, siempre posible), estos dos ciclos son suficientes para terminar de ordenar cualquier posición correspondiente a una permutación par de P12. Aunque el método es muy ineficiente. Veremos otros mejores.
Siguiendo la terminología que he usado en el simulador, llamaremos macro a una secuencia de movimientos que produce un efecto conocido. Todas las macros empiezan y terminan con las doce piezas en forma de cruz. Las secuencias antes mencionadas son macros. Cada macro tiene una macro inversa que hace los mismos movimientos pero al revés. Cuatro macros sencillas muy importantes para resolver ZURC son las siguientes:
![]() A=bdai |
![]() B=ibda |
![]() C=daib |
![]() D=aibd |
Y sus correspondientes macros inversas son:
![]() A'=dbia |
![]() B'=biad |
![]() C'=adbi |
![]() D'=iadb |
Aunque matemáticamente sería más correcto usar −1 como potencia (por ejemplo, A−1), por comodidad usaremos ' para representar la macro inversa (A'). La macro inversa está formada por los inversos de cada movimiento empezando por el último y terminando por el primero. Por ejemplo, como A=bdai, A'=i'a'd'b'=dbia.
El simulador permite que una macro use otra macro previamente definida, lo que también facilita su escritura. Así, podemos definir E=BC'B'C, cuyo efecto es un doble 3-ciclo:
E=BC'B'C
En función de movimientos simples, E equivale a ibda adbi biad daib, pero BC'B'C es más fácil de escribir y de recordar.
Otra macro útil, que llamaremos F, está ya descrita arriba. La repetimos aquí con una notación más compacta (también su inversa):
![]() F=(adbbiaDA)2 |
![]() F'=(A'D'bdaaib)2 |
Esta macro (que encontré con la ayuda de Javier Santos) combina movimientos simples (uno doble) con dos macros básicas.
Usaremos las macros descritas en el apartado anterior.
Hay que colocarlas de forma conjunta usando, en el último momento una de las macros A, B, A', B'. Por ejemplo, podemos colocar 2 en la casilla 1, 1 en la casilla 3 y ejecutar A. Dependiendo de la localización de las piezas puede ser mejor otra forma (similar), pero siempre fácil.
Se puede hacer de forma parecida a las piezas 1 y 2, sin necesidad de mover estas. Por ejemplo, podemos colocar la 3 en la casilla 7, la 7 en la 11 y ejecutar C. Si al colocar la pieza 3 en la casilla 7, la pieza 7 resulta estar en la casilla 9 (justo en el «agujero» del ciclo correspondiente a D) podemos hacer CD' y ya podemos recolocar 3 en 7 con C' (terminamos con DDC).
Usando D o D' llevamos la pieza 9 a la casilla 10 y ejecutamos la macro E.
Nos queda un subpuzzle circular con un 3-ciclo (macro F), algo similar a lo que describimos al final del apartado «Posiciones posibles» pero mucho más sencillo. Podemos ir colocando las piezas por orden relativo a partir de la 4: 5, 6, 10, 12 y 11.
Consideramos la pieza 4 bien colocada y vamos a poner a su lado (de acuerdo con el orden de las agujas del reloj) la 5. Con sucesivas aplicaciones de D o D' llevamos la pieza 5 a la casilla 12. Si la pieza 4 está en la casilla 10 no hay nada que hacer: la pieza 5 ya está a su lado. Si la pieza 4 está en la casilla 6, ejecutamos D'F y de nuevo estará la pieza 5 junto a la 4. Si la pieza 4 no está ni en la casilla 10 ni en la casilla 5 ejecutamos F' para acercar 5 dos lugares a 4 y repetimos el proceso.
Ya tenemos las piezas 4 y 5 colocadas de forma relativa y vamos a colocar la 6. Procedemos igual que antes, cumpliendo la pieza 5 el papel que antes desempeñaba la pieza 4 y la pieza 6 el papel que antes desempeñaba la pieza 5.
De la misma forma colocamos de forma relativa las piezas 12 y 11. Después de colocar la 11 la 8 también lo estará y bastarán giros D o D' para convertir la colocación relativa en absoluta y terminar de ordenar el rompecabezas.
Este método es una adaptación de uno original de Javier Santos. Usaremos las macros fundamentales A, B, C y D (y sus inversas) más un 3-ciclo que llamaremos G:
![]() G=(ibddaiB'C')2 |
![]() G'=(CBdbiiad)2 |
Este método tiene la ventaja de que el mismo proceso podría servir para colocar todas las piezas, pero tiene la desventaja de que es bastante lento, por lo cual podemos ahorrar tiempo si empezamos colocando las piezas 1, 2, 3 y 7 como hicimos antes.
Colocaremos, una por una, las piezas 4, 5, 6, 8, 9 y 10 (posiblemente no en ese orden). Una vez hecho eso estarán también colocadas 11 y 12. La primera pieza (y tal vez alguna más) la colocamos simplemente ejecutando las veces necesarias B o B'. Para el resto usaremos las macros A, B y G (versiones directas e inversas) como indicamos a continuación.
Para colocar una pieza debe estar en una de las casillas 11 y 12. El proceso para colocarla es:
Si en un momento dado en las casillas 11 y 12 no hay ninguna pieza de las que queremos colocar (y aún no están todas bien colocadas), llevamos de la misma forma que antes una de las piezas que están en 11 o 12 a una casilla donde haya una pieza mal colocada, con lo cual ya tendremos en 11 o 12 una pieza que debemos colocar.