• No se han encontrado resultados

Bot de Arimaa basado en geometría lingüística

N/A
N/A
Protected

Academic year: 2023

Share "Bot de Arimaa basado en geometría lingüística"

Copied!
151
0
0

Texto completo

(1)

Jos´ e Roberto Mercado Vega

27 de noviembre de 2008

(2)

ii

(3)
(4)

iv

(5)

El estudio formal de juegos tiene sus ra´ıces en la teor´ıa de juegos cl´asica con los trabajos de von Neumann-Morgenstern y John Nash. Los autores Conway, Berlekamp y Guy propusieron una equivalencia entre juegos combinatorios (una subclase de juegos) y un tipo de n´umeros llamados surreales. El valor de un jue- go en este tipo de n´umeros indica qui´en ganar´a el juego si ambos jugadores juegan lo mejor posible. El an´alisis de juegos combinatorios es posible gracias a una representaci´on de los juegos por medio de ´arboles. Para realizar la b´usque- da de soluciones en estos ´arboles, se han desarrollado diversos algoritmos; en particular, el algoritmo alfa-beta ha tenido un prominente auge. Para evitar revisar los ´arboles de juego completos, los algoritmos de b´usqueda se apoyan en mecanismos de estimaci´on conocidos como heur´ısticas.

A la fecha, los programas m´as fuertes en algunos juegos populares como el ajedrez utilizan el algoritmo de b´usqueda alfa-beta con heur´ısticas sofisticadas hechas a la medida del juego. En 1997, por primera vez, una computadora derrot´o a un campe´on mundial de ajedrez. Este evento inspir´o a Omar Syed para el desarrollo de un juego llamado arimaa. Su intenci´on con ´el fue hacerlo dif´ıcil de resolver usando los enfoques actuales de b´usqueda.

La Geometr´ıa Ling¨u´ıstica es una t´ecnica que ofrece un m´etodo formal, ba- sado en la experiencia de expertos ajedrecistas humanos, para simplificar el desarrollo de heur´ısticas complejas. La Geometr´ıa Ling¨u´ıstica funciona por me- dio del procesamiento de cadenas que representan estructuras l´ogicas dentro de un juego. Este procesamiento se hace por medio de un tipo de gram´aticas formales, llamadas gram´aticas controladas. Un modelo basado en Geometr´ıa Ling¨u´ıstica requiere gram´aticas para cada uno de los componentes esenciales de la Geometr´ıa Ling¨u´ıstica: trayectorias, zonas, traslaciones y b´usquedas.

La presente tesis presenta un modelo del juego de arimaa basado en Geo- metr´ıa Ling¨u´ıstica. El modelo propuesto utiliza:

La gram´atica de trayectorias propuesta en el desarrollo original de la Geo- metr´ıa Ling¨u´ıstica.

Dos gram´aticas de zonas espec´ıficas para el juego de arimaa, propuestas en este trabajo.

Una gram´atica de traslaciones con algunas modificaciones respecto a la dada en el desarrollo original de la Geometr´ıa Ling¨u´ıstica.

Dos gram´aticas de b´usquedas, propuestas en el presente trabajo para rea- lizar algunas pruebas con el modelo.

El modelo es probado por medio de algunos casos prueba. Estos son usados como entrada para una implementaci´on en software del modelo propuesto. Los resultados entregados por este software son comparados con el an´alisis de un jugador humano.

(6)

Abstract

The formal study of games roots in the classic game theory with works by von Neumann-Morgenstern and John Nash. Conway, Berlekamp and Guy proposed an equivalence between combinatorial games (a subclass of games) and a type of numbers called surreal; a game’s value in this kind of numbers points out the winner of the game under their best choices. The analysis of combinatorial games is possible due to a representation of games through trees. To search a solution of the game through these trees, a number of algorithms have been developed, in particular, the alpha-beta algorithm has had an outstanding success. To avoid searching through the whole trees, search algorithms use estimation mechanisms called heuristics.

Up to date, the strongest playing programs in some popular games like chess use the alpha-beta search algorithm together with advanced heuristics created for that particular game. In 1997, for the first time, a computer defeated a chess world champion. This event inspired Omar Syed to develop a game called ari- maa. He intended to make it difficult to solve under present search approaches.

Linguistic Geometry is a technique that offers a formal method, based on the expertise of human chess masters, to make easier the development of complex heuristics. Linguistic Geometry works through string processing. These strings represent ingame logic structures. The processing is made through a kind of for- mal grammars called controlled grammars. A Linguistic Geometry based model requires a grammar for each one of the essential components of Linguistic Geo- metry: trajectories, zones, translations and searches.

The current thesis introduces a Linguistic Geometry based model for the game of arimaa. The propposed model uses:

Linguistic Geometry’s default grammar of trajectories.

Two grammars of zones particular to the game of arimaa, original to this work.

Linguistic Geometry’s default grammar of translations with some changes.

Two grammars of searches, proposed in this work to be used in some tests of the proposed model.

The model is tested through the use of some test cases. These are used as input for a software implementation of the proposed model. The results given by the software are compared against the analysis made by a human player.

(7)
(8)

´ Indice general

1. Introducci´on 1

1.1. Motivaci´on . . . 1

1.2. Objetivos y alcance de la tesis . . . 4

1.3. Organizaci´on del documento . . . 5

1.4. Convenciones y asunciones . . . 6

2. Conceptos b´asicos e historia 7 2.1. Teor´ıa de juegos . . . 8

2.2. Juegos combinatorios . . . 12

2.3. B´usqueda . . . 14

2.3.1. Algoritmos generales de b´usqueda . . . 16

2.3.2. Algoritmos de b´usqueda en juegos . . . 17

2.4. Geometr´ıa ling¨u´ıstica . . . 20

2.5. El juego de arimaa . . . 23

3. Arimaa 25 3.1. Las reglas de arimaa . . . 25

3.1.1. Valor de las piezas . . . 29

3.2. T´acticas y estrategias . . . 29

3.2.1. T´acticas . . . 30

3.2.2. Estrategias b´asicas . . . 36

3.3. Complejidad computacional . . . 56

4. Geometr´ıa ling¨u´ıstica 59 4.1. Introducci´on . . . 59

4.2. Panorama del enfoque de la LG . . . 60

4.3. Jerarqu´ıa de lenguajes formales . . . 68

4.4. T´ecnicas de generaci´on de lenguajes . . . 76

4.4.1. Gram´aticas controladas . . . 76

4.4.2. Gram´atica de trayectorias m´as cortas . . . 79

4.4.3. Gram´atica de trayectorias m´as cortas y admisibles . . . . 80

4.4.4. Gram´atica de zonas . . . 81

4.4.5. Gram´atica de traslaciones . . . 83

4.4.6. Gram´atica de b´usquedas . . . 85

iii

(9)

5. Modelo de arimaa 87

5.1. Introducci´on . . . 87

5.2. El ABG de arimaa . . . 88

5.3. Gram´aticas de zonas para arimaa . . . 90

5.3.1. Gram´atica de zonas CUT . . . 90

5.3.2. Gram´atica de zonas de avance . . . 93

5.4. Gram´atica de traslaciones para arimaa . . . 96

5.5. Gram´aticas de b´usquedas para arimaa . . . 97

5.5.1. Captura en un turno . . . 97

5.5.2. La meta en un turno . . . 98

6. Resultados y conclusiones 99 6.1. Introducci´on . . . 99

6.2. Pruebas y resultados . . . 100

6.2.1. Caso prueba 1 . . . 100

6.2.2. Caso prueba 2 . . . 103

6.2.3. Caso prueba 3 . . . 106

6.2.4. Caso prueba 4 . . . 109

6.2.5. Caso prueba 5 . . . 112

6.3. Funcionamiento de la gram´atica de traslaciones . . . 113

6.4. Conclusiones y trabajo futuro . . . 113

A. Cadenas para el modelo de arimaa 121 A.1. Cadenas para la gram´atica de trayectorias . . . 121

A.2. Cadenas para las gram´aticas de zonas . . . 124

A.3. Traslaci´on de cadenas . . . 126

A.4. Cadenas para la gram´atica de b´usquedas . . . 127

B. Teorema minimax 131 B.1. Introducci´on . . . 131

B.2. Preliminares . . . 131

B.3. Teorema minimax . . . 132

Bibliograf´ıa 135

(10)

´ Indice de figuras

2.1. Nefertari, esposa de Rams´es II, jugando senet. . . 7

2.2. El dilema del prisionero en forma normal. . . 9

2.3. Juego en forma extensiva. . . 9

2.4. El algoritmo minimax. . . 18

2.5. El algoritmo alfa-beta. . . 19

3.1. Ejemplo de posiciones iniciales. . . 27

3.2. Ejemplo de movimientos b´asicos. . . 28

3.3. Ejemplo de la meta en un turno. . . 31

3.4. Ejemplo de captura en un turno. . . 32

3.5. Ejemplo de defensa de captura en un turno. . . 34

3.6. El perro plata est´a en un ataque doble. . . 36

3.7. El caballo plata est´a cercado. . . 37

3.8. Un ataque directo a la meta. . . 38

3.9. Un intento por capturar piezas. . . 39

3.10. Camello plateado reh´en. . . 40

3.11. Liberando al elefante plateado. . . 41

3.12. El elefante plateado est´a bloqueado. . . 42

3.13. Un bloqueo de elefante menos ventajoso. . . 43

3.14. Un bloqueo de elefante in´util. . . 44

