Vous êtes sur la page 1sur 36

UN ENFOQUE JERRQUICO PARA LA COMPUTADORA

HEX

Por

Vadim V. Anshelevich

1200 Navaho Trail, Richardson, TX 75080, USA

http://vanshel.com/Hexy/

Tomado de: Artificial Intelligence 134 (2002) Pgs: 101-120

http://vanshel.com/Hexy/Publications/VAnshelevich-ARTINT.pdf

RESUMEN

Hex es un juego hermoso con reglas simples y una

complejidad estratgica comparable a la del ajedrez y a la del

juego go. Las tcnicas de bsqueda masiva de rboles de juego

desarrolladas en su mayora para el ajedrez y usadas

exitosamente para el juego de damas y un nmero de otros

juegos se vuelven menos tiles para juegos con grandes

factores de enramado como es el caso de hex y go. En este

ensayo se describen reglas de deduccin que son usadas para

calcular recursivamente valores de posiciones complicadas en

1 de 36
hex, comenzando desde las ms simples. Se explica cmo este

enfoque es implementado en HEXY el programa para

computadora que mejor juega hex y adems el ganador de la

medalla de oro de la Quinta Olimpiada de Computadoras

realizada en Londres en Agosto del ao 2000.

PALABRAS CLAVE: Hex; programacin de juegos;

demostracin de teoremas.

1. HEX Y SU HISTORIA

El juego hex fue inventado por el poeta y matemtico Dans

P. Hein. l introdujo el juego en 1942 en una clase magistral

para estudiantes en el Instituto Niels Bohr para la fsica

terica. El juego pronto se volvi popular en Dinamarca con el

nombre de Polgono. Este fue reinventado independientemente

por John Nash en 1948 cuando l era un estudiante de

doctorado en la Universidad de Princeton. Parker Brothers

comercializ una versin del juego en 1952 con el nombre hex.

El juego fue presentado al pblico general por M. Gardner en

la revista Scientific American (Vase [12,13]).

2 de 36
Hex es un juego para 2 personas que se realiza en un tablero

rmbico con celdas hexagonales (Vea Fig. 1):

Fig. 1. La cadena de fichas negras conectan los bordes

negros. Las fichas negras han ganado el juego.

El tablero clsico es de 11x11 aunque este puede ser de

cualquier tamao. Los tamaos del tablero de 10x10, 14x14 e

incluso 19x19 son tambin populares. Los jugadores negro y

blanco toman turnos para colocar fichas de su color en las


celdas vacas del tablero. El objetivo del negro es conectar los

dos lados negros opuestos del tablero con una cadena formada

por sus fichas negras.

El objetivo del blanco es conectar los dos lados blancos

opuestos del tablero con una cadena formada con sus fichas

blancas (Vase la Fig. 1). El jugador que inicia el juego, es

3 de 36
decir el que hace la primera jugada, tiene una gran ventaja

en hex. Con el propsito de igualar las posibilidades los

jugadores frecuentemente emplean una regla de intercambio

donde el segundo jugador tiene la opcin de tomar el

movimiento con el que hace la apertura de su juego el primer

jugador. A pesar de la simplicidad de las reglas, las ideas

estratgicas y tcticas del juego son ricas y sutiles. Una

introduccin a la tctica y estrategia en hex puede encontrarse

en el libro escrito por Browne [7].

El juego nunca puede terminar en empate. Esto se desprende

del hecho de que si todas las celdas del tablero estn

ocupadas entonces tiene que existir una cadena ganadora para

las blancas o las negras. Mientras que este hecho topolgico

de 2 dimensiones parece obvio no es de ninguna manera

trivial. De hecho Gale [11] demostr que este resultado es

equivalente al teorema de punto fijo de Brouwer para

cuadrados de 2 dimensiones. De all se sabe que existe una

estrategia ganadora bien sea para el primer o el segundo

