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:
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.
nº | código | nº | 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.