3.15. Un elefante clavado. . . 45

3.16. Una carrera de posiciones. . . 46

3.17. Las trampas c3, f3 y f6 est´an obstruidas. . . 47

3.18. Dorado se beneficia si abandona la trampa f6. . . 48

3.19. Una pieza fuerte puede tomar el control de la trampa. . . 49

3.20. Ejemplos de trampas disputadas. . . 49

3.21. Dos piezas con dominio local son mas fuertes. . . 50

3.22. El principio de ganar por uno. . . 51

3.23. Tres conejos plateados in´utiles al frente. . . 52

3.24. Conejos aliados bloqueando elefante plateado. . . 53

3.25. Dorado va ganando a pesar de la desventaja de piezas. . . 54

3.26. Elefante dorado bloqueado con la ayuda de conejos avanzados. . 54

3.27. Aperturas populares de arimaa. . . 55

v

(11)

4.1. LG contra algunos algoritmos de b´usqueda. . . 60

4.2. Jerarqu´ıa de subsistemas de LG. . . 62

4.3. Ejemplo de una trayectoria. . . 64

4.4. Ejemplo de una red. . . 65

4.5. Ejemplo de una traslaci´on. . . 66

4.6. Ejemplo de una b´usqueda. . . 67

4.7. Jerarqu´ıa de lenguajes de LG. . . 67

4.8. Tableros discretos con celdas cuadradas (izquierda) y celdas he- xagonales (derecha). . . 69

4.9. Ejemplos de trayectorias: m´as corta (ta) y admisible de grado 2 (tb). . . 71

4.10. Ejemplo de distancias en un tablero. . . 72

5.1. Distribuci´on de celdas para el modelo de LG. . . 89

6.1. Caso prueba 1 - Posici´on en el tablero. . . 101

6.2. Caso prueba 1 - Zona CUT en la trampa c6. . . 102

6.3. Caso prueba 1 - Zona CUT en la trampa f3. . . 103

6.4. Caso prueba 2 - Posici´on en el tablero. . . 104

6.5. Caso prueba 2 - Zona CUT en la trampa c6. . . 105

6.6. Caso prueba 2 - Zona CUT en la trampa f6. . . 106

6.7. Caso prueba 3 - Posici´on en el tablero. . . 107

6.8. Caso prueba 3 - Zona de avance. . . 108

6.9. Caso prueba 4 - Posici´on en el tablero. . . 109

6.10. Caso prueba 4 - Zona de avance. . . 111

6.11. Caso especial de captura en un turno. . . 112

6.12. Posici´on inicial. . . 114

6.13. Conejo dorado de d3 a d4. . . 114

6.14. Conejo dorado de d4 a d5. . . 115

6.15. Conejo dorado de d5 a d6. . . 115

6.16. Conejo dorado de d6 a d7. . . 116

6.17. Perro plateado de b7 a c7. . . 116

6.18. Perro plateado jala al conejo dorado a c7, mientras se mueve a b7.117 6.19. Perro dorado de b6 a c6. . . 117

6.20. Conejo dorado de c7 a c8, perro dorado capturado en c6. . . 118

A.1. Posici´on base. . . 122

A.2. Trayectoria para la cadena. . . 123

A.3. Trayectorias para la cadenas. . . 123

A.4. Zona para la cadena. . . 125

A.5. Zonas CUT para las cadenas. . . 126

A.6. Zonas CUT despu´es del primer movimiento. . . 127

A.7. Zonas CUT para las cadenas. . . 128

A.8. Zonas CUT para las cadenas. . . 128

A.9. ´Arbol de b´usqueda. . . 130

(12)

Cap´ıtulo 1

Introducci´ on

1.1. Motivaci´ on

Los juegos son una de las tradiciones m´as antiguas de la humanidad. En el antiguo Egipto se jugaban algunos juegos de tablero tales como: senet y mehen. La popularidad de los juegos, al parecer, se debe a la competencia, a la posibilidad de medir nuestras capacidades contra alguien m´as. Las personas atribuimos cualidades intelectuales a quienes son capaces de jugar bien alg´un juego. Existen grupos sociales en los que la inteligencia de los individuos se cataloga de acuerdo a su habilidad para jugar ciertos juegos.

Muchos han estudiado como jugar mejor ciertos juegos, algunos lo han hecho de manera emp´ırica, otros de manera cient´ıfica. Es as´ı como los juegos han resultado de inter´es para diversas disciplinas. En matem´aticas surgieron las

´

areas de teor´ıa de juegos y teor´ıa de juegos combinatorios. En computaci´on se han intentado resolver juegos de diversas maneras, siendo la de mayor auge la de la b´usqueda.

Intuitivamente entendemos que un juego coloca a los jugadores que partici- pan en ´el en situaciones donde necesitan tomar decisiones para obtener alguna ganancia. A esta ganancia se le conoce como utilidad. Formalmente, adem´as, se asume el concepto de racionalidad; ´este implica que los jugadores tratar´an de ganar lo m´as que puedan al jugar un juego.

Los trabajos de von Neumann-Morgenstern [77] y John Nash [40] inician el estudio formal de interacciones humanas en situaciones de conflicto, motivando la definici´on de juego. Estos trabajos son parte de un ´area matem´atica llamada teor´ıa de juegos. Las conclusiones y resultados de la teor´ıa de juegos se usan, a´un en la actualidad, en ´areas como la econom´ıa y la filosof´ıa. Esto demuestra que el estudio de juegos puede ser usado para ganar una cierta introspecci´on de la actividad humana.

1

(13)

Existe una subclase de juegos que representa un relevante campo de estudio;

´

esta es la subclase compuesta por los juegos combinatorios. Un juego combinato- rio tiene naturaleza secuencial, se especializa en dos jugadores y no incluye azar.

Esta categor´ıa de juegos resulta importante porque incluye a diversos juegos de tablero cuyo estudio es interesante.

John Conway, Elwyn Berlekamp y Richard Guy presentaron un modelo ma- tem´atico para el estudio de juegos combinatorios [4]. Este modelo se fundamenta en la equivalencia, propuesta por dichos autores, entre juegos combinatorios y un tipo de n´umeros llamados surreales.

El an´alisis de juegos combinatorios es posible gracias a una representaci´on de los juegos por medio de grandes ´arboles. Estos contemplan las posibles evolu- ciones del juego al incluir todas las posiciones en las que el juego puede llegar a estar. Estos ´arboles puede ser enormes y, por lo tanto, imposibles de anali- zar en la pr´actica. Claude Shannon estim´o que el tiempo necesario para revisar el ´arbol completo del juego del ajedrez es de al menos 1090 a˜nos usando una computadora te´orica, avanzada para su tiempo.

El estudio de juegos con ´arboles muy grandes se ha enfocado en la b´usqueda de soluciones en el ´arbol. Sin embargo, buscar a trav´es de estos ´arboles no resulta una tarea sencilla; para simplificar el proceso y hacerlo factible, los m´etodos de b´usqueda se apoyan en mecanismos de estimaci´on conocidos como heur´ısticas.

La b´usqueda en los ´arboles de juego se hace por medio de algoritmos. Existen algoritmos dise˜nados para buscar en cualquier tipo de ´arbol. Estos se pueden usar en juegos y revisan el ´arbol de manera exhaustiva. Ejemplos de algoritmos de b´usqueda general son depth-first, breadth-first y best-first. Las diferencias principales entre este tipo de algoritmos son: el orden en que recorren el ´arbol y el uso que hacen de heur´ısticas en el proceso.

Existen algoritmos de b´usqueda especializados en ´arboles de juego. De estos, los m´as importantes son el minimax y el alfa-beta. El algoritmo minimax busca en todos los nodos del ´arbol de juego. El algoritmo alfa-beta realiza una busque- da similar, pero evita buscar en ramas que resultan irrelevantes, en el sentido de que resultan tan malas para un jugador que no es posible que se den realmente en el juego. Ambos algoritmos generan el mismo resultado, por lo que en la pr´actica s´olo se usan alfa-beta y variantes de ´el.

Los juegos que han sido m´as investigados en el ´ambito de las ciencias de la computaci´on son aquellos que representan un reto para las personas y que no pueden ser resueltos por m´etodos anal´ıticos. Ejemplos de estos juegos son el ajedrez, el GO y el shogi. De manera especial, el estudio del ajedrez ha tenido mucho auge. El cl´ımax en la simulaci´on del juego de ajedrez es sin duda el 11 de Mayo de 1997. En esta fecha la computadora de IBM conocida como Deep

(14)

1.1. MOTIVACI ´ON 3

Blue derrot´o al campe´on mundial de ajedrez Garry Kasparov por dos partidas a una con tres empates adicionales.

La forma de operar de la Deep Blue era a partir del algoritmo alfa-beta utilizando complejas heur´ısticas, libros de apertura y cierre, as´ı como hardware especializado para la evaluaci´on de ajedrez.

Con el fin de fomentar el desarrollo de software “inteligente”, Omar y Aamir Syed crearon un nuevo juego llamado arimaa. Arimaa fue liberado en el 2002 y fue pensado con la finalidad de ser complejo de resolver bajo los enfoques actua- les de b´usqueda computacional; es decir, dif´ıcil usando los algoritmos actuales.

Esta caracter´ıstica obliga a cualquiera que desee crear un programa que juegue arimaa a romper los esquemas tradicionales y buscar nuevos enfoques. Con esta idea en mente la intenci´on es tratar de lograr enfoques con mayor profundidad, programas que diverjan en esencia de lo que existe actualmente.

