La casilla demoníaca (solución)

La solución que yo he encontrado al problema—es posible que haya otra más sencilla o correcta- se basa en codificar un mensaje a través de las casillas del tablero. En primer lugar, hemos de darnos cuenta que para localizar una casilla en concreto tendríamos que dividir el tablero por la mitad 6 veces, es decir, tendríamos que descartar una de las dos mitades del tablero en 6 ocasiones y seguir dividiendo la otra. Por ejemplo:

tablero_proyeccion_2 8tablero_proyeccion_2 7tablero_proyeccion_2 6tablero_proyeccion_2 5tablero_proyeccion_2 3tablero_proyeccion_2 2      tablero_proyeccion_2

Una forma de dar esta información es mediante un código binario de seis dígitos, donde 0 indica quedarnos con la mitad de arriba o la derecha y 1, abajo o izquierda. En el ejemplo anterior el código sería 010110. Ahora el problema es el método para codificar la información. Al ser binaria, una manera de hacerlo sería dar un 0 si el número de monedas con la cara hacia arriba es par y un 1 si es impar, pero esto no es práctico porque, si bien podemos cambiar este dígito con nuestro único movimiento de moneda, ya no tenemos más posibilidades. De este modo, necesitamos poder codificar más de un dígito: podemos utilizar el número de caras en las casillas negras y en la fila de abajo. Esto es, el primer dígito de nuestra clave será 0 si el número de caras en las casillas negras es par y 1 si es impar, mientras que el segundo dígito será 0 si el número de caras en la fila inferior es par y viceversa. Así podemos escoger todas las posibilidades (00, 01, 10, 11) en cualquier situación. Por ejemplo, si el demonio nos da un tablero con todo caras (32 en las casillas negras y 8 en la fila inferior) y queremos indicar 01, tendremos que girar una moneda en casilla blanca (para no alterar el primer dígito, puesto que ya hay un número par de caras negras) que sea de la fila inferior (para conseguir que así haya 7 caras, lo cual corresponde a un 1).

A medida que queremos añadir dígitos la cosa se complica. Para tres sería así:

tablero_proyeccion_2 10

En cada una de las regiones hemos de tener una casilla blanca y una negra, para poder modificar el primer dígito. Cada región codifica otros dígitos además del primero: la 1 codifica el segundo; la 2, el tercero; la 12, el segundo y el tercero; y la última, simplemente el primer dígito (si giramos la moneda de la casilla negra) o ninguno.

Si extrapolamos al número máximo posible de dígitos codificados en un tablero de 64 casillas obtenemos 6. ¡Vaya, casualmente la cantidad de decisiones que necesitábamos tomar! En la siguiente imagen he marcado cada una de las regiones (se podrían escoger de forma diferente):

tablero_proyeccion_2 9

Sé que es difícil de explicar y más aún por escrito, así que veamos un ejemplo para ver si acaba de quedar claro. Supongamos por simplicidad que al principio todas son caras y que la casilla favorita del diablo es la marcada con una exclamación en el tablero siguiente:

tablero_proyeccion_2 11

Según nuestro código la clave necesaria sería 110010. Para ello necesitamos girar una moneda de las casillas negras y las regiones 1 y 4. Siguiendo el esquema de regiones, hemos de girar la moneda indicada en verde:

tablero_proyeccion_2 12

Y así es como uno salva a Will Smith de las garras de Belcebú =)