viernes, 25 de julio de 2025

Cross & Crown


En este post vamos a seguir analizando puzzles n-arios. En las entradas anteriores empecé con la serie de los puzzlesbinarios que incluía los aros chinos y demás variantes y ahora quiero centrarme en Cross & Crown, un puzzle quinario (5-ario).

Para empezar, contar que este puzzle apareció en el registro de patentes de Massachusetts en 1912. Por lo tanto se supone que la idea original se la debemos enteramente a la persona que la registró: Louis S. Burbank.

US1071874A - Puzzle. - Google Patents

Lo que no tengo todavía claro es quién y en qué momento lo bautizó como Cross & Crown, ya que en la patente no veo que aparezca ese nombre. (Si alguien conoce el origen del nombre, agradecería esa información).

En la página de puzzles de Rob vemos el ejemplar en metal que fue usado como modelo para que se volviera a fabricar y se comercializase este juego tan interesante. Según cuenta Rob, en la IPP32 se llevó ese puzzle para enseñárselo a Goetz Schwandtner. Goetz lo resolvió y ya desconozco el resto de detalles que llevaron a Michel van Ipenburg a actualizar el puzzle que finalmente fue construido por Robrecht Louage. Y no solo lo pusieron de nuevo en circulación, sino que crearon una generalización de mayor nivel que es Cross and Crown 7  (7-ario). De modo que muchas gracias a los cinco responsables de que tengamos estos dos puzzles.

 (Espero haber sido fiel a la información que he leído en las páginas:

Rob's Puzzle Page - Mazes and Other Route Finding Puzzles      y     

Jerry's Mechanical Puzzle & Brain Teaser Collection: Cross & Crown 2013  )

 

Supongo que con las fotografías de las páginas anteriores y la descripción de las piezas que puede verse en los detalles de la patente, no es necesario decir mucho más de la mecánica del juego. Aunque sí que me gustaría centrarme un poco más en su análisis y cómo podemos escribir los pasos para llegar a detallar los 5^4=54= 625 pasos necesarios para resolverlo.

En el modelo que yo tengo se pueden quitar los cuatro “tornillos” que unen las dos piezas de este puzle. Se agradece porque en cualquier momento podemos resetear el puzzle. Y también así fue como pude sacar un dibujo más exacto de los cuatro caminos en zigzas para poder medir mejor los ángulos.

Como se ve en las fotografías, cada uno de los cuatro “caminos” tiene forma de zigzag. Estos zigzags tienen cinco tramos circulares (niveles) y otros cuatro radiales que van permitiendo a los tornillos ir hacia el exterior. Estos tornillos están abrazando el disco superior a la pieza en forma de cruz que hay debajo. De manera que el giro de los cuatro tornillos está sincronizado.

Por eso es clave analizar los ángulos de cada uno de esos tramos circulares ya que el giro del aspa estará limitado por los ángulos a los que puede llegar cada uno de los tornillos en cada momento. Esta limitación se dará cuando ese tornillo llegue al extremo del zigzag. Además, un tornillo puede ser el responsable de limitar el giro del aspa en un sentido y puede que sea otro tornillo diferente el que limite el giro en el otro sentido. Por tanto es clave en qué nivel está cada tornillo para ver los movimientos que podrán hacerse.

En un principio todos los tornillos están en el nivel más cercano al centro (nivel 0). Desde esa posición inicial giramos el aspa hacia la izquierda y hay uno de los tornillos que llega primero al final de su recorrido (lo llamaremos “a”). Como todos los tornillos tienen que acabar en el exterior del disco, hay que conseguir llevarlos todos hasta un nivel superior. Pero habrá que hacerlo poco a poco.



Si el tornillo  a  lo subimos del nivel 0 al 1, entonces seguimos sin poder girar más a la izquierda, pero habrán cambiado los límites en que podemos girar el aspa. Ahora podremos girar a la derecha hasta el extremos de nivel 1 para a (que es menos de lo que se podía en la posición inicial). Pero al llevar a a ese punto podemos subirlo de nuevo al nivel 2. Con esto cambian de nuevo los límites de giro y ahora sí podremos girar más hacia la izquierda de lo que nos limitaba el tornillo  a  en el nivel cero.






En este momento, al girar a la izquierda será el tornillo b el que llegue al tope en el nivel cero y podrá subir al nivel 1. Ahora pensaríamos que pasará algo parecido a lo que hicimos con el tornillo a (nos gustaría subirlo al nivel 2).  Pero el  b  no puede subir todavía al nivel 2 porque el tornillo a no nos permite girar lo suficiente a la derecha. Con lo cual hay que bajar de nuevo el tornillo a del 2 al 1 y luego al 0. Así, podremos girar a la derecha lo suficiente para que  b  suba hasta el nivel 2…



Supongo que más o menos se va entendiendo en qué consiste el puzzle. Cada tornillo tiene limitados los ángulos en los que se puede mover en cada nivel de modo que para subir o bajar cada uno de los cuatro tornillos es fundamental dónde se encuentran los otros para que no limiten sus movimientos de subida o de bajada (según lo que se necesite).

Explicado parece muy complicado, pero con el juego en las manos no lo es tanto ya que le pasa lo mismo que a los aros chinos y a sus equivalentes: En cada momento sólo tenemos dos movimientos posibles, y uno de ellos es volver atrás. De modo que para resolverlo lo más importante es que no nos confundamos y que no acabemos dando marcha atrás (cosa que es extremadamente fácil que suceda al ser circular y tener tantos pasos).

Hemos dicho que este juego tiene 5^4 pasos, aunque en realidad son el doble de movimientos si contamos los giros del aspa (que, por cierto, siempre van alternando el sentido de giro). Hemos contado los pasos según los tramos circulares en que se encuentren los tornillos. Vamos a generar un código donde se indique dónde está cada tornillo y de ese modo podremos anotar todos los movimientos. Una buena notación es fundamental para tener la secuencia completa de la solución y llegar a entenderla.


Notación y Código Gray

La notación que usaremos para cada posición será con un código de 4 cifras, una por cada tornillo. Los tornillos se nombran a, el primero que hace tope desde la posición inicial. b sería el que se encuentra a su derecha y que sería el siguiente en hacer tope en el nivel cero. Y así seguiríamos c el siguiente y d el último (que quedará a la izquierda de a).

Los valores que anotaremos para cada tornillo será el nivel en que se encuentre, siendo el nivel 0 el más cercano al centro y el nivel 4 el más exterior. Así,  dcba representará con números la posición de cada tornillo. Y de este modo, los movimientos descritos anteriormente con demasiado texto serían:

0000
0001
0002
0012
0011
0010
0020

Como podemos ver, eso tiene pinta de un código Gray, ya que sólo cambia un dígito en cada paso (si no sabes lo que son puedes mirar mis dos post anteriores). Además es reflejado y ternario, o por lo menos eso parece en el principio. Pongamos de ejemplo cómo son los códigos Gray ternarios reflejados de 1, 2, 3 y 4 dígitos:


Con un solo dígito sería el orden de numeración normal: 

A

0

1

2

Para dos dígitos lo hacemos colocando a la derecha el código anterior junto al cero, su reflejado junto al 1, etc.

AA

00

01

02

12

11

10

20

21

22

 

Para tres dígitos colocamos los 9 códigos de secuencia AA junto al 0, luego sus reflejados junto al 1 y de nuevo el reflejado del reflejado (el AA) junto al 3:

AAA

000

001

002

012

011

010

020

021

022

122

121

120

110

111

112

102

101

100

200

201

202

212

211

210

220

221

222

 

Y por último igual con cuatro dígitos: (Aunque creo que se entiende: se lee por columnas de izquierda a derecha)

AAAA

 

 

0000

1222

2000

0001

1221

2001

0002

1220

2002

0012

1210

2012

0011

1211

2011

0010

1212

2010

0020

1202

2020

0021

1201

2021

0022

1200

2022

0122

1100

2122

0121

1101

2121

0120

1102

2120

0110

1112

2110

0111

1111

2111

0112

1110

2112

0102

1120

2102

0101

1121

2101

0100

1122

2100

0200

1022

2200

0201

1021

2201

0202

1020

2202

0212

1010

2212

0211

1011

2211

0210

1012

2210

0220

1002

2220

0221

1001

2221

0222

1000

2222

 

Se puede comprobar que los códigos de la última tabla (AAAA) representan las primeras 81 (=3^4) posiciones del puzzle en su camino hacia la solución óptima. Pero para entender la lógica de los movimientos que siguen tenemos que hacer algunos cambios.

Se supone que el puzzle es quinario es decir, que supuestamente tendríamos que usar códigos desde 0 a 4 (cinco dígitos). Pero por ahora sólo hemos usado un código ternario. La clave estará en usar códigos Gray ternarios de varias cifras (como los anteriores) “anidados” del siguiente modo.

 

Dos Gray ternarios anidados = Gray Quinario (3+3-1=5)

En la tabla del Gray ternario con 4 dígitos (la última) en lugar de usar los números 0,1 y 2 podríamos haber usado tres símbolos consecutivos como pueden ser las letras A, B, C. Y puesto que entendemos el orden, seguiría siendo un código Gray pero ahora con letras en lugar de números. Si después sustituimos B por el dígito 3 y en lugar de C ponemos el dígito 4 nos quedaría el siguiente código:

****

 

 

AAAA

3444

4AAA

AAA3

3443

4AA3

AAA4

344A

4AA4

AA34

343A

4A34

AA33

3433

4A33

AA3A

3434

4A3A

AA4A

34A4

4A4A

AA43

34A3

4A43

AA44

34AA

4A44

A344

33AA

4344

A343

33A3

4343

A34A

33A4

434A

A33A

3334

433A

A333

3333

4333

A334

333A

4334

A3A4

334A

43A4

A3A3

3343

43A3

A3AA

3344

43AA

A4AA

3A44

44AA

A4A3

3A43

44A3

A4A4

3A4A

44A4

A434

3A3A

4434

A433

3A33

4433

A43A

3A34

443A

A44A

3AA4

444A

A443

3AA3

4443

A444

3AAA

4444

 

La tabla anterior nos sirve de “mapa” (lo llamaremos ****) para poder escribir la secuencia completa de las 5^4=256 posiciones del puzzle que será un Código Gray Quinario. Lo que hay que hacer ahora es “sustituir” las “A”  de ese "mapa" por los códigos ternarios con dígitos del 0 al 2 que hemos detallado para una, dos, tres y cuatro cifras en las tablas ternarias anteriores (tablas A, AA, AAA y AAAA) del siguiente modo:

Cada código de la tabla **** será sustituido por tantos códigos como resulten de cambiar todas las A’s que tenga el mencionado código de **** por la secuencia completa de gray ternario correspondiente a 1, 2, 3 ó 4 dígitos (según el número de A’s que tenga ese código). Esa secuencia ternaria habrá que sustituirla en orden creciente o decreciente según cómo termine la sustitución anterior para respetar que sólo cambie un dígito. Lo vemos con ejemplos:

El primer código de la tabla **** es AAAA y por eso, en lugar de ese código tendremos que poner la tabla AAAA completa. Como ya habíamos visto son los 81 primeros movimientos del puzzle.

El siguiente elemento de la tabla **** es AAA3. Por lo tanto tendremos que insertar donde están las A's los 27 códigos del gray ternario de 3 dígitos (tabla AAA). Pero ahora en orden inverso ya que el último código que teníamos antes era 2222 y sólo tiene que cambiar uno de los dígitos para pasar al siguiente.

Así la solución del juego continúa a partir de la posición 82 con:

Pos

AAA3

82

2223

83

2213

84

2203

85

2103

86

2113

87

2123

88

2023

89

2013

90

2003

91

1003

92

1013

93

1023

94

1123

95

1113

96

1103

97

1203

98

1213

99

1223

100

0223

101

0213

102

0203

103

0103

104

0113

105

0123

106

0023

107

0013

108

0003

 

A Continuación volvemos a mirar la tabla **** y vemos que el siguiente código es AAA4 y habrá que insertar en su lugar otros 27 códigos de la tabla AAA (ahora en orden “creciente”) y respetando la posición ocupada por el 4 (como antes hemos hecho con el 3).

De esta forma seguiremos luego con AA34 y AA33  pero usando en ambos casos los 9 dígitos de la tabla AA (cada vez será en un orden distinto, ya que vemos que siempre van alternando ese orden).

 Y para el siguiente código de **** que sería AA3A se hace también con la secuencia de tres dígitos ternarios. Es decir, hay que “ignorar el 3” que hay intercalado entre las A’s (aunque lo respetamos en su posición) para insertar los 27 códigos ternarios correspondientes.

 

Dejo aquí un archivo Excel para que se vean detallados todos los pasos de la solución.

 Excel con solución completa de C&C5

 

Estudio de la forma del puzzle (ángulos)

Como es evidente, el juego está dividido en cuatro cuadrantes, y en cada uno hay un “camino” en forma de ranura. En esos cuatro caminos, que tendremos que ir recorriendo “simultáneamente”, lo importante son los ángulos que cada tornillo nos permita girar la cruz o aspa de la capa inferior.

Para tener una referencia, en cada cuadrante elegimos como origen para medir los ángulos la línea que une el centro del juego con el punto inicial de ese cuadrante (el extremo del camino más cercano al centro). Midiendo los ángulos hasta los extremos de cada zigzag (dado el grosor de la ranura esto no es muy preciso) y luego ordenando los valores obtenidos, tenemos que hay 18 ángulos diferentes. Numerados del 0 al 17 y ordenados en la siguiente tabla nos describen el juego:

D

C

B

A

0 – 12

0 – 11

0 – 10

0 – 9

5 – 12

6 – 11

7 – 10

8 – 9

5 – 16

6 – 15

7 – 14

8 – 13

1 – 16

2 – 15

3 – 14

4 – 13

1 – 17

2 – 17

3 – 17

4 – 17

 

En la primera fila están representados los “ángulos” (no su medida, sino su ordinal) entre los que se pueden mover cada uno de los tornillos, y por lo tanto la cruz inferior a la que van unidos. He representado, como en el código gray, a la derecha el primer tornillo que podremos mover a un nivel superior. 

Recordamos que al principio todos los tornillos están en el nivel 0 (primera fila de la tabla) y por lo tanto el “a” es el primero que nos va a limitar los movimientos al llegar al extremo (al llegar al 9º ángulo). Pero lo movemos a otro círculo más alejado (bajamos mentalmente en la tabla en ese tornillo). Así ahora estamos limitados a movernos entre el 8º y el 9º ángulo. Pero sacando “a” de a otro círculo más exterior podremos movernos entre el 8º y el 13º. Así permitimos que el tornillo “b” pase a otro nivel superior …Y así podemos ver todas las limitaciones en cada momento en el puzzle. Aunque es muy tedioso ir revisando toda la solución con esta tabla, espero que permita entender un poco mejor cómo funciona el juego (sobre todo a los que no lo tengan en mano).

Si sólo miramos los números izquierdos de cada casilla de la tabla anterior vemos claramente la regularidad que siguen dentro de la tabla (Y análogamente con los de la derecha). Además vemos que es fácilmente generalizable: podemos añadir más zigzags (Spoiler: De hecho esa es la generalización de Cross&Crown 7)

 

Variantes 

Lo siguiente que se me ocurrió cuando escribí esa tabla con los ordinales de los ángulos es que el juego se podía introducir en Burrtools transformando el disco en un rectángulo: y así lo hice. Al hacerlo comprobé que, el número de movimientos y su secuencia coincide exactamente con lo descrito hasta aquí.


Poco después, buscando indagar más en este puzzle, encontré en la página de Jerry Loo mencionada al principio un artículo de Goetz Schwandtner sobre el juego “Kugellager” de Jean-Claude Constantin (dejo aquí el enlace a ese artículo: Kugellager.pdf). Y por supuesto, busqué la fuente original de dicho artículo y encontré la página de Goetz con una colección impresionante de puzzles de este tipo (dejo el enlace que lleva a todos sus contenidos: Goetz' homepage   y otro en lace que lleva a los puzzles del tipo de los aros chinos, donde incluye Kugellager y Cross and Crown Compendium of Chinese-Rings-Like puzzles )

Como puede verse en el artículo citado de Goetz, el puzzle Kugellager es igual que el que yo introduje en BurrTools. Como es lógico cambia un poco las proporciones al no tener las limitaciones de cubos unitarios que pone el programa y además estaría intercambiado la izquierda y la derecha. Por lo tanto el juego de Jean-Claude Constantin totalmente equivalente a Cross and Crown. Aunque como señala Goetz en su artículo en el apartado 18, no hay nada que pruebe o indique que Kugellager esté basado en Cross and Crown. Supongo que puede ser un caso más de convergencia creativa.

 

Una vez que había visto que podía crear un modelo en Burrtools para resolver este juego, se me ocurrió que se podrían variar las distribuciones de los ángulos en los zigzas del juego. La mayor parte de esos cambios supongo que no tendrán mucho interés, pero yo me propuse buscar una distribución que necesitara para resolverse un código Gray Quinario Reflejado puro. Es decir, que no usara el artificio de anidar dos códigos ternarios. Para conseguir esto generé la siguiente tabla con los ordinales de los ángulos. Similar a la que puse antes para Cross&Crown pero con una lógica diferente.

D'

C'

B'

A'

0 – 15

0 – 13

0 – 11

0 – 9

2 – 15

4 – 13

6 – 11

8 – 9

2 – 16

4 – 14

6 – 12

8 – 10

1 – 16

3 – 14

5 – 12

7 – 10

1 – 17

3 – 17

5 – 17

7 – 17

 

Esta variación del juego tiene la “belleza matemática” de que lleva asociado un código gray quinario reflejado puro. Pero no es una buena opción como puzzle ya que es bastante monótono al necesitar que el primer tornillo (el de la derecha) se tenga que mover siempre 5 veces seguidas (entre los extremos interior y exterior del puzzle). Se rinde demasiado fácil a nuestra intuición y sería más aburrido que el original.


Cross and Crown 7 

La otra variación ya mencionada es añadir un zigzag más (dos niveles más). Y eso es lo que hizo  Michel van Ipenburg (según indica Goetz) al diseñar Cross and Crown 7.



Como ya hemos visto en detalle el funcionamiento del puzzle original, ahora pasamos directamente a analizar los ordinales de los ángulos que se usan en esta generalización:

D

C

B

A

0 – 16

0 – 15

0 – 14

0 – 13

9 – 16

10 – 15

11 – 14

12 – 13

9 – 20

10 – 19

11 – 18

12 – 17

5 – 20

6 – 19

7 – 18

8 – 17

5 – 24

6 – 23

7 – 22

8 – 21

1 – 24

2 – 23

3 – 22

4 – 21

1 – 25

2 – 25

3 – 25

4 – 25

 Y el número de pasos que se necesitarían para resolverlo es de 7^4=2401.


Para encontrar la secuencia completa de los pasos a seguir podemos hacer lo mismo que hicimos antes. Lo único es que ahora hay que “anidar” en un código gray ternario el código quinario que obtuvimos para C&C5 y sus versiones con 3, 2 ó 1 dígito. Del siguiente modo:

Si recordamos la tabla **** que procedía de un Gray ternario reflejado con ABC en el que antes sustituíamos B=3 y C=4. De forma análoga, pero ahora habría que hacer B=5 y C=6. Quedando una tabla equivalente a **** que llamaremos &&&&:

&&&&

 

 

AAAA

5666

6AAA

AAA5

5665

6AA5

AAA6

566A

6AA6

AA56

565A

6A56

AA55

5655

6A55

AA5A

5656

6A5A

AA6A

56A6

6A6A

AA65

56A5

6A65

AA66

56AA

6A66

A566

55AA

6566

A565

55A5

6565

A56A

55A6

656A

A55A

5556

655A

A555

5555

6555

A556

555A

6556

A5A6

556A

65A6

A5A5

5565

65A5

A5AA

5566

65AA

A6AA

5A66

66AA

A6A5

5A65

66A5

A6A6

5A6A

66A6

A656

5A5A

6656

A655

5A55

6655

A65A

5A56

665A

A66A

5AA6

666A

A665

5AA5

6665

A666

5AAA

6666

 

Y procedemos como en el caso anterior sustituyendo las A’s por el código gray quinario correspondiente según el número de A’s que tengamos que sustituir:

En el primer caso AAAA lo sustituimos por la secuencia de 625 códigos enumerados para C&C5. Y para sustituir en AAA5 por el código quinario de 3 dígitos podemos ahorrar tiempo si usamos los últimos 125 códigos de la lista de 4 dígitos (de la solución de C&C5). Ya que en esa lista los 125 últimos códigos son todos de la forma 4AAA y quitando el 4 queda ordenado el gray quinario de tres dígitos. Igualmente, cuando necesitemos sustituir los de dos dígitos también podemos usar los últimos 25 de esa lista (que serán 44AA). Y los más fáciles son los de un dígito, ya que son correlativos según la numeración habitual.

Excel con solución completa de C&C7

Observa que al anidar dos Gray ternarios obteníamos otro de orden cinco (3+3-1=5) y ahora al anidar un quinario en un ternario obtenemos un Gray de orden 7 (3+5-1=7). Estos órdenes de complejidad de los dos juegos son exactos tanto por el hecho de usar en su notación 5 o 7 dígitos diferentes como en el número de pasos que son necesarios. En ambos casos se recorren los respectivos códigos Gray completos y se generan 5^4  o 7^4 pasos.

 

Ampliación a niveles superiores 

En teoría, este puzzle se puede seguir ampliando con más círculos concéntricos, aunque materialmente será cada vez más complicado. No sólo por el elevadísimo número de movimientos necesarios para resolverlo sino porque para cada zigzag sólo disponemos de 90º en los que colocarlo. Y si nos fijamos en los ordinales de los ángulos analizados para C&C7 vemos que hemos necesitado 25 ángulos diferentes (dejando fuera del 0). De modo que cada vez un ángulo y el siguiente de ese ordinal tendrán una diferencia menor. Esto junto a las pequeñas imperfecciones de fabricación que son inevitables, el ancho necesario para la ranura y cierto margen de tolerancia que habrá que respetar haría que algunas veces podamos (físicamente) hacer movimientos que según la idea del juego no se deberían poder hacer. De hecho, en mi ejemplar de C&C7 hay algunos puntos en los que me ha pasado esto cuando lo estaba resolviendo: he podido mover de forma fortuita tornillos en otro orden consiguiendo así atajos que no tendrían que existir.

 


Por fin llego al final. Soy consciente de que estos post quedan un poco pesados y que a los aficionados no matemáticos tal vez no les interese tanto detalle. Pero a mí me parece muy curioso y me veo en la obligación de comunicar mis análisis, aúnque acabe siendo cansino. Supongo que algunos lo habréis leído saltando lo que halláis considerado oportuno (y bien que lo veo).

(Espero no haber cometido muchos errores tipográficos con tantos códigos, avisadme de los que localicéis)

Que nadie se asuste: sólo tengo en mente otro post de este tipo de puzzles y ya cambiaremos de tercio.

No hay comentarios:

Publicar un comentario