Por estas razones, resulta interesante el estudio de arimaa. Pero el solo estudio de arimaa no es la finalidad. El estudio de arimaa en s´ı solo permitir´ıa crear pro- gramas que jueguen mejor cada vez. Arimaa puede representar un buen campo de prueba de nuevas t´ecnicas que alg´un d´ıa podr´ıan ser usadas en otro tipo de problemas. Esto es debido a que las caracter´ısticas de arimaa lo hacen dif´ıcil para los algoritmos de b´usqueda conocidos actualmente, por lo que t´ecnicas que generen buenos resultados en arimaa tienen grandes posibilidades de presentar innovaciones.

Una t´ecnica que ha tenido poco auge, y sin embargo parece albergar cierto potencial, es la Geometr´ıa Ling¨u´ıstica. La Geometr´ıa Ling¨u´ıstica (LG por sus siglas en ingl´es) fue formalmente bautizada as´ı en 1991, aunque podr´ıan conside- rarse como parte de su desarrollo trabajos que datan de 1958. El autor principal de la teor´ıa de la LG es Boris Stilman [61]. La LG ha tenido un desarrollo lento pero constante. En sus or´ıgenes, la LG se limitaba al estudio del ajedrez, pero la flexibilidad de su dise˜no le permiti´o moverse a otras ´areas. Algunas de las

´

areas de aplicaci´on reciente de la LG son la simulaci´on militar, la planeaci´on de mantenimiento a plantas el´ectricas y los mecanismos de control de robots.

La LG fue desarrollada pensando en modelos llamados juegos de tablero abs- tractos (abstract board games - ABG). Cualquier cosa que deseemos modelar con LG debe ser mapeada a un ABG. Arimaa es en s´ı un juego de tablero, y por lo tanto, su traducci´on a un ABG es directa. Sin embargo, las t´ecnicas de LG no est´an pensadas para funcionar con las reglas de arimaa, por lo que es necesario modificar (ajustar) las herramientas para poder usarlas en arimaa.

Desde su origen, la LG ha sido propuesta tratando de imitar la forma de pensar de expertos ajedrecistas, en particular del maestro ajedrecista Botvinik.

Para ello la LG utiliza una jerarqu´ıa de lenguajes formales que simulan niveles

(15)

de abstracci´on en la comprensi´on del problema. La generalizaci´on del uso de las herramientas de la LG es posible gracias a las caracter´ısticas que se requieren de un ABG. La jerarqu´ıa de lenguajes formales est´a formada por: trayectorias, redes, traslaciones y b´usquedas.

Trabajar en arimaa utilizando LG tiene el potencial de generar resultados positivos. La investigaci´on en s´ı tiene proyecci´on amplia; es por ello que es de considerar que las primeras aproximaciones ser´an conservadoras. Este estudio plantea la posibilidad de extender la introspecci´on sobre la LG.

1.2. Objetivos y alcance de la tesis

La presente tesis tiene como objetivo principal desarollar un modelo de ari- maa basado en Geometr´ıa Ling¨u´ıstica. Para ello es necesario modificar las herra- mientas de la Geometr´ıa Ling¨u´ıstica para que sean aplicables al juego de arimaa.

El modelo ser´a implementado en software por medio de un aut´omata, el cual ser´a usado como campo experimental y de prueba del mismo. El aut´omata to- ma el nombre de bot como un an´alogo de robot, pero basado exclusivamente en software. El t´ermino bot es com´un en la comunidad en l´ınea de arimaa.

Por medio del modelo se pretenden implementar algunas t´acticas comunes al juego de arimaa. ´Estas se traducen en heur´ısticas que aprovechan las herra- mientas modificadas de Geometr´ıa Ling¨u´ıstica para ser expresadas de manera abstracta. Las t´acticas implementadas ser´an probadas por medio de casos prue- ba en juegos de arimaa.

La existencia de limitantes en el desarrollo del proyecto es inevitable. Para minimizar este efecto, el dise˜no del bot deber´a ser flexible, permitiendo su futura extensi´on. As´ı, trabajos futuros podr´an ampliar la implementaci´on original para incluir otras t´acticas, estrategias u otras consideraciones posteriores. La escala- bilidad de esta versi´on del bot resulta particularmente importante ya que debe poder servir como herramienta de construcci´on en investigaciones posteriores.

El objetivo ulterior de la presente tesis es sentar la base para investigaciones futuras sobre Geometr´ıa Ling¨u´ıstica y su aplicaci´on en juegos. As´ı, la presente tesis sienta un precedente y podr´a ser utilizada para generar avances posteriores.

El modelo planteado pretende ser claro en cuanto a modelado y representa- ci´on. El dise˜no e implementaci´on no pretenden ser computacionalmente eficien- tes en lo referente a tiempo de ejecuci´on. En caso necesario, se prefiere sacrificar eficiencia de c´omputo en pro de claridad del modelo. Una implementaci´on con alto grado de eficiencia computacional o con optimizaciones a nivel de hardware son motivo de trabajo futuro.

(16)

1.3. ORGANIZACI ´ON DEL DOCUMENTO 5

Los factores a observar de las t´acticas implementadas son la l´ogica de los movimientos generados y su eficacia. La existencia de una l´ogica se ve reflejada en que la secuencia de jugadas siga los objetivos de las t´acticas implementadas.

La eficacia se refleja en el ´exito que se tenga al conseguir esos objetivos. Pruebas de este tipo, as´ı como su an´alisis, se presentan como parte de la aportaci´on principal del presente trabajo.

1.3. Organizaci´ on del documento

En este cap´ıtulo se han presentado la motivaci´on, objetivo y alcances de la tesis. El resto del documento est´a organizado de la siguiente manera:

En el cap´ıtulo 2 se presentan algunos antecedentes hist´oricos, as´ı como concep- tos b´asicos de la teor´ıa de juegos, juegos combinatorios y b´usqueda de soluciones.

Tambi´en se abordan trabajos referentes a Geometr´ıa Ling¨u´ıstica y, finalmente, se mencionan algunos intentos por resolver arimaa.

El cap´ıtulo 3 proporciona una cobertura general de arimaa. Inicia con la expli- caci´on de las reglas del juego, sigue con la descripci´on de las t´acticas elementales y concluye con algunas estrategias b´asicas e intermedias.

El cap´ıtulo 4 explica las bases te´oricas de la Geometr´ıa Ling¨u´ıstica. El mate- rial presentado tiene correcciones tipogr´aficas, notacionales y de concepto con respecto al introducido por Stilman [69]. Este cap´ıtulo presenta la jerarqu´ıa de subsistemas de la LG, proporciona las definiciones b´asicas de la LG y, final- mente, presenta las gram´aticas controladas, las cuales son indispensables para el modelado con LG.

El cap´ıtulo 5 presenta el modelo propuesto para la aplicaci´on de LG a arimaa.

Se incluye una descripci´on de las herramientas que se utilizan, as´ı como la justificaci´on de su creaci´on. Este cap´ıtulo representa la aportaci´on principal del presente trabajo de tesis.

En el cap´ıtulo 6 se presenta una serie de casos prueba para el modelo introdu- cido en el cap´ıtulo 5, estos se analizan y se presenta una cr´ıtica de los resultados obtenidos. Tambi´en se presentan las conclusiones resultantes, as´ı como algunas propuestas de trabajo futuro.

En el ap´endice A se presenta una referencia de la generaci´on de cadenas y su traducci´on a una representaci´on visual. Las cadenas presentadas son generadas por las gram´aticas del modelo propuesto en el cap´ıtulo 5. Los ejemplos de este ap´endice est´an basados en un caso prueba del cap´ıtulo 6.

(17)

Finalmente, en el ap´endice B se presenta una demostraci´on del teorema mi- nimax de von Neumann. ´Esta se basa en la existencia del equilibrio de Nash. El teorema minimax resulta importante porque proporciona la base te´orica para el estudio de juegos.

1.4. Convenciones y asunciones

A partir del siguiente cap´ıtulo y a lo largo del presente documento, se han adoptado algunas convenciones tipogr´aficas para enfatizar algunos aspectos del documento. Estas se listan a continuaci´on:

Se presentan en negritas algunos conceptos importantes con el fin de llamar la atenci´on del lector, tales como definiciones o ideas nuevas intro- ducidas.

Se presentan en it´alicas palabras t´ecnicas o anglicismos que sean utilizados en el cuerpo del documento.

Adem´as, a lo largo del documento es importante notar los siguientes:

Cuando se introduce un concepto se hace en espa˜nol y, en los casos perti- nentes, el t´ermino original se presenta en ingl´es entre parentesis.

Algunos t´erminos se introducen ´unicamente en ingl´es cuando no existe una traducci´on adecuada de los mismos al espa˜nol.

Cuando se abrevia un concepto o t´ermino, se prefieren sus siglas en ingl´es para mantener coherencia con las referencias.

Cuando un concepto no se menciona abreviado se prefiere su traducci´on en espa˜nol, a no ser que resulte imprecisa, en cuyo caso se utiliza el t´ermino original en ingl´es.

(18)

Cap´ıtulo 2

Conceptos b´ asicos e historia

Los juegos han sido un pasatiempo para el hombre desde tiempos ancestrales.

