Gravedad Estratégica · Teoría & IA Minimax
El Conecta 4 es un juego de estrategia para dos jugadores inventado en 1974. Cada jugador elige un color (Rojo o Amarillo) y por turnos va lanzando fichas a una cuadrícula vertical de 6 filas × 7 columnas. La gravedad hace que las fichas caigan hasta la posición más baja disponible en cada columna.
El objetivo es ser el primero en alinear 4 fichas del mismo color en cualquier dirección: horizontal, vertical o diagonal.
El tablero tiene 42 celdas en total: 6 filas y 7 columnas. Las columnas están numeradas del 1 al 7 de izquierda a derecha. Cada columna puede contener hasta 6 fichas.
Hay tres tipos de alineación ganadora. Las 4 fichas deben ser del mismo color y estar contiguas:
Vamos a ver los primeros 8 movimientos de una partida real. Fíjate en cómo las fichas van cayendo y cómo cada jugador intenta posicionarse.
El Conecta 4 tiene una profundidad estratégica sorprendente. Estos son los pilares sobre los que se construye cualquier juego de alto nivel:
La columna 4 (central) participa en el mayor número de líneas ganadoras posibles. Ocuparla en las primeras jugadas te da una ventaja posicional enorme que es difícil de contrarrestar.
1° Ganar si puedes. 2° Bloquear si el rival gana en su turno. 3° Crear amenazas dobles. 4° Mejorar tu posición central.
El objetivo a medio plazo es crear una posición con DOS amenazas simultáneas (en columnas distintas). El rival solo puede bloquear una, y tú ganas con la otra.
Forzar al rival a apilar fichas en una columna concreta puede hacerle perder el control de la altura. Las fichas que caen "de rebote" te pueden favorecer.
Los jugadores avanzados tienen ciertas respuestas que se vuelven automáticas. Interiorizarlas te ahorrará tiempo y errores:
Si tienes 3 fichas alineadas con un hueco accesible en el extremo, juega ahí SIEMPRE. Esta comprobación va antes que cualquier otra.
Si el rival tiene 3 en línea con un hueco accesible en el siguiente turno, bloquea SIEMPRE (salvo que puedas ganar tú primero).
Ocupa primero col 4, luego col 3 ó 5, luego col 2 ó 6. Evita las columnas 1 y 7 en las primeras jugadas salvo razón táctica concreta.
Antes de cada jugada: (1) ¿Puedo ganar? (2) ¿Puede ganar el rival? (3) ¿Mi jugada activa una victoria rival encubierta? Solo luego optimiza tu posición.
Aunque parece un juego simple, el Conecta 4 esconde matemáticas fascinantes: teoría de juegos, combinatoria, álgebra lineal, teoría de grafos y algoritmos de optimización. Vamos a explorarlas todas.
Un estado del juego es cualquier configuración posible del tablero. ¿Cuántas existen?
Pero muchos estados son ilegales (fichas flotando, más fichas de un color de las posibles...). El número real de posiciones legales es:
¿Cuántas formas de conectar 4 celdas existen en un tablero $r \times c$?
Donde $n_j$ es el número de fichas en la columna $j$. En la práctica, la mayoría terminan antes de llenar el tablero.
El Conecta 4 es un juego de:
Demostrado por James D. Allen y Victor Allis en 1988 mediante búsqueda exhaustiva. La victoria ocurre en como máximo 41 movimientos.
Donde $T(s,a)$ es el estado resultante de aplicar la acción $a$ en el estado $s$.
Cada nodo del árbol representa un estado del tablero. Las aristas representan movimientos (elegir columna). La profundidad del árbol completo es 42 niveles.
Minimax asume que ambos jugadores juegan óptimamente. El nodo Max elige el movimiento que maximiza $V$; el nodo Min elige el que lo minimiza.
Se poda una rama cuando $\alpha \geq \beta$. No afecta al resultado, solo elimina exploraciones innecesarias.
Explorar primero las columnas centrales mejora la calidad de las podas alfa-beta, porque las mejores jugadas suelen estar en el centro.
Cuando el árbol no se puede explorar hasta el final, usamos una función $h(s)$ que estima la calidad de un estado sin llegar a las hojas.
Una "ventana" es un grupo de 4 celdas consecutivas (en cualquier dirección). Existen exactamente 69 ventanas en el tablero 6×7.
Donde $\phi(w, p)$ es la puntuación de la ventana $w$ para el jugador $p$:
Una buena función heurística puede cuantificar ventajas concretas. Por ejemplo: si $h(s) > 200$, el jugador Max tiene ventaja significativa; si $h(s) < -200$, Min domina. Esto permite tomar decisiones informadas sin llegar al final del árbol.
El número de columnas disponibles decrece al llenarse. El valor medio a lo largo de una partida:
El número de secuencias de movimientos que llevan a un estado con $n$ fichas totales ($n_j$ fichas en la columna $j$) es:
Podemos modelar el tablero como un grafo $G = (V, E)$ donde los vértices son las 42 celdas y las aristas conectan celdas adyacentes en las 4 direcciones ganadoras.
El grado de una celda (cuántas ventanas de 4 la incluyen) determina su "valor estratégico". La celda central (fila 3, col 4) tiene el mayor grado:
Muchos estados del tablero se pueden alcanzar por diferentes secuencias de movimientos. Guardar los estados ya evaluados en una tabla hash evita recalcularlos.
Cada (celda, jugador) recibe un número aleatorio de 64 bits $z_{r,c,p}$. El hash del tablero es:
Donde $\oplus$ es XOR. Es eficiente porque al añadir/quitar una ficha solo hay que hacer un XOR con el valor de esa celda.
Cada optimización reduce el espacio de búsqueda varios órdenes de magnitud.