Juegos combinatorios imparciales
Un juego combinatorio es una competencia de dos jugadores con las siguientes características: (1) los dos jugadores alternan turnos, (2) ambos tienen información perfecta del estado del juego (sin cartas ocultas ni dados), (3) el juego termina en un número finito de movimientos, y (4) no hay empates — el último jugador en moverse gana (regla de normalización).
Un juego se llama imparcial si, en cada posición, el conjunto de movimientos disponibles es el mismo para ambos jugadores. En un juego parcial (como el ajedrez), las piezas blancas y negras son distintas y los movimientos dependen de quién juega. En olimpiadas, casi todos los juegos son imparciales.
Los ejemplos más importantes de juegos imparciales son: Nim (quitar fichas de montones), el Juego de Euclides (restar múltiplos del número menor), el Nim modular (quitar a lo sumo fichas de un montón), y los juegos de divisores.
El objetivo central de la teoría es clasificar cada posición como ganadora o perdedora para el jugador que le toca mover, y encontrar la estrategia óptima. Esta clasificación da automáticamente una estrategia ganadora: si la posición actual es ganadora, el jugador actual puede mover a una posición perdedora para el rival; si es perdedora, cualquier movimiento lleva a una posición ganadora para el rival.
Nim: posiciones P y N
Nim es el juego combinatorio fundamental. Se tiene una colección de montones de fichas con tamaños . En cada turno, el jugador elige un montón (no vacío) y retira cualquier cantidad positiva de fichas de ese montón. Quien quita la última ficha gana.
Una posición se llama P-posición (posición perdedora, del inglés "Previous player wins") si el jugador que acaba de mover gana; es decir, el jugador que enfrenta esta posición pierde con juego óptimo del rival. Una posición es N-posición (posición ganadora, "Next player wins") si el jugador que le toca mover puede ganar.
Las reglas de clasificación son: (i) la posición terminal (todos los montones vacíos) es P-posición (el jugador que debe mover no puede y pierde); (ii) una posición es N-posición si existe al menos un movimiento que lleva a una P-posición; (iii) una posición es P-posición si todos sus movimientos llevan a N-posiciones.
Teorema de Bouton (1901): La posición en Nim es P-posición si y solo si , donde denota la suma XOR bit a bit (también llamada "nim-suma").
Ejemplo: El estado tiene nim-suma , así que es P-posición — el jugador que mueve primero pierde con juego óptimo del rival. El estado tiene , también P-posición. El estado tiene , N-posición.
Estrategia ganadora en Nim: Si la nim-suma , siempre existe un montón tal que (un bit alto de está en ). Reducir ese montón a hace que la nueva nim-suma sea , convirtiendo la posición en P-posición para el rival.
El teorema de Sprague-Grundy
El teorema de Sprague-Grundy es la generalización más profunda de la teoría de juegos combinatorios. Establece que todo juego imparcial finito y acíclico es equivalente a un montón de Nim de cierto tamaño, llamado el valor de Grundy (o nimber) de la posición.
Formalmente, el valor de Grundy de una posición se define recursivamente mediante la función mex (mínimo excluido no negativo): . El mex de un conjunto de enteros no negativos es el menor entero no negativo que no pertenece al conjunto.
La posición terminal tiene . Una posición con es P-posición (equivalente al montón vacío de Nim), y una posición con es N-posición.
Teorema de suma de juegos: Si un juego es la suma de juegos independientes (en cada turno el jugador elige un juego y hace un movimiento en él), el valor de Grundy de la suma es la nim-suma de los valores individuales: . La posición es P-posición si y solo si esta nim-suma es .
Este teorema es enormemente poderoso: reduce el análisis de combinaciones arbitrarias de juegos imparciales a calcular los nimbers individuales y hacer XOR. La estrategia ganadora en la suma consiste en llevar la nim-suma a en cada turno.
Cálculo de valores de Grundy: ejemplos
Ejemplo 1 — Nim de un montón: Para un montón de tamaño , los movimientos llevan a montones . Luego . El nimber de un montón de Nim de tamaño es (como era de esperarse).
**Ejemplo 2 — Nim con restricción ( fichas):** Si solo se pueden quitar entre 1 y fichas de un montón de : ; para . Calculando: . Las P-posiciones son los múltiplos de .
Ejemplo 3 — Juego de Euclides: Dados dos enteros positivos , el jugador elige un múltiplo positivo de que no supere y lo resta de . Si , el jugador puede forzar cualquier residuo (en particular, puede pasar a ), luego . Si (solo se puede restar una vez), y se reduce al par más pequeño. El análisis completo revela que es P-posición (la razón áurea) tras aplicar las reducciones.
Ejemplo 4 — Juego en grafos: Se tiene un token en un vértice de un grafo dirigido acíclico; cada turno el jugador mueve el token por una arista. El jugador que no puede mover pierde. Entonces . Este es el modelo más general de juego imparcial: todo juego imparcial finito se puede representar así.
Cálculo práctico: Para calcular en olimpiadas, conviene calcular los primeros valores a mano y buscar un patrón periódico (la mayoría de los juegos de olimpiada tienen nimbers periódicos). Luego se verifica la periodicidad por inducción.