Existen registros de juegos como senet (figura 2.1) que data del 3500 A.C., o mehen del 2000 A.C. [13]. En su libro [50], H. J. R. Murray muestra una pintura egipcia que data del 2000 A.C.; en ella, un par de personas juegan en un tablero con piezas de formas humanas. Considerando la antig¨uedad del inter´es humano por los juegos, no es raro que exista una vasta cantidad de ellos. Gran cantidad de juegos han sido creados para fines de entretenimiento y muchos otros han sido creados como reto.

Figura 2.1: Nefertari, esposa de Rams´es II, jugando senet.

El estudio de juegos se ha extendido enormemente. Se ha investigado sobre c´omo resolver juegos matem´aticamente, c´omo encontrar t´ecnicas para jugar me- jor, y hasta c´omo hacer m´aquinas que jueguen. Esto ha dado como resultado el

7

(19)

desarrollo de numerosas ´areas que abordan el estudio de juegos con diferentes enfoques y otras que se especializan en ciertas clases de juegos.

Este cap´ıtulo aborda los diferentes enfoques del estudio de juegos, ilustran- dolas y mencionando trabajos relevantes de cada uno. El tratado inicia en la la secci´on 2.1 con teor´ıa de juegos, un ´area matem´atica de gran aplicaci´on en econom´ıa. En la secci´on 2.2 se revisa la teor´ıa de juegos combinatorios, una teor´ıa con aplicaci´on a algunos juegos de tablero. En la secci´on 2.3 se trata la b´usqueda computacional. La secci´on 2.4 aborda los trabajos m´as relevan- tes sobre Geometr´ıa Ling¨u´ıstica. Finalmente, en la secci´on 2.5, se comentan los trabajos computacionales existentes sobre arimaa.

2.1. Teor´ıa de juegos

La teor´ıa de juegos es una rama de las matem´aticas aplicadas que estudia la toma de decisiones en situaciones en donde existe potencial para conflicto o cooperaci´on. Tiene una vasta aplicaci´on en diversas ´areas como la econom´ıa, la filosof´ıa, la biolog´ıa y las ciencias computacionales.

Un juego (game) es una interacci´on entre partes o jugadores en la cual existe potencial para conflicto o cooperaci´on. La descripci´on de un juego incluye: los jugadores (players), las posibles acciones o jugadas que pueden realizar dichos jugadores y una utilidad (utility) asociada a cada desenlace del juego para cada jugador. La utilidad que un jugador obtiene de los diferentes desenlaces de un juego representa su preferencia sobre esos desenlaces.

En un juego, una estrategia (strategy) es una descripci´on de las acciones que un jugador tomar´a en todas las posibles situaciones del juego. Esto implica que una estrategia describe lo que un jugador har´a aun para las situaciones que no se presentar´an en el juego. Una estrategia puede ser pura o mixta. Una es- trategia pura (pure strategy) determina una ´unica acci´on para cada situaci´on posible en el juego. Una estrategia mixta (mixed strategy) es una distribuci´on probabil´ıstica entre varias estrategias puras posibles. Note que como consecuen- cia de la definici´on, una estrategia pura es un caso particular de estrategia mixta (donde la probabilidad de la estrategia pura es uno).

Para fines del estudio de la teor´ıa de juegos, se asume que todos los jugadores son racionales (rational). El hecho de que un jugador sea racional significa que, dadas sus creencias, tratar´a de maximizar su propia utilidad, para ello utilizar´a la estrategia que mejor le reditue.

La soluci´on (solution) de un juego es la secuencia de movimientos ´optima para todos los jugadores a lo largo del juego, es decir, la mejor estrategia para cada jugador. Tambi´en se considera que un juego ha sido resuelto cuando se tiene

(20)

2.1. TEOR´IA DE JUEGOS 9

un algoritmo que determine en un tiempo razonable (complejidad polinomial) la mejor jugada posible para cualquier jugador en todo momento del juego.

Existen dos formas b´asicas para representar juegos: la forma normal o es- trat´egica y la forma extensiva.

Un juego en forma normal (normal form) se representa por medio de una tabla. Las estrategias que los jugadores pueden elegir son las filas y columnas de la tabla. A un jugador le corresponden las estrategias de las filas, mientras que al otro le corresponden las de las columnas. Una celda de la tabla se puede identificar de manera ´unica con una estrategia de cada jugador, siendo estas la fila y columna a las que pertenece la celda. Cada celda contiene las utilidades que cada jugador obtendr´ıa si se jugaran las estrategias que identifican a la celda.

La figura 2.2 muestra un ejemplo de juego, el llamado dilema del prisionero [15].

Nota: La forma normal no suele usarse para representar juegos de m´as de dos jugadores por la dificultad para dibujar tablas de m´as de dos dimensiones. Una opci´on para hacerlo es utilizar m´ultiples tablas.

Prisionero 1 Prisionero 2

Cooperar Desertar

Cooperar 3, 3 −5, 5

Desertar 5, −5 −1, −1

Figura 2.2: El dilema del prisionero en forma normal.

Un juego en forma extensiva (extensive form) se representa por medio de un

´

arbol. En este ´arbol, cada nodo representa un punto de decisi´on para un jugador, las ramas representan las opciones disponibles en ese momento para el jugador;

los nodos hoja se rotulan con las utilidades del jugador para ese desenlace del juego. Los juegos en forma extensiva proporcionan mayor informaci´on que los juegos en forma normal, por ejemplo: el orden de las jugadas y lo que cada jugador sabe al momento de realizarlas. La figura 2.3 muestra un juego en forma extensiva.

Figura 2.3: Juego en forma extensiva.

(21)

Un juego puede ser cooperativo o no cooperativo. En un juego cooperativo (cooperative) existen uno o m´as grupos de jugadores; estos act´uan de manera conjunta para obtener un mayor beneficio para el grupo. En un juego no coope- rativo (noncooperative) cada jugador juega para su propio bien, sin importarle las utilidades obtenidas por otros jugadores. En la literatura actual, existe un mayor ´enfasis en juegos no cooperativos. Esto se debe a que muchos autores consideran que son m´as b´asicos porque su an´alisis es m´as simple.

Un juego es de informaci´on completa (complete information) cuando todos los jugadores conocen: los jugadores que participan, las reglas del juego, los posibles movimientos de sus oponentes y las utilidades que obtienen (tanto ellos como sus oponentes) de cada desenlace del juego. Cuando un juego no cumple con alguno de estos requerimientos, entonces es de informaci´on incompleta (incomplete information).

Se dice que un juego tiene informaci´on perfecta (perfect information) cuan- do todos los jugadores conocen las jugadas realizadas anteriormente por sus oponentes. En caso de que no sea as´ı para cualquier momento del juego, ´este tiene informaci´on imperfecta (imperfect information). En un juego en forma normal se ignoran los movimientos anteriores del oponente, por lo tanto, todo juego en forma normal es de informaci´on imperfecta.

Un juego es suma cero (zero sum) o estrictamente competitivo (strictly competitive) cuando la suma de las utilidades de los jugadores es cero para todos los posibles desenlaces del juego. Esto significa que un jugador s´olo puede ganar en la medida que otros pierdan. Hablamos de un juego suma no cero (non-zero sum) cuando esta condici´on no se cumple. Un ejemplo cl´asico de un juego suma cero es matching pennies [41]; un ejemplo de un juego suma no cero es el dilema del prisionero.

En 1928 John von Neumann public´o un resultado muy importante llamado teorema minimax [76]. En este resultado, von Neumann demostr´o que, para juegos no cooperativos suma cero, existe una estrategia que permite a ambos jugadores minimizar sus p´erdidas m´aximas o, visto de otro modo, maximizar sus ganancias m´ınimas (por ello el nombre de minimax).

Estos trabajos de von Neumann culminan con la publicaci´on de su libro en conjunto con Oskar Morgenstern “Theory of Games and Economic Behavior”

[77]. Este libro se convirti´o en la primera referencia para el estudio de la teor´ıa de juegos, aunque solo trata juegos cooperativos, de dos jugadores y suma cero.

Una de las aportaciones fundamentales de este libro es el m´etodo de prueba por inducci´on hacia atr´as (backward induction). Este m´etodo es utilizado para hacer demostraciones en juegos en forma extensiva.

(22)

2.1. TEOR´IA DE JUEGOS 11

En 1950 John Forbes Nash present´o una condici´on de balance para juegos no-cooperativos llamada equilibrio de Nash (Nash equilibrium) [40]. Un equi- librio de Nash es un conjunto de estrategias (una por cada jugador) que cuando son usadas, ning´un jugador gana nada al cambiar su estrategia unilateralmente.

En su trabajo Nash desmuestra que existe un equilibrio en estrategias mixtas para todo juego finito con cualquier numero de jugadores.

En 1965 Reinhard Selten defini´o el concepto de equilibrio perfecto en sub- juegos (subgame perfect equilibrium) [52]. Este concepto refina m´as el concepto de equilibrio de Nash al requerir que la estrategia sea no solo un equilibrio de to- do el juego, sino que sea un equilibrio en cada subjuego posible. En 1975 Selten public´o otro articulo con una revisi´on m´as a su concepto de equilibro perfecto para subjuegos; llam´o a ´este trembling hand perfect equilibrium [53]. Este concepto considera una probabilidad de equivocaci´on de alguno de los jugadores al momento de ejecutar su estrategia.