jugador. Usando un argumento de robo de estrategia (cf. [5]

Nash demostr que una estrategia ganadora existe para el

primer jugador. Sin embargo, esta es slo una demostracin de

existencia y no provee ninguna pista que pueda ayudar a

4 de 36
ganar al primer jugador. Uno puede encontrar muchos

ejemplos de posiciones de apertura en tableros pequeos de

hasta 6x6 (incluyendo todas las posiciones de una ficha) con

indicaciones sobre cual jugador tiene una estrategia ganadora

en el sitio web:

http://www.cs.ualberta.ca/~queenbee/openings.html

(para el ao 2017 el sitio web de la Universidad de Alberta

dedicado a hex es: http://webdocs.cs.ualberta.ca/~hayward/hex/).

Even y Tarjan [10] demostraron que el problema de

determinar cul jugador tiene una estrategia ganadora, en una

generalizacin de hex denominada el juego de conmutacin de

Shannon sobre vrtices, es completa PSPACE. Reisch [17]

luego demostr esto para el caso NxN de hex.

Una mquina que jugaba hex fue construida por Shannon y

Moore [20]. Shannon asoci una distribucin de carga elctrica

de 2 dimensiones con cualquier posicin dada en hex. Esta

mquina tomaba decisiones basndose en las propiedades del

campo de potencial correspondiente. Se reconoce que este

trabajo est grandemente inspirado en la belleza de la idea

original de Shannon.

5 de 36
A pesar de que las reglas de hex son sencillas, el juego

requiere un profundo entendimiento estratgico y unas

brillantes habilidades tcticas. Las tcnicas de bsquedas

masivas basadas en rboles de juego desarrolladas en los

ltimos 30 a 40 aos, en su mayora para el ajedrez, (vea [1,

8]) y usadas exitosamente para el juego de damas [19] y un

nmero de otros juegos se tornan menos tiles para aquellos

juegos que cuentan con un gran factor de enramado como es

el caso de hex y go. Para un tablero de hex clsico de 11x11

el nmero promedio de movimientos legales es casi 100 (cf. 38

para el ajedrez [14] y 8 para el juego de damas [19]).

La teora combinatoria de juegos provee muchas herramientas

poderosas para el anlisis de sumatorias de grandes nmeros

de juegos relativamente simples (vase [5, 9]). Es tambin til

en situaciones donde las posiciones complejas pueden ser

descompuestas en sumatorias de las posiciones sencillas. En

particular este mtodo es aplicable a un anlisis de las finales

del juego go [6, 16]. A pesar de que las posiciones de hex no

tienden a descomponerse en las sumatorias de subjuegos

locales, muchas posiciones de hex pueden aun ser consideradas

como combinaciones de subjuegos ms simples.

6 de 36
Este artculo se concentra en la jerarqua de los subjuegos de

hex, define un conjunto de reglas de deduccin y demuestra

cmo estas reglas de deduccin pueden ser usadas para

calcular recursivamente valores de subjuegos complejos

comenzando desde los ms sencillos. Integrando la informacin

sobre los subjuegos de esta jerarqua construye una funcin de

evaluacin que anticipa el potencial de las posiciones de hex

muchas jugadas adelante. Este enfoque es implementado en

HEXY el programa de computadora que juega mejor hex.

HEXY gan la medalla de oro de la Quinta Olimpiada de

Computadoras en Londres en Agosto de 2000. HEXY no

realiza una bsqueda masiva con rboles de juego. En lugar

de ello el programa se concentra en un anlisis profundo de

la jerarqua de subjuegos para un nmero relativamente

pequeo de posiciones del juego. Una versin para windows del

programa est disponible pblicamente en:

http://vanshel.com/Hexy/

El desarrollo de este artculo es como sigue. La seccin 2

discute el concepto de conexiones virtuales. En la seccin 3 se

describen las reglas de deduccin AND y OR y en la seccin 4

se define el proceso de bsqueda H para el clculo jerrquico

de las conexiones virtuales. Posteriormente la seccin 5

7 de 36
presenta un modelo de circuito de resistencias elctricas que es

usado para combinar informacin sobre la jerarqua de las

conexiones virtuales en una funcin de evaluacin global. En

la seccin 6 se explica cmo este enfoque es implementado en

HEXY. Las ideas principales de este trabajo fueron

presentadas anteriormente en [2, 3].

2. CONEXIONES VIRTUALES Y SEMI-CONEXIONES

VIRTUALES

En las secciones 2, 3 y 4 se caracterizan las posiciones hex

desde el punto de vista de las negras. Por supuesto el punto

de vista de las blancas puede ser considerado en una forma

similar. Se consideran las 4 bandas de los bordes del tablero

como celdas adicionales y se asume que las celdas de borde

negro estn permanentemente ocupadas por fichas negras y las

celdas de borde blanco estn permanentemente ocupadas por

fichas blancas. (vea Fig. 2).

8 de 36
Fig. 2: Los grupos de fichas negras (x e y) forman un

puente 2.

Considere los dos diagramas en la Figura 2. En ambos casos

las blancas no pueden evitar que las negras conecten los dos

grupos x e y de sus fichas, incluso si las blancas mueven

primero, ya que hay dos celdas vacas a y b adyacentes tanto

a x como a y. Si las blancas ocupan una de estas celdas

vacas entonces las negras pueden jugar con la otra. Fjese

que la conexin de las negras entre los grupos x e y est

asegurado mientras que las celdas a y b permanezcan vacas.


En este tipo de posicin se reconoce que los grupos de fichas

negras x e y forman un puente 2. En una disputa donde las

negras intentan conectar los grupos x e y y por el otro lado

las blancas intentan prevenirlo, el resultado es predecible 2

jugadas adelante. Esto proporciona una ventaja importante a

las negras. En la posicin de la izquierda de la Figura 2 esta

ventaja es local. En la posicin de la derecha esta ventaja es

9 de 36
decisiva porque los grupos estn conectados a los bordes

negros y por lo tanto las blancas deben resignarse a perder.

Antes de generalizar el concepto puente 2 introduzco dos

nociones. Primero defino una celda negra si esta est ocupada

por una ficha negra; segundo me refiero a un grupo de celdas

negras conectadas como una nica celda negra. Las siguientes

tres definiciones generalizan el concepto de puente 2.

DEFINICIN 1: Sean x e y dos celdas distintas y sea A un

conjunto de celdas vacas de una posicin dada. Se asume que


x A e y A . Considere la tripleta (x, A, y) como un

subjuego donde las negras intentan conectar las celdas x e y

con una cadena de fichas negras y por supuesto las blancas

intentan evitarlo y adems ambos jugadores pueden colocar sus

fichas solamente en las celdas de A. Entonces defino a x e y

como las terminales del subjuego y A como su portador.

DEFINICIN 2: Un subjuego es una conexin virtual si y

slo si las negras tienen una estrategia ganadora incluso si

las blancas se mueven primero.

10 de 36
DEFINICIN 3: Un subjuego es una semi-conexin virtual si

y slo si las negras tienen una estrategia ganadora movindose

primero, pero si se mueven en segundo lugar ya no la tienen.

Se representan las conexiones virtuales y semi-conexiones

virtuales con diagramas como en la Figura 3. En ambos casos

se ven terminales negra-negra, negra-vaca y vaca-vaca. Los

rectngulos negros simbolizan los portadores de las conexiones

virtuales. Los rectngulos tachados simbolizan los portadores

de las semi-conexiones virtuales.

Fig. 3: A la izquierda diagramas de conexiones virtuales.


A la derecha diagramas de semi-conexiones virtuales

En la prctica es ms conveniente usar las siguientes

definiciones recursivas:

DEFINICIN 2a: Un subjuego es una conexin virtual si y

slo si para cada movimiento de las blancas existe un

11 de 36
movimiento de las negras tal que el subjuego resultante es

una conexin virtual.

DEFINICION3a: Un subjuego es una semi-conexin virtual si

y slo si no es una conexin virtual y existe un movimiento

de las negras tal que el subjuego resultante es una conexin

virtual.

Asuma que en una posicin dada con una conexin virtual las

blancas se mueven primero. El nmero de los movimientos que

tienen que ser hechos para que las negras ganen este

subjuego, con la condicin de que las negras intentan

minimizar este nmero y las blancas intentan maximizarlo, es

lo que caracteriza la profundidad de la conexin virtual. En

otras palabras la profundidad de la conexin virtual es la

profundidad de una bsqueda de rbol de juego requerida para

establecer esta conexin virtual. La conexiones virtuales con

profundidad d contienen informacin acerca de los nodos del

rbol de juego asociados con la posicin de hex d

movimientos adelante.

Cuatro observaciones son importantes:

12 de 36
1. Un par de celdas vecinas forman una conexin virtual con

un portador vaco. La profundidad de esta conexin virtual

es igual a cero.

2. Un puente 2 forma una conexin virtual de profundidad

dos.

3. Las terminales x e y pueden formar conexiones virtuales

con muchos diferentes portadores. La conexin virtual (x , A,

y ) es mnima si y slo si no existe una conexin virtual (x,

B, y) tal que B A y B A Si un subjuego (x, A, y) es

una conexin virtual y (x, C, y) es un subjuego tal que


AC entonces el subjuego (x, C, y) es tambin una

conexin virtual. Esta es la razn por la cual este trabajo

se interesa principalmente en las conexiones virtuales

mnimas.

4. Una funcin especial es desempeada por una conexin

virtual ganadora formada por las celdas de los bordes. Si

esta existe entonces all existe una estrategia ganadora

global para las negras incluso si las blancas se mueven

primero.

13 de 36
En las Figuras 4 y 5 puede ver cuatro muestras tpicas de

conexiones virtuales y semi-conexiones virtuales.

Fig. 4. Las celdas negras x e y forman conexiones

virtuales

En cada diagrama de la Figura 4 la celda y est formada por

la ficha negra conectada al borde negro del fondo derecho. Las


celdas de sus portadores estn marcadas en blanco. La

caracterizacin es como sigue:

(1) Una conexin de borde desde la cuarta fila.

Profundidad=10.

(2) Una escalera. Profundidad=14.

14 de 36
(3) Una cadena de puentes 2. Profundidad=12.

(4) Esta conexin virtual ser analizada en la seccin 3.

Profundidad=6. (Vase Fig. 8).

En los cuatro diagramas de la Figura 5 se ven cuatro

muestras de semi-conexiones virtuales. Las celdas de sus

portadores estn marcadas en blanco. El diagrama cuatro

muestra la posicin inicial. De acuerdo al teorema de Nash

mencionado en la seccin 1 la posicin inicial es una semi-

conexin virtual.

Fig. 5: Las celdas negras x e y forman semi-conexiones

virtuales

15 de 36
3. REGLAS DE DEDUCCIN

En esta seccin se definen dos reglas de deduccin que pueden

ser usadas para construir conexiones virtuales complejas

comenzando desde las ms sencillas.

LA REGLA DE DEDUCCIN AND: Sean los subjuegos (x,

A, u) y (u, B, y) 2 conexiones virtuales con una terminal en

comn u y terminales diferentes x y . Se asume que xB ,

y A y AB= .

(i) Si u es negra entonces el subjuego (x, AB ,y) es una

conexin virtual.

(ii) Si u est vaca entonces el subjuego (x, AuB ,y) es una

semi-conexin virtual.

DEMOSTRACIN:

[Caso (i)]

Debido a que AB= las blancas no pueden atacar ambas

conexiones virtuales simultneamente. Asuma que la blanca

ocupa una celda a A . Ya que el subjuego (x, A, u) es

16 de 36
una conexin virtual all existe una celda b A donde las

negras pueden jugar para crear una nueva conexin virtual (x,

A, u). El nuevo portador A es obtenido de A al remover las

dos celdas a y b. (Dese cuenta que la nueva conexin virtual

pertenece a una posicin diferente de la original). En forma

breve, si la blanca ocupa una celda en A entonces la negra

puede restaurar la primera conexin virtual al moverse a una

celda apropiada de A. Lo mismo es cierto para B y entonces

el resultado se obtiene por induccin.

[Caso (ii)]

Si la celda u est vaca entonces la negra puede ocupar esta

celda y el caso (ii) se reduce al caso (i).

La Figura 6 muestra una representacin grfica de esta regla

de deduccin.

Fig. 6: La regla de deduccin AND.

17 de 36
LA REGLA DE DEDUCCIN OR

Sean los subjuegos (x, Ak, y) donde (k= 1, 2,...,n, para n>1)

con semi-conexiones virtuales que cuentan con las terminales

comunes x e y. Si:

n
A k =
k=1

Entonces el subjuego (x, A, y) donde:

n
A= Ak
k=1

es una conexin virtual.

DEMOSTRACIN:

Si la blanca ocupa una celda a Ai entonces all existe un

portador diferente Aj tal que a A j y la negra puede

moverse a Aj para convertir una semi-conexin virtual (x,


A j , y) en una conexin virtual.

La Figura 7 representa grficamente esta deduccin para n=3

18 de 36
Fig. 7: La regla de deduccin OR

La Figura 8 muestra cmo pueden ser usadas las reglas de

deduccin AND y OR para probar conexiones virtuales. El

diagrama 1 de la Figura 8 representa el subjuego sobre el

tablero. La secuencia de las transformaciones en los diagramas

que van desde el 2 hasta el 6 demuestran grficamente la

aplicacin de las reglas de deduccin AND y OR y prueban

que las negras tienen una posicin ganadora incluso si las

blancas se mueven primero.

El diagrama 3 es obtenido del diagrama 1 al aplicar la regla

de deduccin AND 6 veces y la regla de deduccin OR 3

veces. El diagrama 4 resulta de la regla de deduccin AND.

La conexin virtual ganadora en el diagrama 6 se obtiene de

aplicar la regla de deduccin AND 2 veces y una aplicacin

final de la regla de deduccin OR.

19 de 36
Fig. 8: Uso de las reglas de deduccin AND y OR

4. LA BSQUEDA H

Las reglas de deduccin AND y OR introducidas en la seccin

3 son usadas para definir el siguiente algoritmo jerrquico

para el clculo de conexiones virtuales.

BSQUEDA H: Considere algn conjunto inicial de conexiones

virtuales y semi-conexiones como la primera generacin de

conexiones virtuales y semi-conexiones. En particular este


conjunto inicial puede consistir de las conexiones virtuales ms

simples, es decir todas las parejas de celdas vecinas. Al

aplicar las reglas de deduccin AND y OR a los grupos

apropiados de la primera generacin de conexiones virtuales y

semi-conexiones se construye la segunda generacin de

conexiones virtuales y semi-conexiones. Entonces se aplican las

reglas de deduccin AND y OR tanto a la primera como a la

20 de 36
segunda generacin de conexiones virtuales y semi-conexiones

para construir la tercera generacin de conexiones virtuales y

semi-conexiones etc. Este proceso para en alguno de los

siguientes casos: bien sea porque no se produce ninguna nueva

conexin virtual o tambin porque se construy la conexin

virtual ganadora.

Se considera que hasta cierto punto este proceso es anlogo a

la demostracin automtica de teoremas (vea por ejemplo [18]).

El apndice A contiene un esqueleto de un algoritmo que

representa la bsqueda H para el clculo de conexiones

virtuales.

La bsqueda H puede construir todas las conexiones virtuales

que se vieron en las Figuras 2 y 4. La seccin 3 explic el

caso del subjuego del diagrama 4 en la Figura 4.

Demostraciones formales para los subjuegos de los diagramas 1

y 2 en la Figura 4 se dan en el apndice B. En el apndice

C se analiza cmo funciona la bsqueda H en el caso de dos

ejemplos simples de conexiones virtuales que contienen un

parmetro grande.

21 de 36
Es importante enfatizar que la bsqueda H no es otra versin

de la tpica bsqueda de rboles de juego. La bsqueda H y

la bsqueda de rboles de juego usan diferentes

representaciones del problema y como resultado cada una de

ellas busca en espacios diferentes. En particular la bsqueda

H realiza una bsqueda de conexiones virtuales en el conjunto

de subjuegos de una posicin hex.

Ahora surge la pregunta: Es completo el conjunto de las

reglas de deduccin AND y OR, por ejemplo la bsqueda H

puede construir todas las conexiones virtuales comenzando

desde las ms simples? La respuesta es no y la Figura 9

muestra un contra ejemplo.

Fig. 9: Las 2 celdas negras forman una conexin virtual

que no puede ser construida usando las reglas de

deduccin AND y OR.

22 de 36
Este contra ejemplo representa una conexin virtual que no

puede ser construida por la bsqueda H. Es fcil ver que este

subjuego es una conexin virtual. Verdaderamente si las

blancas juegan en a las negras pueden replicar con b forzando

a las blancas a ocupar c. Entonces las negras juegan en d

asegurando su triunfo. Esta conexin virtual est formada por

dos semi-conexiones virtuales equivalentes con portadores

disjuntos conectados en paralelo. Un programa de computadora

fue usado para verificar que ninguna combinacin de las

reglas de deduccin AND y OR pueden establecer estas semi-

conexiones virtuales o la totalidad de la conexin virtual.

Adems de lo anterior es importante anotar que las reglas de

deduccin AND y OR pueden ser generalizadas en una forma

que las hace completas [2]. Sin embargo, hasta donde se sabe,

la bsqueda generalizada H no ha sido implementada hasta

ahora tan lejos y su valor prctico no es claro.

5. LA FUNCIN DE EVALUACIN Y CIRCUITOS DE

RESISTENCIAS ELCTRICAS

En la prctica, debido a la limitacin en los recursos de

cmputo, tanto la bsqueda H como la bsqueda en rboles de

23 de 36
juego son capaces de descubrir una conexin virtual ganadora

bien sea en tableros de juego pequeos o en las finales de

juego. Una bsqueda de rboles de juego para una estrategia

ganadora (es decir una conexin virtual ganadora para el caso

especfico de hex) es comnmente reemplazada por la bsqueda

del valor minimax de alguna funcin heurstica sobre un grafo

ms pequeo donde los clculos son aun factibles. En el caso

de la bsqueda H la situacin es similar. Incluso si es

imposible construir la conexin virtual ganadora para las

negras o las blancas debido a que no son completas las reglas

de deduccin AND y OR y/o unos recursos de cmputo

limitados, entonces el conjunto de conexiones virtuales

descubiertas provee informacin til para la evaluacin de la

posicin entera. En esta seccin se introduce una familia de

funciones de evaluacin basadas en una representacin de las

posiciones de hex que usa un circuito de resistencias elctricas.

Las funciones de evaluacin combinan informacin acerca de la

jerarqua de las conexiones virtuales descubiertas.

Uno puede imaginarse un circuito elctrico como un grafo. Los

arcos del grafo juegan el papel de enlaces elctricos

(resistencias). La resistencia de cada enlace elctrico es igual a

la longitud del arco correspondiente del grafo. Aqu se ve que

24 de 36
el lenguaje de los circuitos elctricos se acomoda mejor a

nuestras necesidades. Con cada posicin de hex se asocian 2

circuitos elctricos. El primero de ellos caracteriza la posicin

desde el punto de vista de las negras (circuito de las negras)

y el segundo caracteriza la posicin desde el punto de vista de

las blancas (circuito de las blancas). A cada celda c del

tablero se asigna una resistencia r de la siguiente forma:

Para el circuito de las negras:

{ }
1 sic est vaca
r B (c)= 0 si c est ocupada por una ficha negra
+ si c est ocupada por una ficha blanca

Para el circuito de las blancas:

{ }
1 si c est vaca
r W (c)= 0 sic est ocupada por una ficha blanca
+ si c est ocupada por una ficha negra

Para cada par de celdas vecinas (c1, c2) se asocia un enlace

elctrico con resistencia as:

r B (c 1 , c 2 )=r B (c 1)+r B (c 2) para el circuito de las negras,

r W (c1 , c 2)=r W (c 1 )+ r W (c 2 ) para el circuito de las blancas.

25 de 36
En la primera instancia los circuitos solamente toman en

cuenta conexiones entre las celdas vecinas. Se mejorarn estos

circuitos al incorporar informacin acerca de la jerarqua de

las conexiones virtuales descubiertas. Abajo nos concentraremos

en los circuitos de las negras solamente. Los circuitos de las

blancas pueden ser tratados de una manera similar.

El primer enfoque fue adicionar un enlace elctrico adicional al

circuito de las negras entre dos celdas x e y si x e y forman

una conexin virtual. Consecuentemente todas las conexiones

virtuales sern tratadas como celdas vecinas. Sin embargo, las

conexiones virtuales entre vecinos ms cercanos son ms

fuertes que en otras conexiones virtuales. Entonces el circuito

debe reflejar esto. Por lo tanto se hizo ms alta la resistencia

entre las terminales de todas las otras conexiones virtuales,

mucho ms que en el caso particular de dos vecinos ms

cercanos.

En el segundo enfoque se adicionaron otros enlaces al circuito

de las negras de la siguiente forma. Si dos celdas negras x e

y forman una conexin virtual y una celda vaca c es un

vecino de una de las terminales de la conexin virtual,

digamos por ejemplo de x, entonces se trata a la celda c como

26 de 36
un vecino de la otra terminal y. Esto significa que se conectan

a las celdas c e y con un enlace elctrico adicional de la

misma forma que se hizo para el caso de los vecinos

verdaderos. (He intentado ambos enfoques pero no tengo datos

concluyentes para sugerir cul es mejor).

Sean RB y Rw las distancias entre las fronteras de las negras

en el circuito de las negras y las fronteras de las blancas en

el circuito de las blancas correspondientemente. Ahora se

define una funcin de evaluacin E como:

E = log (RB / Rw)

Una mtrica de distancia razonable es la longitud de la ruta

ms corta en el grafo que conecta las fronteras. Sin embargo,

las distancias pueden ser medidas de distintas formas.

Siguiendo la idea de Shannon se aplic un voltaje elctrico a

las dos fronteras opuestas del tablero y se midi la resistencia

total entre ellas, RB para el circuito de las negras y R w para

el circuito de las blancas (vea la Fig. 10).

27 de 36
Fig. 10: Circuitos de las negras y las blancas

Esta idea fue implementada por C.E. Shannon en un robot

que jugaba el juego Bird Cage, tambin conocido como el juego

de Gale o Bridg-it (vea [13]).

Se prefiri este mtodo para medir las distancias porque de

acuerdo a las leyes de corriente elctrica de Kirchhoff la

resistencia total toma en cuenta no solamente la longitud de

la ruta ms corta sino que adems tambin considera todas

las otras rutas que conectan las fronteras, sus longitudes y

sus intersecciones. Pero la opcin por esta mtrica no es tan

importante como las profundidades de las conexiones virtuales

incluidas en el circuito. Las conexiones virtuales con una

profundidad d contienen informacin sobre los nodos del rbol

de juego asociado con la evaluacin de la posicin de hex d

28 de 36
movimientos adelante. Entonces se puede esperar que al

incluir los enlaces elctricos que corresponden a conexiones

virtuales con una profundidad menor que o igual a d

obtenemos una funcin de evaluacin con capacidad de

prediccin hasta d movimientos adelante.

6. HEXY JUEGA HEX

HEXY es un programa de computadora que juega hex y que

usa las ideas presentadas arriba. Este corre en una PC

estndar con Windows y puede ser bajado del sitio web:

http://vanshel.com/Hexy/ .

Como se mostr en la seccin 4 existen conexiones virtuales

que no pueden ser descubiertas por la bsqueda H. Esto

significa que la bsqueda H no puede servir como una

alternativa a la bsqueda de rboles de juego. Por lo tanto

HEXY usa un algoritmo combinado que mezcla ambos mtodos

en la proporcin descrita abajo.

HEXY usa un algoritmo de bsqueda selectiva alfa-beta con

las funciones de evaluacin descritas en la seccin 5. Para

cada nodo a ser evaluado HEXY calcula la jerarqua de las

29 de 36
conexiones virtuales para ambos circuitos: El de las negras y

el de las blancas usando la bsqueda H. Entonces HEXY

calcula la funcin de evaluacin basado en las resistencias R B

y RW entre las fronteras negras y las fronteras blancas

correspondientemente. Para calcular la resistencia elctrica

entre las fronteras, HEXY resuelve el sistema de ecuaciones

lineales de Kirchhoff para el potencial elctrico usando un

mtodo de iteraciones (vea por ejemplo [21]). La solucin es

usada tambin para el ordenamiento de los movimientos. Para

cada celda vaca del tablero, el programa calcula una energa

la cual se disipa sobre todos los enlaces adyacentes a esta

celda. Los movimientos jugados en las celdas con una energa

ms alta tienen una mayor prioridad.

En la practica HEXY raramente usa parejas de celdas vecinas

como el conjunto inicial para la bsqueda H sino que ms

bien busca cambios en la jerarqua de las conexiones virtuales

causados por una ficha adicional colocada en el tablero. El

programa mantiene un registro de las mnimas conexiones

virtuales y semi-conexiones disponibles.

El programa tiene varios umbrales importantes que controlan

el tiempo de ejecucin y la cantidad de memoria requerida. Ya

30 de 36
que el principal objetivo fue la creacin de un programa que

jugara hex y que proveyera diversin a los seguidores de hex

se impuso la condicin de que HEXY debera ser capaz de

completar un juego sobre el tablero de 10x10 en 8 minutos

sobre un PC estndar con un procesador de 300 Mhz y 32

MB de RAM. Esto significa que HEXY no debe gastar ms de

10 a 20 segundos por movimiento. Entonces se intent

maximizar la fortaleza de juego al encontrar valores ptimos

de los umbrales satisfaciendo la condicin mencionada arriba.

Esto fue hecho experimentalmente.

Durante los experimentos se compar la fortaleza de juego de

diferentes versiones del programa aplicando la siguiente

metodologa. Se seleccionaron 5 primeros movimientos que se

consideraron como neutrales y se enfrent una versin del

programa en contra de otra en un encuentro de 10 juegos.

Cada posicin de inicio fue jugada 2 veces permitindole a

cada programa disfrutar del primer movimiento (ningn

intercambio fue permitido). Si uno de los programas ganaba

por lo menos 8 juegos de 10 se decida que este programa era

superior. En el caso contrario se consideraba el resultado del

encuentro como inconcluyente.

31 de 36
Los umbrales ms importantes son D y M. El parmetro D es

la profundidad de la bsqueda del rbol de juego. El

parmetro M coloca lmite sobre el nmero de diferentes

conexiones virtuales mnimas con las mismas terminales

construidas por el programa. Este umbral controla

indirectamente el nmero total de conexiones virtuales mnimas

calculadas. Entre ms grande sea M la bsqueda H construye

ms conexiones virtuales mnimas para cada nodo del rbol de

juego. Sin embargo, no se coloc ningn limite sobre el

nmero de iteraciones del algoritmo o sobre el nmero total de

conexiones virtuales y sus profundidades o sobre el total de

tiempo de procesamiento. La bsqueda H se detiene cuando

sucede alguno de estos 2 casos: no se produjeron conexiones

virtuales nuevas o se construy la conexin virtual ganadora.

Hay un intercambio entre los parmetros D y M y encontrar

un ptimo es una tarea importante. Los experimentos

muestran que la dependencia de la fortaleza de juego de

HEXY sobre el parmetro M es mucho ms significativa que

su dependencia sobre la profundidad D de la bsqueda de los

rboles de juego. Los mejores resultados son obtenidos con

D=3 y M=20 (para el tablero de 10x10). En particular esta

versin de HEXY (llamada nivel avanzado) es

significativamente ms fuerte que aquella con D=6 y M=0

32 de 36
(M=0 significa que con la excepcin del caso de los pares de

celdas vecinas no es calculada ninguna conexin virtual). El

nivel avanzado realiza una bsqueda de rboles de juego poco

profunda (de 200 a 500 nodos por movimiento) sin embargo,

este calcula muchas docenas de conexiones virtuales y muchos

cientos de semi-conexiones virtuales por nodo. Esta versin de

HEXY rutinariamente detecta conexiones virtuales con una

profundidad de 20 o ms, lo que significa que el programa

anticipa algunas lneas de juego 20 o ms movimientos

adelante. En particular HEXY descubre rutinariamente la

conexin virtual ganadora 20 o ms movimientos antes del

final real del juego. (El hecho de que la profundidad mxima

tpica de las conexiones virtuales calculadas es

aproximadamente igual a 20, as como tambin lo es el valor

escogido para M, no es ms que una pura coincidencia).

Otro umbral K coloca el limite para el nmero de semi-

conexiones virtuales sobre el lado de la entrada de la regla de

deduccin OR. Este es seleccionado en el rango de 4 a 5.

Ningn otro podado o filtrado es aplicado a la bsqueda H.

HEXY demuestra una superioridad clara sobre todos los

programas de computadora conocidos como jugadores de hex.

33 de 36
En particular se compar HEXY con el programa QUEENBEE

elaborado por J. van Rijswijck (del grupo GAMES de la

Universidad de Alberta). En contraste con HEXY este

programa explota una bsqueda masiva de rboles de juego

con una funcin de evaluacin barata computacionalmente (vea

[22]). QUEENBEE usa una bsqueda iterativa de profundidad

alfa-beta mejorada con una bsqueda de mnima

ventana/variacin principal y tablas de transposicin. La

bsqueda de QUEENBEE tambin incorpora las ideas de

bsqueda fraccional de capas del algoritmo de bsqueda SEX

SEARCH [15]. La comparacin de HEXY con QUEENBEE se

realiz en los tableros de 7x7, 10x10 y 11x11, usando los

mismos mtodos y criterios, como aquellos usados para la

comparacin de las diferentes versiones de HEXY.

En todos estos tableros, HEXY demostr superioridad. Los

programas tambin se enfrentaron uno al otro en el torneo de

hex realizado en la Quinta Olimpiada de Computadoras en

Londres en el ao 2000. HEXY venci a QUEENBEE con 4

victorias y ninguna perdida [4]. (De acuerdo a las reglas de la

Olimpiada cada programa tena 30 minutos para un juego en

el tablero de 11x11. Los parmetros de HEXY fueron ajustados

para poder cumplir estos requerimientos. Ya que HEXY no

34 de 36
usaba ningn libro de aperturas el 40% del tiempo disponible

fue asignado para los primeros 4 movimientos). HEXY ha sido

probado tambin sobre el tablero de 10x10 jugando contra

seres humanos en el popular sitio web de juegos Playsite

(http://www.playsite.com/games/board/hex/).

La conclusin provisional es que HEXY no puede competir en

el mismo nivel con los mejores jugadores humanos. Sin

embargo, luego de ms de 100 juegos el programa logr una

clasificacin que est entre las ms altas del rango de

clasificacin de Playsite.

7. CONCLUSIN

En este ensayo se describi un enfoque jerrquico al juego hex

y se explic como este enfoque es implementado en HEXY,

actualmente el programa para computadora que mejor juega

hex. Se hizo nfasis sobre la jerarqua de las conexiones

virtuales y se definieron las reglas de deduccin AND y OR

que se usaron para construir complejas conexiones virtuales

recursivamente comenzando desde las ms simples. Integrando

la informacin acerca de las conexiones virtuales de esta

jerarqua se construy una funcin de evaluacin capaz de

35 de 36
anticipar el potencial de las posiciones de hex muchos

movimientos adelante. El proceso de descubrir las conexiones

virtuales, la bsqueda H, es costosa computacionalmente. Sin

embargo, las habilidades que resultan de la funcin de

evaluacin supera en gran medida su costo computacional.

Los apndices A, B, C y el listado de las referencias pueden

ser consultados en la pgina web:

http://vanshel.com/Hexy/Publications/VAnshelevich-ARTINT.pdf

36 de 36