EL NIM (Un juego de estrategia binaria). Hay un juego, el Nim, que basa su estrategia ganadora en el código binario. Los jugadores son dos y las reglas son las siguientes: se colocan en una mesa algunos montoncitos de fósforos de los que, por turno, cada jugador puede quitar todos los fósforos que quiera retirando fósforos de un solo montón, inclusive, el montón entero; el que consiga llevarse el último fósforo es el ganador. Si intentamos jugar una partida juntos, nos daremos cuenta que no es un juego sencillo, sobre todo en sus primeros movimientos, porque no resulta fácil saber cuántos fósforos conviene retirar en cada jugada para lograr quedarse con la última y ganar así la partida. Supongamos que tenemos cuatro montoncitos de uno, tres, cinco y siete fósforos respectivamente. Dejamos por cortesía, que sea el lector que haga el primer movimiento… …y éste empieza por quitar dos fósforos del montón que tiene cinco: Nos toca a nosotros y quitamos seis del montoncito que tiene siete, que, de esta forma, se queda con un solo fósforo. 1 Después de la primera jugada, la situación de los montones es 1, 3, 3 y 1: Le toca al lector y suponemos que retirará en su totalidad uno de los montoncitos de tres fósforos que han quedado. Entonces, nosotros quitamos el segundo montoncito que también es de tres fósforos. La situación es la que nos describe la siguiente figura: ¿Qué hace nuestro lector? ¿Se da por vencido? En el juego del Nim subyace una estrategia binaria, que podemos dominar desde la primera jugada. No en vano, o por cortesía, le hemos dejado al lector que jugara primero: si lo hubiésemos hecho nosotros, difícilmente habríamos retirado el último fósforo. ¿Cuál es la estrategia oculta? Vamos a transcribir los números de fósforos de los cuatro montoncitos, es decir 1, 3, 5 y 7, en código binario: 1(10) 1(2) 3(10) 11(2) 5(10) 101(2) 7(10) 111(2) Observando los números en binario se tiene que en la primera columna, de izquierda a derecha, hay dos unidades; en la segunda otras dos y, en la tercera, cuatro. Cuando se presenta una situación así, el que juega primero le da al otro necesariamente la oportunidad de ganar la partida. Basta hacer de forma que el número de las unidades sea par en cada columna. 2 La situación inicial de nuestra partida presentaba ya esta característica: 1(2) 11(2) 101(2) 111(2) 224(10) por consiguiente, al dejar que empezara a jugar el lector, no hemos hecho más que adueñarnos de la estrategia ganadora. De hecho, sean cuales fueran las jugadas de nuestro lector, tendrá que crear necesariamente un número impar en las unidades de alguna columna. Para que nos demos cuenta, analizaremos a la luz de esta estrategia la situación que se crea quitando dos fósforos del montoncito que tiene cinco: quedarán 1, 3 y 7 fósforos, lo que en código o binario, corresponde a 1(2), 11(2), 11(2) y 111(2). 1(2) 11(2) 11(2) 111(2) 134(10) Hay nada menos que dos columnas con un número impar de unidades. Nuestra jugada, que consiste en quitar seis fósforos del montón que tenía siete, no ha hecho más que restablecer un número par de unidades en cada columna: 1(2) 11(2) 11(2) 1(2) 134(10) 3 La siguiente jugada de nuestro lector (retirar entero el montón de tres fósforos) habría podido no crear nuevamente algún número impar en una de las dos columnas o en ambas: 1(2) 11(2) 1(2) 13(10) Finalmente, nosotros hemos quitado las tres cerillas del montón: 1(2) 1(2) 2(10) Hemos llegado al final cuando quedaban dos montoncitos con un único fósforo cada uno y le tocaba al lector. 4