Harsanyi public´o en 1967 un art´ıculo donde define el concepto de informaci´on completa y el de juego bayesino [26]. Un juego bayesiano (bayesian game) es un juego con informaci´on incompleta sobre las utilidades de los jugadores. Un juego bayesiano puede convertirse en un juego de informaci´on completa pero imperfecta agregando un jugador ficticio llamado naturaleza. La ´unica jugada de ´este (la cual no conocen los jugadores) representa la incertidumbre de las utilidades.

En el a˜no de 1973 Maynard Smith di´o a conocer junto con George R. Price el concepto de estrategia evolutivamente estable (evolutionary stable strategy) [57]. Este concepto incorpora las teor´ıas de la evoluci´on natural de Darwin a la teor´ıa de juegos y sienta las bases para la teor´ıa de juegos evolutiva. La principal diferencia de este enfoque es que incorpora una din´amica en el an´alisis de juegos, en contraste con el enfoque est´atico usado anteriormente en la teor´ıa de juegos.

Una versi´on m´as flexible que el equilibrio de Nash fue presentada por Robert Aumann en 1974; ´esta recibe el nombre de equilibrio correlacionado [1]. Este concepto adiciona un factor externo que sugiere a los jugadores una cierta estra- tegia con una determinada probabilidad. Si ning´un jugador tiene incentivo para desviarse de dicha estrategia, se conoce como un equilibrio correlacionado (correlated equilibrium).

Aumann tambi´en propuso la primera definici´on completamente formal de conocimiento com´un [2], pero la primera definici´on se le atribuye a David Lewis [33]. Si algo es conocimiento com´un (common knowledge) entonces es sabido por todos los jugadores, pero adem´as todos saben que los dem´as lo saben, y saben que los dem´as saben que lo saben. . . y subsecuentemente hasta el infinito.

(23)

En 1978 Roger B. Myerson propuso una revisi´on del concepto de trembling hand perfect equilibrium (Selten) llamada equilibrio propio [38]. El equilibrio propio (proper equilibrium) agrega un diferencia notable entre la probabilidad de cometer un error (tremble) grave y uno menos costoso.

2.2. Juegos combinatorios

La teor´ıa de juegos combinatorios es una rama de la teor´ıa de juegos que se especializa en el estudio de juegos con las siguientes caracter´ısticas:

1. Dos jugadores.

2. Informaci´on perfecta.

3. Sin azar.

4. Secuencial, en el sentido de que los jugadores juegan alternando turnos.

5. Un juego s´olo puede terminar en victoria para un jugador y derrota para el otro. No hay empates.

6. El juego termina cuando no se pueden hacer m´as movimientos.

7. El juego termina en un n´umero finito de jugadas, sin importar como se juegue.

Nota: En lo referente a la regla de terminaci´on de un juego, existen dos va- riantes: la regla normal y la mis`ere. La regla de juego normal (normal play rule) indica que el ´ultimo jugador en mover gana. La regla de juego mis`ere indica que el ´ultimo jugador en mover pierde.

En teor´ıa de juegos combinatorios, un juego es una lista de posibles jugadas para dos jugadores llamados izquierdo (left ) y derecho (right ). Cuando un jugador mueve en el juego lo convierte en otro juego. Como consecuencia, un juego est´a definido recursivamente y puede visualizarse mediante un ´arbol.

La teor´ıa de juegos combinatorios, en principio, podr´ıa aplicarse a juegos como damas, ajedrez, go o arimaa; pero, desafortunadamente, estos no cumplen con algunas de las caracter´ısticas que se mencionan al principio de esta secci´on. En particular, damas, ajedrez y arimaa no cumplen con el criterio de paro (punto 7) y ninguno cumple con el criterio de empate (punto 5). Sin embargo, la teor´ıa de juegos combinatorios presenta algunos resultados y principios que pueden ser aplicables a juegos como los arriba mencionados, a´un cuando no cumplan con dichas caracter´ısticas. Para hacer esto se hacen ciertas adaptaciones, se estudian por ejemplo: juegos finales de go, los cuales pueden ser analizados por completo en los casos donde ya no son posibles situaciones de empate [3]; juegos finales de ajedrez en los cuales la repetici´on de posiciones ya no sea posible [16], etc.

(24)

2.2. JUEGOS COMBINATORIOS 13

Al aplicar teor´ıa de juegos combinatorios a una posici´on en un juego se preten- de obtener la ´optima secuencia de jugadas para ambos jugadores hasta el final del juego, y con ello resolverlo. Este proceso, en principio, requiere un an´ali- sis exhaustivo del ´arbol (su representaci´on en forma extensiva). En la pr´actica el proceso de analizar dicho ´arbol resulta absurdamente laborioso (o tardado).

Claude Shannon calcul´o que, para realizar el an´alisis completo del ajedrez, se requiere de un tiempo de 1090a˜nos, como l´ımite inferior. Esto considerando una computadora que capaz de calcular una posici´on por microsegundo [54].

La teor´ıa de juegos combinatorios se origin´o con algunos juegos imparciales (impartial games); en estos ambos jugadores tienen a su disposici´on las mismas jugadas. En contraste, en los juegos parciales (partial games) o juegos par- tisanos (partisan games) cada jugador tiene un conjunto propio de jugadas posibles.

Uno de los juegos imparciales m´as importantes es nim [41]. Nim fue resuelto en 1901 por Charles L. Bouton [9]. En la d´ecada de 1930 Roland P. Sprague [58] y P. M. Grundy [25] desarrollaron de manera independiente un teorema conocido como el teorema de Sprague-Grundy. Este teorema prueba que todo juego imparcial es equivalente a alg´un juego de nim.

El estudio de juegos partisanos es considerado por algunos como el inicio de la teor´ıa de juegos combinatorios (otros consideran que inicia con la soluci´on de nim). El estudio de juegos partizanos inicia en la d´ecada de 1970 con los trabajos de John Conway, Elwyn Berlekamp y Richard Guy.

Primero, Conway public´o un libro llamado “On Numbers and Games” [11].

En la primera parte de ´este, Conway introduce los n´umeros surreales (surreal numbers), los cuales forman la base para el estudio de juegos combinatorios.

