Análisis matemático del juego llamado\ Pong Hau K'i

Análisis matemático del juego llamado
Pong Hau K'i

Antonio Javier Serrano Mora

Primavera de 2006

1  Descripción del juego

Según se cuenta en Bell y Cornelius (1990), el Pong Hau K'i es un juego para dos jugadores de origen chino de apariencia engañosamente sencilla. Se desarrolla sobre un tablero de cinco casillas, algunas de las cuales están conectadas mediante líneas tal y como se muestra en la figura 1. Dos casillas del tablero conectadas mediante un único segmento se llamarán <<adyacentes>>.
Figura 1: Tablero y posición inicial
Cada jugador dispone de dos fichas. En la figura 1 se muestran las cuatro fichas, dos de color rojo (R) y otras dos de color azul (A), colocadas en la posición inicial del juego. En cada turno, el jugador debe mover una ficha de su color a una casilla adyacente que esté vacía. Gana el jugador que consiga bloquear al contrario, es decir, si un jugador, en su turno, no puede mover ninguna de las dos fichas, entonces pierde la partida.
Antes de continuar leyendo, debería el lector buscarse un compañero y jugar algunas partidas. Las reglas son sencillas y muy pronto se aprende la mecánica del juego y, quizá, alguna estrategia ventajosa. Pronto, también, descubre uno cuáles son las posiciones ganadoras y cuáles las perdedoras.

2  Análisis del juego

Con unas pocas partidas o con una observación del tablero y sus reglas, es fácil descubrir que el jugador azul dispone de dos posiciones ganadoras (dos formas de bloquear al rojo) y que estas dos formas son simétricas respecto de una vertical que pasara por el centro de la casilla central. Esta simetría de las posiciones ganadoras del jugador azul se debe, obviamente, a la propia simetría del tablero. Igual podríamos decir del jugador rojo: dispone de dos posiciones ganadoras y ambas posiciones son simétricas. La simetría del tablero provocará, como se verá más adelante, una simetría del juego, es decir, de las jugadas posibles.
Figura 2: Numeración de las casillas del tablero
Empezaremos este análisis creando un código que permita hacerlo más comodamente. En primer lugar, se asigna a cada casilla un número del 1 al 5 tal y como se muestra en la figura 2. Representaremos con la letra "r" a las casillas que contienen una ficha roja, con la letra "a" a las casillas que contienen un ficha azul y con la letra "o" a las casillas que estén vacías. De esta forma, un código estará compuesto por cinco letras, dos de ellas r, otras dos a y una o. La primera letra de la izquierda describe el contenido de la casilla 1, la segunda de la izquierda el de la casilla 2 y, así, hasta llegar a la quinta letra que se refiere al contenido de la casilla 5. Por ejemplo, la posición inicial del juego (figura 1) se describe mediante el código raoar.
Dada la numeración del tablero (figura 2), una ficha puede pasar desde una casilla origen hasta una casilla destino vacía si y sólo si los números de ambas distan una o dos unidades. En el código que hemos creado, un movimiento consiste en intercambiar las posiciones de una de las letras r ó a, según de quién sea el turno, con la letra o, siempre que ésta esté a una distancia de una o dos posiciones hacia la izquierda o hacia la derecha de aquélla. Como las casillas 1 y 5 no son adyacentes, no consideramos en este código un orden circular.
De esta forma, una posición ganadora para el jugador azul, por ejemplo, obliga a que las letras r del código estén a más de dos posiciones de distancia de la letra o. El jugador rojo no podrá mover. Sólo es posible conseguir esta posición si <<arrinconamos>> las letras r, para lo que hay dos posibilidades: rraao y oaarr. Como se observa, ambas posiciones son simétricas en el tablero y también en el código: leyendo al revés el primero se obtiene el segundo. Para escribir las posiciones ganadoras del jugador rojo sólo hay que intercambiar las letras r y a en los códigos anteriores: aarro y orraa, posiciones que también son, por supuesto, simétricas.

2.1  Contando posiciones

El código descrito más arriba permite contar cuantas posiciones distintas puedan darse en el tablero de juego. Ya que hay cinco posiciones que rellenar con cinco letras tomadas de dos en dos, de dos en dos y de uno en uno, estamos hablando, claro, de las permutaciones con repetición:
P2,2,15= 5!

2!2!1!
=30

Hay 30 códigos distintos con estos símbolos, lo que significa que hay 30 posiciones distintas en el tablero de juego. Como se verá más adelante, las 30 posiciones son posibles en una partida. A continuación, se da el listado numerado de los 30 códigos.
código código
1 raoar 16 araor
2 raaor 17 aoarr
3 raaro 18 oaarr
4 raora 19 orara
5 raroa 20 aaorr
6 rarao 21 aarro
7 rraoa 22 aaror
8 aorra 23 arroa
9 roraa 24 arrao
10 orraa 25 oarar
11 rroaa 26 aorar
12 araro 27 aroar
13 rraao 28 oraar
14 rraoa 29 roaar
15 roara 30 arora
Construir el listado de todas las posiciones del tablero es sencillo si uno tiene en cuenta la simetría del juego. En la tabla anterior, el código 16 es el simétrico del 15 (leyendo el código 15 de derecha a izquierda se obtiene el 16), el código 17 es el simétrico del 14 y, en general, el código n es el simétrico del código 31-n. Que dos códigos sean simétricos quiere decir que las dos posiciones que representan también lo son respecto de la vertical que pasa por el centro de la casilla central del tablero. Sólo hay un excepción: el código 1 no es el simétrico del 30. El código 1 es su propio simétrico, puesto que es palindrómico, y lo mismo para el código 30.
Ambos códigos, el 1 y el 30, en cambio, están relacionados desde otro punto de vista. Si se intercambian en el código 1 las letras r por las letras a, se obtiene el código 30, como se observa trivialmente. Este intercambio de letras se corresponde, sobre el tablero, con un intercambio de fichas de colores distintos. En general podemos afirmar que si un código xyztu está en la tabla anterior, entonces el código `x`y`z`t`u también está en la tabla, donde `r=a,`a=r y `o=o.
Obsérvese que la posición inicial se corresponde con el código 1, las posiciones ganadoras para el jugador azul son los códigos simétricos 13 y 18 y las posiciones ganadoras para el jugador rojo son los códigos simétricos 10 y 21. El orden de los códigos de la tabla anterior bien podría ser otro, pero confeccionado así podremos sacarle algo de provecho más adelante, aunque sólo sea estético.
Veamos ahora cómo están conectados los códigos entre sí, es decir, dado un código cualquiera de la tabla anterior, ¿a cuál o cuáles podrá pasar un jugador en su turno? La conexión entre dos códigos depende del jugador que tenga el turno, así que lo analizaremos por separado.