De hecho, Conway construye su estudio de juegos creando equivalencias de jue- gos con n´umeros surreales y operando con ellos. Posteriormente, los trabajos de Conway, Berlekamp y Guy desembocan en la publicaci´on de el libro: “Winning Ways for your mathematical plays” en 1982 [4]. La obra incluye los fundamen- tos de n´umeros surreales, teor´ıa de juegos partisanos e imparciales, la teor´ıa de Sprague-Grundy y juegos mis`ere. Adem´as, el libro contiene una extensa reco- pilaci´on de juegos. Ambos libros son referencias obligadas para el estudio de teor´ıa de juegos combinatorios.

Adem´as de los trabajos de Conway, Berlekamp y Guy no existen mayores aportaciones a la teor´ıa b´asica de juegos combinatorios. Sin embargo, un trabajo que vale la pena mencionar es el de Noam D. Elkies. Elkies ha trabajado con juegos finales de ajedrez con peones y reyes [16] y en juegos de peones en tableros hipot´eticos de tama˜no arbitrario [17]. Los trabajos de Elkies no representan un avance sustancial para la soluci´on de ajedrez, pero es un intento exitoso para

(25)

representar una clase muy acotada de juegos reales de ajedrez por medio de n´umeros surreales.

2.3. B´ usqueda

Un ´arbol de juego (game tree) es un grafo que representa a un juego. Los nodos del ´arbol representan posiciones o estados del juego y deben estar identifi- cados con el jugador que tiene el turno en dicha posici´on. Las aristas representan acciones o jugadas que puede tomar el jugador en turno y llevan a otras posi- ciones. El nodo ra´ız es la posici´on inicial del juego. Los nodos hoja (terminales) del ´arbol representan posiciones finales del juego. Cada jugador obtiene una cierta utilidad de cada desenlace del juego; ´esta se asocia con el nodo hoja que representa dicho desenlace.

Una soluci´on aceptable de un juego es la secuencia de jugadas que llevan a un jugador hasta un desenlace (estado final) deseado. Tenemos la soluci´on

´

optima si la soluci´on proporciona al jugador la m´axima utilidad posible. Una restricci´on opcional para considerar que una soluci´on es ´optima, es que tambi´en sea la soluci´on m´as corta.

Un enfoque muy utilizado computacionalmente para la soluci´on de juegos es el de usar potencia de c´omputo para realizar una b´usqueda de la soluci´on de un juego. Esta b´usqueda se realiza en el ´arbol de juego.

En un ´arbol de juego la profundidad del ´arbol (tree depth) es el n´umero de generaciones (gr´aficamente los niveles) que existen debajo del nodo ra´ız; estas representan movimientos o turnos en el juego. As´ı, un juego que requiere de un m´aximo de 30 turnos para llegar a su fin, tiene una profundidad de 30.

Otra caracter´ıstica importante en un ´arbol de juego es su factor de bifurca- ci´on (branching factor ). Este factor indica en promedio cuantos hijos tiene cada nodo del ´arbol (sin contar a las hojas). En el juego esto representa el promedio de opciones o jugadas que tiene un jugador en una posici´on aleatoria del tablero.

Los ´arboles de juego se pueden clasificar en dos tipos: grafo state-space y grafo and/or. El grafo state-space es equivalente a la representaci´on extensiva del juego, donde cada nodo tiene varios posible sucesores (Nilson [43]). El grafo and/or es similar, pero incluye dos tipos de nodos: and y or. Un grafo state- space es un grafo and/or que s´olo contiene nodos or (Slagle [56]). El grafo state-space es el m´as com´un por lo que usualmente se usa como equivalente del t´ermino ´arbol de juego.

(26)

2.3. B ´USQUEDA 15

Cuando un ´arbol de juego es procesado computacionalmente, no es habitual que se tenga el ´arbol completo, usualmente se tienen las reglas del juego y los medios para generar el ´arbol. Lo necesario para generar un ´arbol es el nodo ra´ız (estado inicial) y un m´etodo para generar los sucesores de un nodo. Usualmente esto se hace al aplicar las reglas del juego a la posici´on actual y con base en ellas encontrar las jugadas v´alidas. Cuando se generan los hijos de un nodo se dice que es expandido (expanded ). A este proceso se le llama expansi´on de nodos (node expansion).

Es posible encontrar la mejor estrategia para jugar cualquier juego si anali- zamos su ´arbol de juego de manera exhaustiva. El m´etodo consiste en propagar el valor de utilidad de los nodos hijo del ´arbol hacia sus padres, iniciando por los nodos hoja. Para hacerlo, el criterio usado es que cada jugador elegir´a el va- lor m´aximo para su utilidad correspondiente de entre sus alternativas. De este modo, el valor de las utilidades se puede propagar hasta la ra´ız, resolviendo con ello el juego. Este enfoque es general ya que aplica a cualquier juego. Tiene la desventaja de que su complejidad es exponencial con respecto a la profundidad del ´arbol de juego; tambi´en es importante el factor de bifurcaci´on ya que repre- senta la base de la exponencial. Esto convierte al algoritmo en no computable para la gran mayor´ıa de juegos.

Nota: El m´etodo anterior se puede ver como una generalizaci´on del algoritmo minimax (ver subsecci´on 2.3.2).

El ´arbol de juego para un juego particular es fijo. Para eficientar el proceso de b´usqueda es necesario reducir la cantidad de nodos que se revisan. Existen dos formas para lograrlo: evitar revisar alternativas en un nodo (reducir el factor de bifurcaci´on) y evitar revisar nodos debajo de una cierta profundidad (reducir la profundidad del ´arbol).

La primera propuesta de un m´etodo para reducir la b´usqueda en un ´arbol de juego fue dada por Claude Shannon [54] para el juego de ajedrez, aunque la idea se aplica a cualquier juego. La propuesta de Shannon consiste en crear una versi´on restringida del ´arbol de juego que convierta algunos nodos no-terminales en terminales por medio del uso de una funci´on de evaluaci´on o funci´on de utilidad. Esta funci´on nos da una noci´on del valor de un nodo sin necesidad de analizar a sus hijos, lo cual reduce la profundidad del ´arbol. Si esta funci´on es correcta (en el sentido de que entrega los mismos resultados que si se hiciera el an´alisis del sub´arbol del que es ra´ız), entonces, los resultados de la b´usqueda en el ´arbol restringido ser´an las mismas que las de su versi´on completa.

La creaci´on de funciones de evaluaci´on correctas es en general inviable; aunque depende del juego y existen algunos casos para los cuales se ha hecho (por ejemplo nim [9]). Para el resto de los juegos se realiza una aproximaci´on de dicha funci´on por medio de heur´ısticas.

(27)

Una heur´ıstica (heuristic) es un criterio, m´etodo o principio que se usa para elegir un curso de acci´on de entre varias alternativas para alcanzar un objetivo.

Una heur´ıstica suele ser informal e imprecisa, pero proporciona resultados ra- zonablemente buenos. Una heur´ıstica es esencialmente el uso de conocimiento del dominio del problema para dirigir la b´usqueda de una soluci´on. Tambi´en se les conoce popularmente como juicio intuitivo o simplemente reglas de sentido com´un.

Nota: El algoritmo propuesto por Shannon restringe la profundidad del ´arbol por medio del uso de heur´ısticas. Este principio de reducci´on de la profundidad del ´arbol se puede aplicar a cualquier otro algoritmo de b´usqueda, incluidos los que se tratan en el resto de esta secci´on.

2.3.1. Algoritmos generales de b´ usqueda

Un algorimo general de b´usqueda es un algoritmo dise˜nado para buscar soluciones en cu´alquier tipo de abol. Ya que un juego es un tipo de ´arbol, estos algoritmos pueden ser usados, en particular, en juegos. Lo que permite que los algoritmos generales de b´usqueda sean usados con cualquier tipo de ´arbol es que no hacen asumpciones respecto a su naturaleza o caracter´ısticas.

El algoritmo de b´usqueda general m´as sencillo es el conocido como hill clim- bing . Consiste simplemente en siempre bajar por el ´arbol, eligiendo el mejor nodo seg´un una funci´on heur´ıstica, hasta que se llegue a un nodo hoja del ´arbol.

Si el nodo hoja es una soluci´on aceptable, la b´usqueda termina exitosamente;

de lo contrario, termina sin ´exito. El algoritmo no contempla segundos intentos, por lo tanto puede terminar sin una soluci´on aceptable aun cuando la haya. Una soluci´on encontrada por hill climbing no es necesariamente ´optima.

Un algoritmo de b´usqueda de empleo com´un es el conocido como depth- first . En este algoritmo cada nodo que se recorre es expandido y sus hijos son guardados en memoria. Cuando un nodo ha sido expandido se le remueve de memoria. El algoritmo consiste en recorrer el ´arbol hacia lo profundo hasta llegar a un nodo hoja; si este no fuera una soluci´on aceptable, se revisa el siguiente nodo pendiente en memoria y se vuelve a bajar hasta encontrar otro nodo hoja.

Se repite el proceso hasta encontrar una soluci´on aceptable (aunque no sea

´

optima). Este algoritmo garantiza que se encuentre una soluci´on aceptable si es que la hay. Depth-first no requiere el uso de heur´ısticas, aunque pueden usarse, en particular para reducir la profundidad del ´arbol.

Una variante de depth-first, que ha resultado m´as popular que ´este, es el algoritmo llamado backtracking . A diferencia de depth-first, en backtracking no se genera ning´un nodo hasta que sea requerido; para ello, se mantienen en memoria solamente los ancestros del nodo que se recorre actualmente. Cuando se alcanza un nodo hoja que no representa una soluci´on aceptable, se regresa

(28)

2.3. B ´USQUEDA 17

(backtrack ) al ´ultimo nodo que a´un tenga alternativas (nodos hijo) que no han sido recorridas. El proceso continua con el siguiente descendiente de dicho nodo hasta encontrar otro nodo hoja; en caso de que, de nuevo, ´este no represente una soluci´on aceptable, se vuelve a regresar y se repite el proceso. Al igual que depth-first, backtracking garantiza que se encontrar´a una soluci´on aceptable si es que la hay, aunque no necesariamente sea la ´optima.

Otro algoritmo que garantiza encontrar una soluci´on aceptable (aunque no necesariamente ´optima), asumiendo que exista, es breadth-first . Este algoritmo expande todos los nodos de un nivel antes de expandir el siguiente. La ventaja de esto es que se garantiza que se encontrar´a la soluci´on aceptable m´as corta. La desventaja principal del algoritmo es que suele retrasar la soluci´on del problema ya que las soluciones aceptables de la mayor´ıa de los juegos por lo regular est´an muchos niveles por debajo del nodo ra´ız. Un ejemplo de un algoritmo breadth- first puede verse en los trabajos de Moore [37]. Al igual que con depth-first y backtracking, el uso de heur´ısticas es opcional.

El algoritmo best-first es una especializaci´on de depth-first que adiciona un criterio heur´ıstico para decidir qu´e nodo expandir. Uno de los m´aximos expo- nentes de la Inteligencia Artificial moderna, Judea Pearl, describe literalmente al principio del algoritmo best-first como: “... the promise of a node is estimated numerically by a heuristic evaluation function ...” [46]. Existen m´ultiples varia- ciones de este algoritmo, entre ellas: el algoritmo A [27], el algoritmo B [5] y el algoritmo de Dijkstra [14].

2.3.2. Algoritmos de b´ usqueda en juegos

Una clase particular de juegos es la representada por los juegos de dos ju- gadores de informaci´on perfecta y suma cero. Esta clase de juegos son muy importantes ya que representan a una gran variedad de juegos de tablero. Para encontrar la soluci´on ´optima de este tipo de juegos existe un algoritmo basa- do en el teorema minimax de von Neumann y Morgenstern llamado algoritmo minimax.

En el algoritmo minimax los jugadores se llaman MIN y MAX. Ya que el juego es suma cero, las utilidades de ambos jugadores se pueden representar con un solo n´umero que representa las ganancias para MAX y las p´erdidas para MIN. De esta forma el jugador MIN tratar´a de minimizar este valor y el jugador MAX tratar´a de maximizarlo. El algoritmo minimax consiste en un etiquetado de nodos de abajo hacia arriba del ´arbol, esto es, de las hojas a la ra´ız. Se etiqueta a un nodo con su valor si es un nodo final, si es un nodo MAX se le etiqueta con el valor m´aximo de las etiquetas de sus hijos inmediatos y si es un nodo MIN se le etiqueta con el valor m´ınimo de las etiquetas de sus hijos inmediatos. La soluci´on ´optima es la etiqueta del nodo ra´ız. Se ilustra la

(29)

propagaci´on de los valores de las etiquetas en la figura 2.4, donde el nodo inicial es de tipo MAX.

Nota: El algoritmo minimax revisa todos los nodos del ´arbol para dar la soluci´on ´optima. Esto significa que hace una b´usqueda exhaustiva.

Figura 2.4: El algoritmo minimax.

El algoritmo minimax fue usado por Shannon en conjunto con su esquema para reducir la profundidad del ´arbol de juego [54]. Minimax se ha implemen- tado en diversos programas para la soluci´on de juegos. Uno de los primeros en aplicarlo a ajedrez fue Kister [32].

Existen variantes del algoritmo b´asico minimax. Un algoritmo basado en mi- nimax, que presenta una notaci´on alternativa a ´este, es negamax . La notaci´on de negamax consiste en etiquetar a cada nodo con una funci´on que niega el mejor resultado del oponente. En esencia minimax y negamax son id´enticos.

Tambi´en existe un algoritmo minimax con una variante en el uso de memoria, del mismo tipo que backtracking.

En la conferencia de Dartmouth en 1956, John McCarthy cre´o el concepto de reducci´on alfa-beta (alpha-beta pruning) o algoritmo alfa-beta. Fu´e for- malmente descrito por primera vez hasta 1963 [28]. El algoritmo aprovecha el hecho de que los nodos que se recorren son de tipo MIN o MAX para eliminar de la b´usqueda (reducir) algunos nodos del ´arbol de juego. Una reducci´on alfa-beta termina la evaluaci´on de una rama del ´arbol de juego cuando surge un valor que la hace inconveniente para uno de los jugadores, por ser muy conveniente para su contrincante. Para ello se toman en cuenta los valores encontrados anterior- mente durante la evaluaci´on del ´arbol. Por ejemplo, en la figura 2.5, se recorre el

´

arbol hasta el extremo inferior izquierdo. El nodo del pen´ultimo nivel es un nodo MIN por lo que elegir´a el valor de 10 por sobre el de 11. En el nivel superior, el

(30)

2.3. B ´USQUEDA 19

nodo es de tipo MAX por lo que se asegurar´a una utilidad de al menos 10. Por lo tanto si en alguna parte de la rama que se deriva a la derecha del nodo MAX encontramos un valor inferior a 10, MIN lo preferir´a ya que trata de minimizar su utilidad, pero MAX lo desechar´a por no resultar conveniente. La existencia de un valor inferior a 10, como en este caso el 9, es suficiente para asegurar que MAX no elegir´a dicha rama, por lo tanto se eliminan de la b´usqueda el resto de los nodos derivados de ella (en este caso s´olo es el nodo con valor 12).

El algoritmo alfa-beta no requiere del uso de heur´ısticas. Una b´usqueda alfa- beta obtiene el mismo resultado que una b´usqueda minimax sin necesidad de revisar todos los nodos del ´arbol; esta caracter´ıstica lo convierte en el algoritmo de elecci´on para la mayor´ıa de los usos. Aplicaciones exitosas de alfa-beta se tienen en m´ultiples programas de ajedrez [42] y de damas [51], entre otros.

Figura 2.5: El algoritmo alfa-beta.

En 1979 Stockman introdujo un algoritmo llamado SSS[73]. El SSSpre- tende ser un mejor algoritmo general que alfa-beta. En cierta medida lo logra ya que revisa, a lo m´as, la misma cantidad de nodos que alfa-beta. Para ello agrega una evaluaci´on heur´ıstica del estilo de best-first. Steve Rosen y Judea Pearl han mostrado que la ventaja obtenida por SSS en t´erminos computacionales (re- ducci´on de nodos revisados), por lo general, no compensa por el uso adicional de otros recursos.

Un algoritmo m´as fue propuesto por Pearl en 1980 [45]; ´este fue llamado SCOUT . El algoritmo SCOUT es muy similar a alfa-beta; la diferencia de SCOUT radica en que usa una funci´on heur´ıstica para que, antes de que un nodo sea evaluado, se determine si ser´a eliminado. Esto permite evitar algunas ramas antes de evaluarlas, obteniendo como consecuencia la reducci´on de algunos nodos en la b´usqueda.

(31)

Una mejora de SCOUT fue publicada por Reinfeld en 1983 con el nombre de Negascout [47]. El Negascout asume que el ´arbol est´a ordenado de manera tal que las mejores soluciones se revisar´an primero y hace una b´usqueda de alta eficiencia usando este supuesto. Si el supuesto resulta falso se repite la b´usqueda como una alfa-beta normal. Esta modificaci´on s´olo resulta ben´efica si el ´arbol est´a, al menos, parcialmente ordenado.

Existe una variante de Negascout llamada MTD-f . Este algoritmo tiene al- gunas desventajas que han hecho que su aplicaci´on pr´actica sea limitada. La principal desventaja de MTD-f es su dependencia de una tabla usada para evitar revisar posiciones repetidas en el ´arbol; a ´esta se le llama tabla de trans- posici´on. Si bien la tabla de transposici´on reduce la cantidad de nodos que se revisan durante la b´usqueda, tambi´en agrega una sobrecarga de c´omputo a cada nodo (la comprobaci´on de la tabla) y esto evita que las mejoras de eficiencia sean notables.

Al a˜no 2007 el programa con mayor ranking internacional, Rybka, a´un se basa en el algoritmo alfa-beta. Cabe mencionar que la mayor´ıa de los programas con buen ranking se ejecutan en supercomputadoras y en ocasiones con hardware especializado en ajedrez.

2.4. Geometr´ıa ling¨ u´ıstica

La geometr´ıa ling¨u´ıstica (linguistic geometry), abreviado LG, es una t´ecni- ca para la construcci´on de modelos matem´aticos que representen (en cierta me- dida) el conocimiento y el razonamiento de un experto humano en un juego.

En particular, la LG se enfoca en una clase de juegos llamados juegos de ta- blero abstracto (abstract board games). Surgi´o con el estudio del modelo de pensamiento de un experto en ajedrez (el ex-campe´on mundial Botvinnik).

La LG utiliza una jerarqu´ıa de lenguajes formales para representar algunas de las relaciones que un humano experto encontrar´ıa com´unmente sobre un ABG.

La idea es crear una base de herramientas que permitan presentar heur´ısticas en un nivel abstracto. Para ello, la jerarqu´ıa de herramientas de LG utiliza rela- ciones geom´etricas y espaciales de las piezas en el tablero para crear estructuras complejas que resulten intuitivas para el ser humano; de tal manera que resulte f´acil plantear heur´ısticas en t´erminos de estas estructuras.

La jerarqu´ıa de herramientas de la LG, en orden de complejidad, est´a for- mada por: trayectorias, redes, traslaciones y b´usquedas. Las trayectorias (tra- yectories) se representan por medio de cadenas (generadas por la gram´atica de trayectorias) que contienen una secuencia ordenada de celdas que una pieza de- be visitar para alcanzar una celda destino. Las redes (webs) son representadas por cadenas (generadas por gram´aticas de redes) que contienen m´ultiples tra- yectorias, las cuales mantienen una relaci´on en funci´on de piezas que atacan (o

(32)

2.4. GEOMETR´IA LING ¨U´ISTICA 21

interceptan) a otras. Las traslaciones (translations) son gram´aticas que con- vierten una red en otra, con base en el movimiento de una pieza sobre ella. Las b´usquedas (searches) son cadenas (generadas por gram´aticas de b´usquedas) que representan ´arboles de b´usqueda de LG, cuyos nodos son estados y los hijos de un nodo son generados con traslaciones.

En 1997 John McCarthy escribi´o: “En 1965 el matem´atico ruso Alexander Kronrod dijo: El ajedrez es la Drosophilia de la Inteligencia Artificial. Sin em- bargo, el ajedrez computacional se ha desarrollado de manera similar a como lo hubiera hecho la gen´etica si hubiera concentrado sus esfuerzos a partir de 1910 en criar Drosophilia para carreras. Tendr´ıamos algo de ciencia, pero principal- mente tendr´ıamos moscas de la fruta muy r´apidas” [35]. Con su cita, McCarthy hace alusi´on al hecho de que los mayores avances en ajedrez han sido con el enfoque de b´usqueda exhaustiva (con algunas optimizaciones como alfa-beta), optimiz´andolos para obtener mejores programas. Esto en contraste con buscar t´ecnicas innovadoras o nuevos enfoques.

No todos los esfuerzos de investigaci´on han usado el enfoque de b´usqueda exhaustiva. Entre los 70’s y 80’s el ex-campe´on mundial de ajedrez Mikhail Botvinnik inici´o un proyecto llamado PIONEER. En su libro Botvinnik declara que considera que los enfoques de b´usqueda exhaustiva dif´ıcilmente ser´an ca- paces de llevar a mayores avances [8]. Botvinnik considera que la computaci´on debe tomar un nuevo camino. Su intenci´on con PIONEER es crear ese camino.

La Geometr´ıa Ling¨u´ıstica es el sucesor directo del proyecto PIONEER.

El surgimiento de PIONEER se da oficialmente en 1972 con la publicaci´on de “Algorithm for Playing Chess” [6] y “A Flow-Chart of the Algorithm for Playing Chess” [7]. Estas publicaciones contienen los primeros intentos de al- goritmos de naturaleza heur´ıstica, pero carecen de detalles necesarios para la implementaci´on.

A partir de 1975, Boris Stilman publica algunos intentos heur´ısticos para generalizar los algoritmos de Botvinnik [70] y [72]. En 1984 Botvinnik publica una serie de algoritmos desarrollados durante el proyecto PIONEER [8]. Estos algoritmos dan buenos resultados para la clase de problemas para los que est´an pensados. Los algoritmos desarrollados en PIONEER son de tipo heur´ıstico y est´an espec´ıficamente dirigidos al juego de ajedrez. El problema que esto conlleva es que no son formales, y no pueden ser aplicados a otros tipos de problemas ya que no pueden ser adaptados.

Existieron diversos intentos por formalizar los algoritmos heur´ısticos genera- dos durante el proyecto PIONEER. Las bases de estos est´an en el c´alculo de predicados de primer orden, con trabajos como McCarty y Hayes [36] o Fikes y

(33)

Nilsson [19]. Tambi´en se consideran importantes los avances en lenguajes forma- les como Chomsky [10] y Ginsburg [24]. Adem´as, resultan relevantes trabajos en reconocimiento de patrones como Narasimhan [39] y Fu [22].

Finalmente, la formalizaci´on de los algoritmos del proyecto PIONEER da inicio a lo que hoy se conoce con el nombre de Geometr´ıa Ling¨u´ıstica. La LG fue presentada en varios trabajos en la d´ecada de 1980 por Stilman ( [59] y [60]), sin embargo, se requer´ıa una mayor flexibilidad para la apropiada descripci´on de las herramientas de la LG. Stilman desarroll´o un nuevo tipo de gram´aticas llamadas gram´aticas controladas (controlled grammars) para este fin [61].

Sobre la base de estas gram´aticas Stilman gener´o las nuevas versiones de las gram´aticas de zonas [62] y de traslaciones [65]. Los resultados de los diversos trabajos de Stilman aparecen concentrados en su libro: “Linguistic Geometry:

From Search to Construction” [69].

Es de destacar que Stilman prob´o que algunas soluciones obtenidas por m´eto- dos de LG en ciertos problemas son ´optimas [68]; sin embargo, hay que tener en cuenta que esta prueba no aplica al caso general que es dependiente de la heur´ıstica usada.

Se han realizado numerosas implementaciones de las herramientas de la LG en diferentes lenguages de programaci´on y para diversos fines. King realiz´o una implementaci´on en CLIPS en 1993 [31]. Mathews realiz´o una implementaci´on parcial de LG en C [34]. En 1995 Fletcher realiz´o una implementaci´on m´as com- pleta en C++ y la aplic´o a un software de simulaci´on de control de robots en un ambiente industrial [20]. Turek realiz´o una implementaci´on altamente eficien- te para direccionamiento de veh´ıculos de emergencia [75]. Wood desarroll´o un software para juegos de tablero usando Java en 1996 [78]. El programa m´as poderoso a la fecha basado en LG es el programa de simulaci´on de combate de Skhisov, el cual implementa toda la jerarqu´ıa de las herramientas de LG [55].

Las herramientas de LG se han utilizado para atacar diversos problemas. En 1993 Stilman us´o la implementaci´on de King [31] en un problema de cuatro robots en un distrito bidimensional [63]. Stilman tambi´en present´o una gene- ralizaci´on del problema para el caso tridimensional [64]. En 1995 Stilman pre- sent´o otros juegos en dos [66] y tres dimensiones [67] que llam´o de persecuci´on y evasi´on; tambi´en en ellos aplic´o LG.

Existen otras aplicaciones de LG que representan problemas con caracter´ısti- cas diferentes a los modelos de robots o agentes. Yakhnis present´o una clase de juegos que llam´o juegos multiagentes en grafos (multiagent graph-games) [79];

esta aplicaci´on de LG tiene la caracter´ıstica de ser concurrente. El modelo de mayor tama˜no y con mayor cantidad de funciones basado en LG es un simu- lador de combate desarrollado para la armada de los estados unidos por Stil- man y Fletcher en 1998 [71]. Posiblemente la aplicaci´on de LG m´as alejada de

(34)

2.5. EL JUEGO DE ARIMAA 23

los modelos rob´oticos y de juegos es la propuesta por Reznitskiy y Stilman en 1983; ellos proponen un modelo para la planeaci´on de mantenimiento de plantas el´ectricas [49].

2.5. El juego de arimaa

Arimaa fue creado por Omar Syed con ayuda de su hijo Aamir Syed. El t´ıtulo arimaa fue elegido por Omar Syed y es el nombre de su hijo “Aamir”

deletreado al rev´es agregando una ’a’ inicial. La inspiraci´on para crear arimaa vino a Syed a ra´ız de la derrota de Garry Kasparov frente a Deep Blue en 1997.

Syed narra que al ver dicha partida tuvo la sensaci´on de que Kasparov no hab´ıa podido mostrar toda su habilidad, que hab´ıa sido superado en c´alculo no en inteligencia [44]. Con esta sensaci´on vino otra que le indicaba que era posible crear un juego utilizando las mismas piezas y tablero que el ajedrez, que a su vez tuviera movimientos y reglas sencillas como para que su hijo de cuatro a˜nos fuera capaz de comprenderlas. La intenci´on de Syed al crear arimaa fue la de hacer un juego que retara el poder y t´ecnicas computacionales usados para la soluci´on de juegos en la actualidad. Por ello el juego deb´ıa tener reglas sencillas y deb´ıa ser f´acil e interesante de jugar para las personas, pero al mismo tiempo, dif´ıcil de jugar para los programas que usan enfoques de b´usqueda por fuerza bruta.

Despu´es de un par de a˜nos Syed public´o arimaa el 20 de noviembre del 2002 [74]. A la par de la publicaci´on del juego anunci´o un reto llamado “The Arimaa Challenge”. Este reto consiste de un premio de $10,000 USD para aquel que logre crear un programa que sea capaz de derrotar a un experto humano en una serie de seis partidas o m´as de arimaa. El programa debe correr en hardware convencional, por lo tanto, no es posible utilizar supercomputadoras ni hardware especializado. El reto se lleva a cabo una vez al a˜no y caduca en el a˜no 2020.

En el 2003 los Syed hicieron la solicitud para la patente de las reglas de arimaa, as´ı como la marca “Arimaa”. En el 2006 les fue concedida su solicitud.

Los Syed afirman que su intenci´on con ello no es la de restringir el uso libre de arimaa, sino protegerse de su uso comercial.

Muchos programas han participado en el reto de arimaa pero en su mayor´ıa han estado basados en los enfoques convencionales de b´usqueda con reduccio- nes alfa-beta. Poca documentaci´on existe al respecto del funcionamiento de la mayor´ıa de los programas participantes en el reto de arimaa, pero s´ı se sabe que muchos de ellos en realidad son motores de b´usqueda para ajedrez modificados para jugar arimaa.

Uno de los trabajos m´as destacados en arimaa es el de David Fotland: “Buil- ding a World Champion Arimaa Program” [21]. El programa de Fotland fue el

(35)

campe´on del torneo de arimaa del 2004, un torneo s´olo para programas. En este tiempo el programa llevaba el nombre de Bot Bomb. Al enfrentar el reto arimaa, Bot Bomb fue derrotado por el experto humano (Omar Syed). El programa es una adaptaci´on de otro para ajedrez y se basa en una busqueda por medio del algoritmo Negascout.

Haizhi Zhong publica su tesis de maestr´ıa en el 2005 con el t´ıtulo: “Building a Strong Arimaa-playing Program” [80]. El trabajo de Zhong presenta un pro- grama basado en reducci´on alfa-beta con algunas optimizaciones a la funci´on de evaluaci´on basadas en algunas t´acticas b´asicas de arimaa y generaci´on selectiva de movimientos, as´ı como tablas de transposici´on y ordenamiento de jugadas. La propuesta de Zhong se distingue principalmente por evitar b´usquedas repetidas por medio de la introducci´on de un historial.

En el 2006 Christian-Jan Cox public´o su tesis de maestr´ıa: “Analysis and Im- plemetation of the Game Arimaa” [12]. En su tesis Cox propone un programa de nombre Coxa. El programa Coxa se basa en un algoritmo alfa-beta con algu- nas optimizaciones con tablas de transposici´on (MTD-f). Cox tambi´en prueba m´ultiples variantes para su funci´on de evaluaci´on y registra sus resultados. Nin- guna de las variantes a la heur´ıstica representa notables mejoras al m´etodo de b´usqueda.

A la fecha no existe ning´un trabajo que aborde el juego de arimaa utilizando las herramientas de LG.

Referencias

Documento similar

A la hora prevista traslado hacia el Aeropuerto Internacional el Dorado para tomar su vuelo incluido hacia la ciudad de Cartagena.. Llegada a la ciudad de Cartagena, recibimiento en

Madre de Dios de la Palma Francisco Javier Alonso 0. Mater Mea Ricardo

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

Para la interpretacidn de este fendmeno de variacidn de la concentracidn relative de las distintas fracciones de proteinas séricas consecuente a una irradiacidn,

Piel verde, dorada, violácea, carne fina y jugosa, muy dulce y perfumada, color de la carne entre verdoso y dorado.. Llamada también Ciruela

We have created this abstract to give non-members access to the country and city rankings — by number of meetings in 2014 and by estimated total number of participants in 2014 —

Por PEDRO A. EUROPEIZACIÓN DEL DERECHO PRIVADO. Re- laciones entre el Derecho privado y el ordenamiento comunitario. Ca- racterización del Derecho privado comunitario. A) Mecanismos

Llamada también vitamina-solar, engloba a una serie de esteroles (vitamina D2 o calciferol, D3 o colecalciferol, D4, D5 y D6) que generan vitamina D por las radiaciones