2.2  El grafo del juego

Para expresar que los códigos n y m pueden ser consecutivos en el juego, representaremos cada código con un punto rotulado con su número de orden (según la tabla anterior) y dibujaremos un segmento que los conecte. Este segmento será de color azul, en el caso de que los códigos estén conectados mediante un movimiento del jugador azul, o, en caso contrario, de color rojo si la conexión se debe a un movimiento del jugador rojo. Cada punto representado se llamará <<vértice>> y cada segmento dibujado se llamará <<arista>>. Al conjunto de todos los puntos y aristas lo llamaremos, por supuesto, <<grafo del juego>>.
Dado un código, un jugador en su turno, tendrá posibilidad de mover las dos fichas (deberá, por tanto, elegir una de ellas), una sola o ninguna (perdiendo la partida). Esto se traduce, para el grafo del juego, en que desde cada vértice podrán salir dos, una o ninguna arista del mismo color.
Figura 3: Grafo que conecta los códigos 1, 2 y 29
Empecemos por los movimientos del jugador azul. El código 1 está conectado con el 2 y con el 29. El código 2 está conectado con el 1 y con el 29 y, finalmente, el código 29 está conectado con el 1 y con el 2, de suerte que estos tres vértices y sus aristas forman un triángulo que podrá ser representado como en la figura 3.
Analizando todos los códigos y sus conexiones con los demás, representamos en la figura 4 todos los grafos con aristas de color azul, donde los números de los códigos que corresponden a victorias azules han sido resaltados.
Figura 4: Grafo de los posibles movimientos del jugador azul
Obsérvese que en la figura 4 no aparecen vértices que correspondan a los códigos 10 y 21. Es lógico. Estos códigos son las posiciones ganadoras para el jugador rojo y si su oponente pudiera acceder a cualquiera de ellas también podría salir de ellas, imposibilitando una victoria roja.
De igual manera estudiamos las conexiones de los vértices mediante movimientos del jugador rojo, dando como resultado la figura 5. También aquí están resaltados los números correspondientes a victorias rojas. En esta figura puede observarse que el jugador rojo no puede acceder a los códigos 13 y 18, puesto que son las posiciones ganadoras para su contrario.
Figura 5: Grafo de los posibles movimientos del jugador rojo
Estamos ya en disposición de crear el grafo del juego. Para ello, dibujamos todos los vértices, desde el 1 hasta el 30, y los conectamos mediante aristas azules y rojas según sean las conexiones entre ellos (figura 6). Se observa que no queda ningún vértice aislado, de forma que todas las posiciones son posibles en una partida verdadera.
Figura 6: Grafo del Pung hau k'i
Para recorrer el grafo sólo hay que alternar los colores de las aristas. Supongamos que empieza a jugar el azul. Desde el vértice 1 recorre una de las dos aristas azules que nacen en él hasta un vértice adyacente. Para ir desde este vértice hasta otro, hay que recorrer ahora una arista roja, luego una azul... Si recorriendo cualquier camino de este grafo se llegara a una posición ganadora el juego acabaría ahí, con victoria de uno de los jugadores.
El grafo del juego nos muestra que no existe una estrategia ganadora para ninguno de los dos jugadores, cosa que se ve claramente si pensamos, por ejemplo, en el vértice 13, que es victorioso para el jugador azul. Para llegar hasta él, el jugador azul debe provenir del vértice 11 o del vértice 14. Para llegar al vértice 11, el jugador rojo viene del 9, pero estando en el 9 puede elegir otro camino y llegar al vértice 10 (ganando de paso la partida). Es decir, el jugador rojo no está obligado a ir desde el vértice 9 al 11, de forma que el azul no tiene manera de obligarlo. Igual pasa con el vértice 14. Para que el rojo llegue hasta él debe salir desde el 15, pero estando en el 15 puede elegir también ir al 19. Lo mismo podríamos decir de cualquier otra posición ganadora: el oponente siempre dispone de una opción para evadir la situación peligrosa.
Podemos dibujar el grafo del juego de muchas formas distintas. En realidad no importa dónde se sitúen los vértices; lo único importante es que estén bien conectados mediante las aristas correspondientes. Sin embargo, el grafo de la figura 6 respeta la simetría del tablero y del juego. Trazando una recta que pase por los vértices 1 y 30, se observa la simetría del grafo respecto de ella. Además, los vértices simétricos se corresponden también con posiciones simétricas del tablero. Por supuesto, los vértices 1 y 30, cuyos códigos son palindrómicos, pertenecen al eje de simetría.

Referencias

[Volver al texto]
BELL, R. y CORNELIUS, M.: 1990. Juegos con tablero y fichas. Editorial Labor, 1990.



File translated from TEX by TTH, version 3.76.
On 18 Sep 2006, 16:47.