Luis Rodríguez Herrador

Proyecto fin de carrera

El problema del bear in en Luis Rodríguez Herrador El problema del bear in en Backgammon

Índice

Índice 1.Objetivos del proyecto...... 3 1.1.Especificación del problema...... 4 1.2.Uso de redes para aprender a predecir...... 7 1.3.Resumen del contenido del documento...... 10 2.Aplicación de redes a juegos...... 11 3.Revisión histórica del Backgammon...... 14 4.Reglas del juego...... 21 Situación inicial...... 21 Objetivo del juego...... 22 Movimiento de las piezas...... 23 Comer piezas...... 25 Bearing off...... 26 Doubling cube...... 27 Gammons y Backgammons...... 28 Irregularidades...... 29 Bear in...... 30 5.Redes TD...... 31 5.1.Estructura...... 33 5.2.Desarrollo matemático...... 35 5.3.Problemas de predicción...... 41 6.Diseño de una red para el problema del bear in...... 43 6.1.Bear off...... 44 6.2.Presentación de la red de bear in...... 46 7.Mejoras sobre las redes TD...... 52 7.1.Combinación con una resolución numérica...... 53 7.2.Entrenamiento secuencial...... 54 7.3.Abanico de resultados finales...... 57 8.Funcionamiento del software...... 59 9.Resultados...... 67 10.Conclusiones...... 69

Pág. 2 Luis Rodríguez Herrador El problema del bear in en Backgammon

1.Objetivos del proyecto

El objetivo de este proyecto es la aplicación de una red TD a un problema concreto, como es el del bear in en el juego del backgammon. Las redes TD siempre han sido fascinantes para mí, desde que topé con ellas, puesto que han sido diseñadas para predecir, para ser capaces de ver donde ojos humanos y otros programas no han sido capaces de llegar. El simbolismo aparejado a la predicción siempre ha sido un tema que me ha interesado mucho, y es por esto que he tratado de usar estas redes en mi proyecto fin de carrera.

El motivo por el que elegí el juego del backgammon es que he sido jugador a nivel semiprofesional durante varios años, y la resolución de una parte importante de este juego como es el bear in siempre ha quedado desierta. Al final en las conclusiones haré un estudio económico de lo que puede representar en pérdidas para un programa de backgammon el jugar mal estas posiciones.

Sólo comentar que el uso de estas redes ha sido la alternativa elegida a la programación dinámica para la resolución de este problema, que fue la primera opción barajada.

Pág. 3 Luis Rodríguez Herrador El problema del bear in en Backgammon

1.1.Especificación del problema

El Backgammon, al igual que otros muchos juegos de mesa, supone un reto matemático de difícil solución. Desde el punto de vista computacional, nos enfrentamos a un juego compuesto por quince piezas, las cuales en la mayoría de las situaciones pueden moverse sin problemas acordemente con una tirada de dos dados. De esta forma, una simple tirada de dados supone una combinación de:

15×15=225 movimientos

Por tanto, para una determinada posición nos enfrentamos aproximadamente a 225 posibilidades, sin tener en cuenta que una tirada con idéntico resultado en los dados son cuatro movimientos en lugar de dos, y a los que hay que restar los movimientos ilegales. Para tomar una decisión sobre cuál de las 225 posiciones resultantes es mejor, debemos evaluar posteriormente la jugada que realizará el contrario. Pero resulta que el contrario no tiene otras 225 posibilidades, sino que tiene ese número por cada una de las 21 combinaciones posibles de dados, de forma que el crecimiento exponencial de posibilidades que ofrece el Backgammon hace absurda la idea de poder realizar un análisis exahustivo de todas las posibilidades, con sus correspondientes estadísticas de llegar a ellas.

Tradicionalmente, la única forma de resolver el problema era realizar un número considerable estadísticamente de partidas desde una misma posición. Para que el resultado tuviera alguna fiabilidad, los jugadores empleados a tal fin debían jugar a un nivel de clase mundial, para que los movimientos fueran, si no óptimos, cercanos a él. Por ello, para el desarrollo del Backgammon era necesario que dos campeones mundiales se pasaran una semana jugando una misma posición en miles de partidas para llegar a una conclusión suficientemente fiable de acerca de cuál era la mejor jugada a realizar. Esta

Pág. 4 Luis Rodríguez Herrador El problema del bear in en Backgammon afirmación conlleva una contradicción en sí misma, ya que sobre cada jugada posterior realizada en la partida debería hacerse un procedimiento similar a la jugada en estudio, lo cual es imposible, y además los jugadores para llegar a un nivel de perfección tal era necesario que pudieran apoyarse en literatura sobre jugadas concretas inexistentes por su propio planteamiento. Se trató de implementar en ordenadores programas que simularan este comportamiento, pero al tener un juego mediocre, las conclusiones a las que llegaban no podían considerarse fiables y su nivel de juego no era en absoluto excepcional.

Es por todo esto que hasta la década pasada las consideraciones matemáticas sólo se trasladaran al backgammon en situaciones puntuales del final del juego donde las posibilidades eran abordables, y que la literatura se refiriera sólo a aspectos estratégicos del juego, los cuales permitían jugar a un gran nivel.

Sin embargo, durante la década pasada apareció Tesauro, un programador de IBM, que desarrolló un software basado en redes neuronales que permitía el autoaprendizaje de la red a través del juego contra sí misma. Este fue el primer paso para llevar el Backgammon a un punto de vista hasta entonces no contemplado y que es la referencia en el juego profesional del Backgammon en nuestros días. A partir de ahí surgieron diversos programas de Backgammon, siendo GNU Backgammon y Snowie los dos mejor considerados.

Aunque Tesauro no logró que su programa llegara a superar a los campeones del mundo del momento, sí que brindó al resto de programadores de la idea principal en la que debían basarse los programas de Backgammon. El problema que presentaba el software de Tesauro es que trataba de englobar toda la estrategia del Backgammon con una sóla red neuronal, y con unas entradas que se correspondían únicamente con la definición posicional del tablero. Posteriormente se introdujeron mejoras en ambos sentidos, y de esta manera los nuevos programas de software definen redes para ámbitos

Pág. 5 Luis Rodríguez Herrador El problema del bear in en Backgammon concretos, e incorporan nuevas neuronas que indican características notables de la posición, lo cual permite a la red “visionar” mejor la situación.

Por tanto todavía se encuentran en desarrollo los programas de Backgammon, ya que son muchos los aspectos a considerar y muy variadas las redes a usar en cada caso. Una mayor especialización de las redes neuronales nos lleva a un mejor resultado en determinadas parcelas del juego. Los programadores se han encontrado con problemas a la hora de desarrollar el software ya que es necesaria una base matemática para poder aplicar correctamente las características de cada red a situaciones particulares del juego.

El proyecto que presento es la solución de uno de los problemas que adolecen los programas actuales de Backgammon, probablemente el más comentado en los foros de debate. Este problema consiste en que en situaciones de carrera, en las que las piezas de ambos bandos se han pasado y no es posible “comer”, y encontrando todavía algunas piezas en los cuadrantes intermedios (el outfield, que son las casillas de la 7 a la 18), los programas actuales pierden movimientos al tratar de llevar sus efectivos a las posiciones más cercanas a sus respectivas casas (esto es, al 1 o al 24). Esto se tradujo hace algún tiempo en una severa crítica tras idear un juego paralelo al Backgammon, sobre el que hablaré en el capítulo de resultados, ya que es la demostración de la eficiencia de mi red.

Pág. 6 Luis Rodríguez Herrador El problema del bear in en Backgammon

1.2.Uso de redes para aprender a predecir

El uso de redes neuronales ha tomado un gran auge de un tiempo a esta parte. Una red neuronal conceptualmente es una abstracción matemática del cerebro humano, tratando de llevar al terreno computacional características distintivas de los seres humanos. Una de las capacidades de las que está dotado el cerebro humano, y de las que carece completamente un sistema computacional cerrado es la de predecir el futuro. Este aprendizaje lo realiza el cerebro humano basándose en la experiencia. Por ello, un sistema que trate de asemejarse a nosotros debería tomar la experiencia como base para tomar sus propias decisiones

Un ejemplo sencillo de esto que acabo de exponer sería el hecho de que una persona es capaz de levantarse por la mañana y predecir la temperatura que hará por la noche con cierta fiabilidad. Sin embargo, un simple programa de ordenador es tan sólo capaz de obtener datos de un sensor y decir la temperatura actual. Es posible programarle para que tome datos de un histórico, de forma que haga una predicción basándose en la diferencia de temperatura del día anterior, pero seguiría siendo un dato condicionado. La base de la predicción es que el programa sea capaz de revisar los históricos de los últimos meses, y que en base a eso determine la temperatura nocturna, del mismo modo que lo hacemos nosotros. Estas predicciones pueden ser llevadas al campo del Backgammon, pero también al de las predicciones meteorológicas o al del movimiento bursátil, por citar algunas aplicaciones.

La mayoría de los problemas de búsqueda de patrones pueden resolverse de esta manera, esperando que el programa prediga las clasificaciones correspondientes. También están siendo usadas estas redes en búsquedas heurísticas, en las que la red asume una función de evaluación que predice si es conveniente evaluar ciertas partes del espacio de búsqueda, o aprendiendo el modelo subyacente en un problema sin resolver. Una de ventajas que

Pág. 7 Luis Rodríguez Herrador El problema del bear in en Backgammon presenta este tipo de redes es que los datos puede tomarlos directamente de algún sensor, con lo que el mismo programa se autoabastece de datos y busca las funciones predictivas correspondientes.

El tipo de redes que menciono son las denominadas redes TD (temporal differences), que son redes basadas en el aprendizaje incremental optimizadas para problemas de predicción. Los sistemas tradicionales de aprendizaje se basan en la comparación de la previsión realizada con el resultado real, en un sólo paso, mientras que las redes TD se basan en el aprendizaje sobre previsiones sucesivas hasta llegar al resultado final. Por ejemplo, supongamos una persona dedicada a la previsión del tiempo que quisiera desarrollar un software para predecir un lunes si lloverá el sábado siguiente. Dicho software mediría las condiciones ambientales dicho lunes, haría su previsión, y la compararía con el resultado obtenido el sábado. De esta forma, si el programa acertara se reforzarían valores próximos a los del lunes como representativos de lluvia. Esto evidentemente es un punto de vista erróneo, ya que a lo mejor el sábado llueve mientras el lunes lucía un sol espléndido. Las redes TD realizan una previsión del tiempo que hará el martes, y luego del miércoles, y así sucesivamente, de forma que la red consiga una perspectiva completa de lo que ha sido la evolución del las condiciones climatológicas, y que achaque la tormenta a un cambio en las condiciones el jueves, y no al tiempo soleado del lunes.

En el ejemplo presentado podemos ver además la potencia de estas redes, ya que las predicciones sucesivas permiten un tiempo de aprendizaje menor y sus predicciones resultan ser más acertadas. En el caso del Backgammon es todavía más claro, ya que un sistema tradicional consideraría buena una jugada al inicio de la partida simplemente atendiendo si al final de la misma el resultado es positivo, y viceversa, y tal vez la jugada ha sido la peor elección que podíamos haber hecho. Las redes TD distinguirían que la partida se ha ganado gracias a que el resto de jugadas han sido correctas o tal

Pág. 8 Luis Rodríguez Herrador El problema del bear in en Backgammon vez se ha debido a un día de suerte extrema.

Uno de los resultados más sorprendentes de las redes TD es que su aprendizaje es no supervisado. Esto es, que la red no necesita patrones de entrada que le dicten los valores de salida. La red aprende tomando datos del exterior, y es capaz de extrapolar predicciones por sí misma. Si nos situamos en el plano del backgammon, para entrenar una red mediante entrenamiento supervisado sería necesario el apoyo de un campeón del mundo que estableciera si la jugada patrón es correcta o no, y además puntuarla con respecto a las otras posibles. En el caso de redes TD un experto en informática es capaz de desarrollar un programa de backgammon que juegue a niveles superiores a campeones del mundo, sin más que conocer las reglas del juego. Además, la red entrenada por el campeón del mundo no llegaría jamás a jugar al nivel de la red creada por el informático.

Lo que acabo de comentar es especialmente interesante para el desarrollo de software para los temas más diversos. Ya no es necesario hacer un máster en economía para ser un experto en bolsa, ya que una red TD es capaz de llegar a resultados sorprendentes en campos predictivos.

Pág. 9 Luis Rodríguez Herrador El problema del bear in en Backgammon

1.3.Resumen del contenido del documento

A lo largo del texto trataré de acercarles al juego del Backgammon, ya que no es de difusión extendida en nuestro país, y no es común encontrar a alguien que sepa sus reglas, y mucho menos sus estrategias y variantes. Con esto llegaré a la necesidad de resolver el problema que les planteo, ya que aunque parezca de poca trascendencia sí que es importante para el software existente, tanto por las partidas perdidas por esta causa como por la imagen ofrecida al consumidor.

Comentaré aspectos fundamentales de las redes TD, tanto en su concepción como en su funcionamiento, pero sin entrar en demostraciones matemáticas de su convergencia1. Estos aspectos comenzarán con una comparación con redes de entrenamiento supervisado, para mostrar la potencia de las redes TD en el campo de la predicción. Pasaré de redes TD equivalentes a redes de entrenamiento supervisado a unas redes TD cuya potencia va más allá de éstas.

Para finalizar extrapolaré los resultados mostrados al problema en estudio, que es el del bear in en el juego del backgammon, y comentaré la red utilizada para su resolución, así como las mejoras introducidas para su particularización al problema. Finalmente mostraré el uso de la aplicación generada en base a toda esta información, necesaria para llegar a los resultados finales, en los que se ve claramente el beneficio de la red construida.

1 Para su desarrollo matemático ver “Machine Learning 3” de Richard S. Sutton, 1988

Pág. 10 Luis Rodríguez Herrador El problema del bear in en Backgammon

2.Aplicación de redes a juegos

En este capítulo trataré brevemente de hacer una comparativa entre la inteligencia artificial de los programas de ajedrez frente a los de backgammon, tanto sus diferencias conceptuales como prácticas.

En primer lugar, el factor que diferencia ambos juegos fundamentalmente es la diversidad de opciones que se presentan, ya que el backgammon debido a las 21 posibilidades azarosas de los dados, presenta un número de variantes muy superior al del ajedrez. Mientras es conocido por todos que los programas de ajedrez basan su potencia de cálculo en el análisis del espacio de posibilidades futuras, de forma que se evalúan posibilidades hasta un gran número de posiciones después, los programas de backgammon sólo podrían usar este método para rastrear pocas jugadas sucesivas (por el momento el rastreo se reduce a cuatro jugadas posteriores en los programas más potentes). Mientras el ajedrez permite con métodos de rastreo selectivos eliminar gran número de jugadas y sus correspondientes ramas, el Backgammon permite una discriminación muy reducida.

Además de lo expuesto, la evaluación de una posición de backgammon resulta mucho más confusa que una de ajedrez, ya que distintas estrategias nos llevan a movimientos diametralmente opuestos, y la elección de la estrategia en backgammon puede resultar sorprendentemente confusa incluso para campeones del mundo. Por estas razones, Hans Berliner en 1979 obtuvo unos pésimos resultados al tratar de generar un evaluador de posiciones similar al del ajedrez acompañado de un rastreo de posiciones. Este evaluador se basaba en tres conceptos:

• Suavidad, la función de evaluación debía presentar una superficie suave, sin saltos, en el espacio de soluciones. Si la superficie fuera discontínua con respecto a algún parámetro definitorio, el programa evaluador tendería a

Pág. 11 Luis Rodríguez Herrador El problema del bear in en Backgammon

conceder demasiada importancia a dicho parámetro y jugar incorrectamente en situaciones donde distintas opciones de movimiento se encontrasen a ambos lados de la discontinuidad. • No linealidad, puesto que las funciones lineales no modelan correctamente relaciones entre distintos parámetros. • Coeficientes, que serían obtenidos experimentalmente.

Con estas características, Berliner obtuvo un programa que ganaba 0.3 puntos por game frente a un jugador humano, lo cual le situaba a un nivel bastante pobre (en backgammon los games pueden valer más de un punto, por lo que 0.3 puntos por partida no significa que su rival humano ganase únicamente 0.7 puntos por game de media, sino probablemente bastante más). La puntuación en backgammon la comentaré en el capítulo dedicado a sus reglas.

Desde un punto de vista conceptual, los programas de ajedrez tienen su punto fuerte en la parte táctica, mientras adolecen la estratégica. Esto es, si hacemos una comparación frente al juego humano a nivel de grandes campeones del mundo, una máquina de ajedrez es capaz de jugar con perfección un movimiento desde el punto de vista táctico, y obtienen su ventaja en partidas donde la estrategia está bien definida. Si la partida está decidida a la ofensiva, la máquina no fallará, mientras que en zonas de confusión es donde el ser humano domina. Podríamos decir que desde este punto de vista el ser humano es más intuitivo que la máquina, es capaz de extraer una lectura global de la situación en la partida, sin entrar en la evaluación numérica que realiza el ordenador.

Sin embargo, con las redes neuronales aplicadas al backgammon, se produce curiosamente el efecto contrario. Una red neuronal es capaz de jugar estratégicamente muy por encima del ser humano, y fallar en la táctica, cometer errores técnicos de cálculo que difícilmente se asociarían a una

Pág. 12 Luis Rodríguez Herrador El problema del bear in en Backgammon máquina computacional. Esto nos induce a pensar que las redes neuronales están dotadas de cierta intuición, que son capaces de asimilar globalmente las posiciones, más que entrar en un análisis numérico de tiros directos e indirectos, en los que puede llegar a fallar2.

Debemos suponer con lo expuesto que las redes neuronales se asemejan más al comportamiento humano que la simple evaluación numérica. La combinación de ambos métodos están comenzando a utilizarse con resultados muy buenos. Mientras la computación bruta es capaz de analizar un gran número de posiciones, las redes neuronales permiten “intuir” las ramas por las que debemos buscar los óptimos de las soluciones.

2 Un tiro directo se produce cuando es posible comer una ficha del contrario con la tirada de un dado, mientras que indirecto es cuando la distancia a la ficha libre del contrario requiere del uso de los dos dados.

Pág. 13 Luis Rodríguez Herrador El problema del bear in en Backgammon

3.Revisión histórica del Backgammon

El backgammon nació en la antigua Mesopotamia, en el imperio persa, actualmente Irán, Iraq y Siria, y es considerado el más antiguo de los juegos que se conocen. Tradicionalmente se jugaba usando tableros de madera, piezas de piedra y dados fabricados con huesos, piedras, madera o cerámica. Han sido hallados tableros que datan de varios miles de años antes de Cristo, usados por egipcios, sumerios, romanos y persas.

A lo largo de su historia, el backgammon ha sido relacionado con líderes y aristocracia de estas antiguas civilizaciones, como demuestran las reliquias Ilustración 1 Senat recuperadas y la literatura de distintas épocas. Tableros de 3x10, 3x12 y 3x6 metros cuadrados fueron encontrados en Egipto, donde era conocido como el “Juego de los trenta cuadrados” o “Senat”. Estos artilugios datan de 3000-1788 AC y tanto las reglas como el uso del dado continúan siendo un misterio. Tableros de madera fueron hallados en la tumba real de Ur al Chaldees, en el centro de Sumeria, y datan de 2600 AC, además de dados tetraédricos, y se Ilustración 2 Ur conocen como “Juegos reales de Ur”. Varias de las reglas usadas en este juego fueron descubiertas en una escritura cuneiforme que data de 177 AC.

Pág. 14 Luis Rodríguez Herrador El problema del bear in en Backgammon

El backgammon en Roma

También han sido hallados restos romanos de un juego llamado “Ludus Duodecim Scriptorum”, el juego de las 12 líneas, con tableros de cuero y 30 piezas, 15 de ébano y 15 de marfil, que datan de 600 AC, y que se piensa que es una evolución del Senat egipcio. Durante el primer siglo después de Cristo, el juego de las 12 líneas fue reemplazado por una variante con 2x12 líneas en lugar de 3x12, aproximándose ya a la versión actual de backgammon. El juego llegó a Inglaterra tras su conquista por Roma en el siglo I DC, y fue llamado “Tabula”, un nombre genérico para el tablero sobre el que se jugaba. Este pasatiempo fue bastante popular, llegando a ser el juego favorito de emperadores como Claudius. Sobre el 50 DC, Claudius escribió una historia del juego de Tabula, pero lamentablemente no se ha recuperado ningún ejemplar. En su tumba pudo encontrarse un tablero

Ilustración 3 Ludus Duodecim Scriptorum de Tabula, que según las creencias de la época llevaba para hacer más ameno el viaje al otro mundo. El Tabula fue también el juego responsable de la creciente adicción en Roma las apuestas, y por ello se le declaró ilegal al instaurarse la República. En el siglo sexto después de Cristo, el juego pasó a llamarse “Alea”, o “el arte de jugar con los dados”. Alea fue el primer precursor del actual Backgammon, aunque había muchas variantes en lo referente a posiciones y movimientos.

El backgammon en Asia

En el suroeste de Asia, en Persia, apareció un juego llamado “Nard” un poco antes de 800 AC. Al Nard se jugaba de forma parecida al Alea, y se usaban únicamente dos dados para mover las piezas. También llamado “Nardshir”, “Nardeeshir” o “Nard-i-shir”, ya que Nard era el nombre persa que hacía referencia a los productos derivados de la madera, como lo era el tablero

Pág. 15 Luis Rodríguez Herrador El problema del bear in en Backgammon donde se jugaba. Otro nombre con el que se le conocía era “Takhteh Nard”, que significaba “batalla sobre madera”. Una antigua escritura que describe el simbolismo del juego ha revelado que:

El tablero representa un año; cada lado contiene 12 marcas por los meses del año; las 24 marcas del tablero representan las horas del día; las 30 piezas representan los días del mes; la suma de los lados opuestos del dado representan los 7 días de la semana; los colores usados para cada bando representan el día y la noche.

T'shu-p'u fue el nombre con el que los chinos adoptaron el juego del Nard, el cual se cree que fue inventado en la India occidental, y que llegó a China durante la dinastía Wei (220-265 DC), y se hizo muy popular entre 479-1000 DC, donde pasó a llamarse “Sugoroku” por los japoneses. El Nard se introdujo en Europa a través de Italia o España tras la ocupación de Sicilia en 902 DC. El

Ilustración 4 Dados chinos término “Tabula” fue usado por varias culturas para llamar a este juego proveniente de Asia, ya que era similar al que habían extendido los romanos. De hecho, el Nard parecía ser una versión modificada del Tabula, tal vez incorporando algunos aspectos del Senat egipcio. La principal diferencia entre ambos juegos era que el Tabula usaba tres dados, mientras el Nard tan sólo usaba dos. El uso de dos dados para jugar al Tabula se fue extendiendo rápidamente, llegando a ser muy popular.

Proliferación y estandarización del backgammon

La primera mención en inglés impreso fue en “El Codex Exoniensis”: “These two shall sit at tables...” en 1025 DC, y fue llamado Nard o “Tables”. Durante la edad media fue un juego muy popular en las tabernas inglesas. El ajedrez restó popularidad al Tables más tarde, en el siglo XV. Durante el

Pág. 16 Luis Rodríguez Herrador El problema del bear in en Backgammon reinado de Elizabeth I, el juego fue prohibido por algún tiempo, debido a su naturaleza de juego de azar en el que se solía apostar dinero.

En otros países, el juego ganó en popularidad bajo distintos nombres: “Tavola Reale” en Italia, “Tables Reales” en España, “Tavli” en Grecia, “Tavla” en Turquía, “Tric Trac” en Francia, “Backgammon o Tables” en Inglaterra, “Puff” en Alemania, “Vrhcaby” en Chequia y “Swan-liu” en China. Se dice que el término “Backgammon” apareció en 1645 mediante la conjunción de “baec” (back, espalda o atrás) y “gamen” (game, juego) según los sajones, o mediante la conjunción de “bac” o “bach” (little, pequeño) y “gammon” o “cammaun” (battle, batalla) según los galeses, siendo la primera la más aceptada. Otra teoría plantea que su nombre se originó porque siempre se encontraba en el anverso de los tableros de ajedrez, aunque no es prácticamente considerada.

En esta época, el Tabula usaba dos dados, incluyendo además unas reglas de dobles próximas a las actuales, con la excepción de que no había doubling cube (dado de dobles) ni cuenta de gammons y backgammons. En 1743 Edmond Hoyle estableció las reglas del juego del Backgammon en su “Treatise on Backgammon”, convirtiéndose en el primer conjunto de reglas modernas existente.

Ilustración 5 Treatise on Backgammon

Pág. 17 Luis Rodríguez Herrador El problema del bear in en Backgammon

Historia moderna del Backgammon

1920-1960 El doubling cube apareció en Nueva York sobre 1920, introducido por un jugador desconocido que pretendía resaltar la faceta de destreza del juego frente a la de puro azar, incrementando así el mercado del Backgammon. En esta época el Backgammon se limitó prácticamente a la clase alta en clubs privados, hasta que varias publicaciones en revistas de gran tirada lo llevaron al resto de la sociedad. Sus reglas fueron modificadas en 1931 en los Estados Unidos para llegar al juego que conocemos en la actualidad. Durante la depresión estadounidense cayó su popularidad, a lo que se trató de combatir con más textos publicados, pero continuó decayendo durante la segunda guerra mundial. En este periodo no se produjeron avances en la técnica del juego.

1960-1990 La popularidad del Backgammon aumentó durante los años 60, tras los esfuerzos del príncipe Alexis Obelensky (Oby), quien promocionó y organizó torneos a nivel mundial, con la aparición del primer Campeonato del Mundo en las Bahamas. Comenzaron la publicación de libros especializados, siendo el primero “Backgammon: The Action Game”, del mismo Oby. Los años 70 han sido descritos frecuentemente como los del “boom” del Backgammon, con un notable incremento de libros, revistas, columnas en periódicos, torneos, publicidad, etc. Pasó de ser un juego exclusivo para la clase media-alta a ser un juego popular incluso para generaciones de jóvenes. Libros de introducción al Ilustración 6 Libro de Oby

Pág. 18 Luis Rodríguez Herrador El problema del bear in en Backgammon

Backgammon acercó el juego a todos, como fueron: “The Backgammon Book” por Jacoby & Crawford, “Backgammon: The Cruelest Game” por Cooke & Bradshaw, que llevaron a la aparición de volúmenes más avanzados, como “Backgammon for Profit” de Dwek y el clásico “Backgammon” de Paul Magriel, conocido por todos como la “biblia del Backgammon”. La popularidad hizo que las sumas de dinero de los premios crecieran notablemente, alentando la aparición de jugadores profesionales.

En los años 80 el Backgammon volvió a experimentar una recaída entre el público joven debido a la aparición de los videojuegos y la diversión que podían brindar estos a las mentes adolescentes. Sin embargo, el interés por encontrar soluciones al juego se vio renovado con la aparición de los programas informáticos de Backgammon, que aunque no llegaban a ser competitivos en partidas, resultaban muy útiles a la hora de realizar rollouts3 sobre jugadas particulares, con el consiguiente ahorro de tiempo para el jugador profesional, y permitiendo una mayor comprensión y profundidad de la táctica y la estrategia del juego.

1990-Presente La revolución en el campo de los ordenadores continuó hasta que Gerald Tesauro, trabajador de IBM, desarrolló un programa que era capaz de aprender por sí mismo a jugar al Backgammon usando redes neuronales, llamado TD- Gammon, llegando a jugar a nivel mundial. Otro éxito importante para el Backgammon fue la creación de FIBS (First Internet Backgammon Server) en 1993 por Andreas Schneider, alojado en un servidor gratuito en Suecia. Cerca de 100 jugadores con conexión a internet pudieron jugar al mismo tiempo con la posibilidad de salvar sus partidas, ver jugar a otros y comparar sus niveles mediante un sistema de rating.

El noruego Frederic Dahl creó la primera red neuronal de Backgammon

3 Un rollout consiste en jugar un número de partidas suficiente desde una determinada posición realizando las diferentes jugadas posibles para dar un resultado estadístico de dicha posición

Pág. 19 Luis Rodríguez Herrador El problema del bear in en Backgammon comercial, cuyo nombre fue Jellyfish. Su programa tenía la habilidad de asignar una equity4 a cada posición y realizar rollouts sobre posiciones con un sistema novedoso. Jellyfish fue incluido como jugador en FIBS y se crearon foros de discusión de Backgammon, donde se comentaban jugadas y se analizaban partidas. Posteriormente Olivier Egger creó Snowie, un software más comercial de Backgammon, con un interfaz más accesible para el usuario, y la capacidad para importar y analizar partidas grabadas en estándares actualmente utilizados. Lo último referente a programas de Backgammon es el GNU Backgammon, basado en software libre, con un código fuente abierto para descargar e implementar mejoras.

4 La equity de una posición representa la media de puntos por partida que ganaríamos si jugáramos una sucesión infinita de partidas desde esa posición

Pág. 20 Luis Rodríguez Herrador El problema del bear in en Backgammon

4.Reglas del juego

Situación inicial

El backgammon es un juego de dos jugadores, jugado en un tablero compuesto de 24 triángulos que alternan colores claros y oscuros, dividido en dos filas, cada fila en dos cuadrantes de 6 triángulos. Cada uno de los triángulos del tablero recibe comunmente el nombre de “punto”. Los puntos están numerados del 1 al 24, comenzando por el home del jugador blanco. De esta forma, se suele hablar del punto 5, punto 15, etc. La gran parte de la terminología usada en backgammon es anglosajona, y en todo el texto respetaré en la medida de lo posible dicha nomenclatura. Los cuadrantes reciben los nombre de “outer board” o “midfield” si nos encontramos entre los puntos 7 y 18, mientras que reciben el nombre de “inner board” o “home” si nos encontramos entre los puntos 1 y 6 (“home” del jugador blanco) o entre los puntos 19 y 24 (“home” del jugador negro, que aparece como rojo en gran parte de los programas comerciales por motivos de visibilidad). El outer board y el inner board se encuentra separado por el “bar”, que tradicionalmente es la parte de madera del tablero en la que se encuentran las bisagras por donde se pliega el mismo.

Ilustración 7 Posición inicial

Pág. 21 Luis Rodríguez Herrador El problema del bear in en Backgammon

Cada jugador dispone de 15 piezas (comunmente “checkers”) de su color, que son las que podrá mover. La situación inicial de las piezas es la mostrada en la ilustración 1. Aunque existen variantes respecto a la colocación inicial de las piezas, esta posición es la que establece la reglamentación internacional. Otras disposiciones surgieron como simplificaciones o bien para llevar las partidas a posiciones más técnicas desde el principio, de manera que se redujera el azar de la partida frente a la técnica del jugador.

Cada jugador debe tener su propio par de dados y un cubilete para agitarlos y evitar su manipulación, causa de numerosos conflictos en este juego. Además, se incluye un dado denominado “doubling cube”, con los números 2, 4, 8, 16, 32, 64 en sus caras, y que se utiliza para saber la situación de la partida en lo referente a los dobles. Nos dice en cada momento el valor de la partida.

Objetivo del juego

El objetivo del juego para cada jugador es llevar todas sus fichas dentro de su correspondiente home para luego sacarlas fuera del tablero, lo que se denomina “bear off”. El primer jugador en conseguirlo será el ganador de la partida (“game”), aunque no del juego (“match”) en la mayoría de los casos, ya que se pactan a un número determinado de puntos. El valor de cada game viene determinado por el doubling cube, modificado por la situación final de la partida, como ya comentaré más adelante. El primer jugador en alcanzar o superar el número de puntos establecido será el ganador del match. Normalmente un match se juega entre 5 y 9 puntos, aunque en campeonatos suelen encontrarse entre 17 y 25 puntos.

Las piezas sólo pueden ir en un sentido, contrario para ambos jugadores. En ningún caso un jugador podrá mover una pieza en sentido contrario al que le corresponde, y que es siempre el que apunta a su propio home. En la

Pág. 22 Luis Rodríguez Herrador El problema del bear in en Backgammon ilustración 2 podemos ver el sentido que deben tomar las fichas.

Ilustración 8 Sentido de juego

Movimiento de las piezas

Para comenzar el juego, cada jugador lanza uno de sus dados. Esto determina el jugador que comenzará moviendo, que será el que saque una tirada mayor, y la tirada con la que lo hará, que será la resultante de los dos dados lanzados. Si la tirada de ambos es la misma, se vuelven a lanzar hasta que sean diferentes. Después de esta tirada inicial, los jugadores irán turnando sus tiradas y movimientos, cada uno lanzando sus correspondientes dos dados.

Cada tirada de dados indica el número de puntos que el jugador puede mover sus piezas. Como antes he mencionado, siempre en su correspondiente sentido, nunca hacia atrás. Las normas aplicables al movimiento son las siguientes:

1. Una pieza sólo puede moverse a un punto abierto, esto es, un punto que no esté ocupado por dos o más piezas contrarias. Por tanto, puntos abiertos serán aquellos en los que no se encuentre ninguna pieza, o que las piezas sean del jugador que mueve, sin importar el número, o bien está ocupado por una única pieza del contrario. 2. Los números que han resultado en la tirada de dados representan dos movimientos diferenciados. Por ejemplo, si un jugador ha lanzado los dados

Pág. 23 Luis Rodríguez Herrador El problema del bear in en Backgammon

obteniendo un 3 y un 5, puede mover tres puntos con una ficha y cinco con otra siempre a puntos libres, o con la misma ficha. Hay que tener en cuenta que son movimientos diferenciados, por lo que si el movimiento se realiza con la misma ficha, primero debemos ejecutar un movimiento si es posible (si va a un punto libre) y luego el otro, no considerar la suma de ambos dados. El orden de los movimientos es indistinto, por lo que puede moverse primero el 3 y luego el 5 o viceversa.

Ilustración 9 Ejemplos para una tirada 3-5 3. Un jugador cuya tirada de dados sea la misma en ambos debe mover 4 veces en lugar de 2, por supuesto esos 4 movimientos con el resultado obtenido en los dados. Por ejemplo, una tirada 6-6 significa que el jugador dispone de 4 movimientos de 6 puntos cada movimiento para efectuar. Estos movimientos puede repartirlos libremente entre sus piezas, de forma que una misma pieza puede efectuar los 4 movimientos si lo desea. 4. El jugador debe realizar los 2 movimientos correspondientes a la tirada de dados siempre que sea posible (o 4 en caso de que haya resultado un doble en la tirada). Cuando sólo es posible efectuar uno de los dos movimientos, el jugador debe efectuarlo. Si el efectuar un movimiento impide que se pueda realizar el segundo, mientras que otras opciones sí permiten realizar los dos movimientos, el jugador está obligado a tomar una de estas opciones, ya que si es posible debe jugar los dos dados. En caso de que el jugador no tenga movimientos legales con la tirada, pierde su turno. En el caso de que la tirada sea un doble, se actuará de igual forma, realizando tantos movimientos como sea posible.

Pág. 24 Luis Rodríguez Herrador El problema del bear in en Backgammon

Comer piezas

Cuando tenemos una sola pieza del jugador contrario en un punto, denominamos a esta pieza “blot”. Si movemos una pieza en nuestro turno sobre un blot, estamos “comiendo” (“hitting”) la pieza del contrario, y esta pieza pasa a situarse en el bar (la parte central del tablero).

Siempre que un jugador tenga una o más piezas en el bar, su obligación será sacar estas piezas antes de mover cualquier otra pieza. Estas piezas ingresan en el tablero por el home del jugador contrario. Una pieza ingresa en el tablero con una tirada de dados que la lleve a un punto libre, considerando el bar como una casilla extra que se encuentra justo al final de cada home (como un punto 0 y 25).

Por ejemplo, en la ilustración 4, el jugador blanco tiene una pieza en el bar. Su tirada de dados ha sido 4-6, por lo que su primer movimiento debe ser obligatoriamente desde el bar al punto 21. Tras efectuar este movimiento puede realizar otro con el 6, con la pieza que desee siempre que sea a un punto libre (puede mover también la pieza que acaba de salir del bar). Si por ejemplo la tirada hubiera sido un 5-6, un 5-5 o un 6-6, el jugador no podría salir del bar, por lo que perdería su turno.

Ilustración 10 Ejemplo de movimiento desde el bar

Si el jugador tiene más de una pieza en el bar, antes de mover otra pieza

Pág. 25 Luis Rodríguez Herrador El problema del bear in en Backgammon debe tener todas estas piezas fuera del bar. De esta forma, si el jugador hubiera tenido dos piezas en el bar, una tirada 4-6 sólo le hubiera permitido sacar una de ellas, por lo que el otro movimiento no habría podido realizarlo.

Bearing off

El término bearing off se utiliza para denominar la salida de fichas del tablero, objetivo primero del juego. Para poder comenzar el bearing off, todas las piezas del jugador deben encontrarse en su home board. Una tirada de dado permite sacar una ficha del tablero correspondiente a dicha tirada de dado. Un 4 permitiría sacar una ficha que se encontrase a 4 puntos de distancia de salir del tablero (con todas las piezas restantes en el home board o fuera ya del tablero).

Si no hay ninguna pieza en el punto correspondiente a la tirada de dado, es posible mover una pieza que se encuentre en un punto superior. Si no se encontrase ninguna pieza en el punto 4 con nuestra tirada, podemos mover una pieza del 5 al 1, o del 6 al 2. Si no hubiera piezas en los puntos superiores (en este caso 5 y 6), el jugador puede (y está obligado a ello) a sacar del tablero la pieza del punto más cercano a la tirada realizada (el 3 en nuestro caso, luego el 2 y finalmente el 1).

Un jugador no está obligado a realizar un bear off si tiene opción a otro movimiento legal. Por ejemplo, aún encontrando piezas en el punto 4 con nuestra tirada, el jugador puede optar por mover una pieza desde el punto 5 o 6, moviendo 4 puntos.

Ilustración 11 Bear off

Pág. 26 Luis Rodríguez Herrador El problema del bear in en Backgammon

En la ilustración 5 podemos ver que el jugador tiene únicamente dos movimientos posible. El marcado en la figura es el más lógico, puesto que saca dos piezas del tablero, pero también podría optar por mover del 5 al 1 con su dado más bajo, y su segundo movimiento sería forzado, que sería sacar del tablero una pieza del punto 4. Recuerdo que los movimientos en backgammon siempre son secuenciales, de forma que al efectuar un primer movimiento, del dado que decidamos, el segundo se realiza a partir de la posición resultante.

Como ya he comentado, un jugador debe tener todas sus piezas activas (no son piezas activas las que ya han salido del tablero, pero sí las que se encuentran en el bar) en su home board. Si una pieza es comida durante el bear off, la pieza saldrá por el home board del contrario, y debe llegar a su propio home board antes de poder continuar con el bear off. El primer jugador en sacar las 15 piezas del tablero gana el game.

Doubling cube

En backgammon comienza cada game en 1 punto de valor por ganar. Durante el transcurso del game, un jugador puede percibir que su ventaja es suficiente como para decidir doblar el valor de la partida. Esto puede hacerlo en su turno y antes de haber tirado los dados.

El jugador contrario tiene dos opciones al recibir un doble. Puede rechazarlo, con lo que el jugador que dobla gana automáticamente el game por valor de lo que marque en ese momento el doubling cube, o puede aceptarlo, con lo que el doubling cube debe girarse para doblar el valor de la partida y se continúa con esta normalmente. En el momento en que un jugador acepta un doble, se hace “dueño” del doubling cube, por lo que tan sólo él puede volver a ofrecer un doble. Con esto se evita que un jugador que vaya ganando pueda doblar en todos los turnos. En el principio del game ninguno de los jugadores es dueño del doubling cube, por lo que cualquiera de los dos puede doblar en

Pág. 27 Luis Rodríguez Herrador El problema del bear in en Backgammon su turno correspondiente.

Como ya he mencionado, pero para que resulte más claro, dobles posteriores al primero se denominan redobles. Si el jugador contrario no acepta el redoble, el jugador que ha doblado gana tantos puntos como marca el doubling cube, que en este caso será más de uno. Si un jugador no acepta el primer doble, el contrario tan sólo se lleva un punto. No hay límite para los redobles en un game, pero el dado de dobles sólo llega al 64 puesto que no es nada común encontrar un game en la que se den tal número de dobles, y que un match nunca se establece a tantos puntos (sería probablemente un match a infinitos puntos a los que se juega generalmente por dinero, y que la diferencia de puntos es la que determina la cantidad a pagar).

En un match a varios puntos, cuando un jugador llega a un punto por debajo del límite, se dice que el otro está en “crawford”, y no le está permitido doblar a este último. Este estado sólo tiene efecto en un game. Por ejemplo, en un match a 5 puntos, si un jugador llega a 4 puntos el otro se sitúa en crawford, por lo que no puede doblar (el primero sí puede doblar, pero no tiene sentido ya que sólo necesita un punto para ganar la partida). En el siguiente game pueden suceder dos cosas. Si gana el jugador con 4 puntos acaba el match, mientras si gana el jugador en crawford deja de estarlo, por lo que puede doblar en el siguiente game.

Gammons y Backgammons

Son situaciones especiales del game que se dan al terminar éste. Si al finalizar el game, esto es, cuando uno de los jugadores ha sacado todas sus piezas del tablero, el jugador que ha perdido ha conseguido sacar del tablero al menos una pieza, el juego se considera simple, y el jugador que gana se anota tantos puntos como indica el doubling cube (un punto, si nadie ha doblado durante el game).

Pág. 28 Luis Rodríguez Herrador El problema del bear in en Backgammon

Si por el contrario el jugador que ha perdido no ha conseguido sacar ninguna pieza del tablero, se dice que ha sido Gammon, por lo que el ganador se anotará el doble de puntos de lo que indique el doubling cube. Puede ser incluso peor, puesto que si el jugador que pierde, al hacerlo tiene alguna pieza en el bar o en el home board del contrario, la partida se denomina Backgammon, y el jugador que gana lo hace con el triple del valor del doubling cube.

Irregularidades

Pueden darse las siguientes irregularidades en el juego de backgammon que es conveniente corregir:

1. Los dados deben tirarse de forma simultánea, no uno tras otro. La tirada debe realizarse sobre el lado derecho del tablero, donde están los home boards. El lanzamiento debe repetirse si algún dado cae fuera del lado derecho del tablero (deben repetirse ambos dados) o si uno de los dados cae sobre una pieza o cae de canto. 2. Un turno ha finalizado cuando el jugador recoge sus dados del tablero. Si el movimiento es incompleto o ilegal, el jugador contrario tiene el derecho de permitir la jugada tal como ha sido realizada o requerirle al jugador que ha movido que efectúe correctamente el movimiento. El movimiento se considera que ha sido aceptado cuando el jugador contrario efectúa su propia tirada de dados. 3. Si un jugador lanza sus dados antes de que el contrario haya retirado los suyos del tablero, la tirada queda invalidada. Esta regla no suele considerarse cuando el movimiento del contrario es forzado (sólo tiene una posibilidad) o no tiene movimientos legales, o cuando nos encontramos en la recta final del juego sin que pueda haber encuentro entre las piezas de

Pág. 29 Luis Rodríguez Herrador El problema del bear in en Backgammon

ambos jugadores.

Bear in

Por último hablaré de la parte correspondiente a lo que atañe directamente al proyecto. En esta fase no se introducen reglas especiales, sino que se juega con las ya mencionadas, pero es conveniente delimitar ahora esta parte.

El bear in se corresponde con la parte en la que un jugador o ambos tratan de introducir sus piezas desde el midfield hasta su home board sin que sea posible ya contacto entre las piezas de ambos bandos.

Pág. 30 Luis Rodríguez Herrador El problema del bear in en Backgammon

5.Redes TD

Como ya he comentado con anterioridad, las redes TD (temporal differences) son una particularización de las redes neuronales convencionales, cuyo objetivo es la predicción de eventos futuros. Las redes TD están diseñadas para asimilar información sobre el presente y arrojar evaluaciones sobre una situación futura.

El problema de la predicción ya había sido abordado con anterioridad usando redes neuronales, pero con pobres resultados. El tratamiento con el que se formulaban las redes era el refuerzo o la desestimación de los pesos tras la comparación entre la predicción y el resultado real del evento. Esto limitaba el campo de aplicación a predicciones a muy corto plazo, y con resultados lentos de obtener, ya que debía transcurrir todo el periodo para poder realizar la comparación. Sin embargo, la aparición de las redes TD has supuesto un giro total en el diseño de redes predictivas. Estas redes se basan en predicciones sucesivas hasta llegar a la conclusión final. Puede demostrarse que la convergencia de estas redes es mucho mejor que el de las anteriores en la gran mayoría de casos predictivos, con unos resultados mucho más fiables, y obtenidos en menos tiempo, ya que el entrenamiento de la red pasa por un elevado número de estadios antes de la comparación con el resultado final.

El uso de estas redes es muy amplio. Ya que se basan en el análisis de situaciones actuales para predecir el futuro, algunos ejemplos que podemos poner es el uso para juegos de mesa, como es el caso de este proyecto, en los que una determinada posición puede llevarnos a ganar o perder la partida, predicciones meteorológicas, si viendo una nube negra podemos prever que va a llover, o predicciones bursátiles, si la red es capaz de traducir una determinada cartera de acciones en un futuro valor contable.

La primera aparición de las redes TD fue gracias al programa de damas

Pág. 31 Luis Rodríguez Herrador El problema del bear in en Backgammon de Samuel (1959). Para cada pareja de posiciones sucesivas, el programa de Samuel utilizaba las evaluaciones de estas dos posiciones para modificar la evaluación de la posición actual. Este método se fue desarrollando y apareció posteriormente en otros programas, como el de Holland (1986), Sutton (1984), Witten (1977), etc.

Las redes TD han tenido un desarrollo deficiente, y han permanecido mucho tiempo sin una base teórica firme que les diera consistencia. Esto se ha debido a que siempre han aparecido integradas en sistemas más complejos, en las que eran usadas para mejorar funciones de evaluación, basándose en una previsión más acertada de la conclusión de determinadas situaciones, como si se cumplen ciertos objetivos, o por el contrario se llega a una penalización, o simplemente si se gana o se pierde una partida. Nunca han sido estudiadas por separado como una herramienta predictiva para cualquier tipo de hecho arbitrario. Su estudio fue formalizado por Sutton en 1987, estableciendo una base teórica firme para su posterior desarrollo.

Pág. 32 Luis Rodríguez Herrador El problema del bear in en Backgammon

5.1.Estructura

El esquema general de una red TD es el mismo que el de cualquier otra red. Tiene una capa de entrada y otra de salida, con varias capas intermedias. En cada capa las neuronas se conectan con las de la siguiente capa para transmitir la información ponderada por los pesos de las conexiones. La capa de entrada registra la situación actual, y la de salida debe resultar la previsión futura.

La diferencia entre las redes TD y las tradicionales no radica en su estructura física, sino en su entrenamiento. Las redes tradicionales (llamo a otras redes tradicionales por haber tenido un desarrollo anterior al de las redes TD) se basan en el entrenamiento supervisado. Para “enseñar” a la red, es necesario establecer previamente una serie de patrones que guiarán a la red, y que serán su referencia. La red tratará de buscar una función que aproxime la información dada por los patrones, de forma que ante una entrada cualquiera que no sea un patrón, la respuesta de la red debe ser consecuente con el espacio de soluciones planteado. De esta forma, las redes tienen como principal aplicación la búsqueda de funciones para espacios de soluciones. En el caso de sistemas de predicción, las redes tradicionales se entrenan comparando la previsión con el resultado final del experimento.

Sin embargo, las redes TD no aplican este sistema de entrenamiento. Lo que hace una red TD es lanzar una evaluación sobre el resultado final del experimento. Un instante después se lanza otra predicción, y se compara la anterior con esta predicción nueva, tomando esta última como correcta y modificando consecuentemente los pesos. Se vuelve a repetir este proceso tantos instantes como se quiera o lo permita el problema, y en cada paso se modifican los pesos comparando la previsión actual con todas las previsiones anteriores. Evidentemente, consideramos en cada paso correctas unas previsiones que no lo son, ya que la única previsón correcta es la del último

Pág. 33 Luis Rodríguez Herrador El problema del bear in en Backgammon paso, que es la comparación directa con el resultado del experimento. Este método lleva a la convergencia de la red bajo determinadas circunstancias, obteniendo una herramienta que permite evaluar una situación y lanzar una previsión con garantías.

Pág. 34 Luis Rodríguez Herrador El problema del bear in en Backgammon

5.2.Desarrollo matemático

Para realizar este desarrollo partiré de las redes neuronales tradicionales y su desarrollo (usando la regla de Widrow-Hoff) para llegar a la situación de las redes TD. Llegaré a unas redes TD que provocan un cambio en los pesos iguales a los de las redes tradicionales, pero que pueden ser implementadas incrementalmente y requieren mucha menos potencia de cálculo. Posteriormente trasladaré estos resultados a redes TD con variaciones diferentes en los pesos, y que son a las que se hace mención durante todo este texto.

Considerando problemas de predicción de varios pasos en la que la secuencia de resultados obtenida en los diferentes eventos tiene la forma x1, x2, x3, ... , xm, z, donde cada xt es un vector de observaciones disponible en el periodo t de la secuencia, y z es el resultado final del experimento. Los valores de xt deben ser valores reales obtenidos de la observación del experimento en cada periodo, mientras que la z debe ser un valor escalar real, que sea la codificación del resultado. En cada periodo se realiza una predicción del resultado del experimento, y que vendrán denominadas por P1 , P2 , P3 , ... , Pm , todas ellas estimaciones de z. En general, puede considerarse que cada predicción es una función de todas las predicciones anteriores, pero por simplicidad tomaremos que cada predicción es únicamente dependiente de xt. Estas predicciones también dependen del vector de pesos, w, que es variable. En adelante usaré la siguiente nomenclatura para cada predicción, teniendo en cuenta sus dependencias, P(xt , w).

Todos los procedimientos de aprendizaje se expresan como actualizaciones del vector de pesos. Por el momento consideraré que dichas actualizaciones sólo se realizan al finalizar el experimento, y no en cada periodo. En cada observación se calculará una variación en los pesos, que será

∆wt , pero sólo se realizará un cambio global al final del experimento. La

Pág. 35 Luis Rodríguez Herrador El problema del bear in en Backgammon variación de los pesos será la suma de los incrementos obtenidos:

m (1) w  w∑  wt t=1

Posteriormente, consideraré la actualización de pesos en cada uno de los periodos de que consta el experimento. También pueden encontrarse redes TD en las que la modificación de los pesos se realiza una vez alcanzado un umbral suma de variaciones.

Si consideramos entrenamiento supervisado, cada una de las predicciones realizadas debe compararse con el resultado final, y calcular así la modificación en los pesos. El incremento en el periodo t será debido a la diferencia entre la predicción realizada en dicho periodo, Pt , y z, y este incremento afectará a los pesos según la conocida regla de Widrow-Hoff, de forma que un peso se modificará en función de lo que afecte al resultado final. Matemáticamente resulta:

 wt= z−Pt ∇ w Pt (2)

, donde α es un parámetro positivo que afecta al ratio de aprendizaje, y el gradiente es un vector que representa la variación de la predicción respecto de cada peso.

Si consideramos la situación en que Pt es una función lineal de xt y w, tendremos la famosa regla “delta”, o el método de aprendizaje de Widrow-Hoff:

T  wt=z−w xt  xt

T La idea básica de este desarrollo es que la diferencia entre z – w xt es el error cometido en la predicción. Puesto que la predicción debía haber sido z, modificamos los pesos para aproximar la predicción al resultado deseado. Esto

Pág. 36 Luis Rodríguez Herrador El problema del bear in en Backgammon

está multiplicado por el vector de observaciones porque xt indica lo que una variación en cada peso supondrá en el error.

Una modificación a esta regla es la denominada regla delta generalizada o backpropagation, de Rumelhart, Hinton y Williams (1985). En este caso, Pt es obtenida en una red multicapa con multiconexión y resulta una función no lineal de xt y w. La regla de aprendizaje sigue siendo la misma que con la regla delta, pero su computación es considerablemente más compleja, ya que los gradientes son difíciles de obtener.

En cualquier caso hay que hacer notar que la variación de los pesos depende directamente del resultado del experimento, y no puede calcularse la variación de los pesos hasta haber acabado. Desde el punto de vista computacional, todos los resultados intermedios deben ser renombrados y guardados para poder compararlos con el resultado final. En otras palabras, estos métodos no pueden ser computados incrementalmente.

Sin embargo, existe un método TD que da los mismos resultados que la backpropagation y que sí puede ser computado incrementalmente. La clave está en representar el error z – Pt como una suma de cambios en las predicciones, y que es:

m ,donde = por definición z−Pt=∑ P k1−P k  Pm1 z k=t

Usando esto, las ecuaciones (1) y (2) pueden ser combinadas, resultando:

m m m m t

w  w∑ z−Pt ∇ w Pt=w∑ ∑ P k1−P k ∇ w Pt=w∑ Pt1−Pt ∑ ∇ w P k t=1 t=1 k=t t=1 k=1

Pág. 37 Luis Rodríguez Herrador El problema del bear in en Backgammon

Por tanto, el incremento que resultaría tras esto sería:

t (3)  wt=Pt1−Pt ∑ ∇ w P k k=1

Al contrario que (2), esta ecuación sí puede ser computada incrementalmente, puesto que cada variación en los pesos depende únicamente de un par de predicciones sucesivas y de la suma de los valores pasados de ∇wPt . Desde el punto de vista computacional, se ahorra el espacio en memoria, ya que no es necesario registrar los valores de todos estos gradientes, sino únicamente de su suma, pero aumenta el número de operaciones a realizar.

Familia TD lambda

Una de las ventajas fundamentales de las redes TD es su sensibilidad a los cambios en predicciones sucesivas, así como a su diferencia con el resultado final. En respuesta a un incremento (decremento) en el valor de una predicción con respecto a la anterior, se modifican los pesos de manera que se incrementen (decrementen) algunas o todas las predicciones de los vectores de situación precedentes. En el punto anterior hemos visto el caso en que todas las predicciones anteriores se modifican exactamente en la misma cantidad. Sin embargo, una herramienta que dota de mayor potencia a las redes TD es la de asignar una mayor variación a periodos más recientes en el tiempo. En la práctica suele utilizarse un decremento exponencial, en el que la modificación de la predicción lanzada k periodos atrás se modifica según λk:

t t−k ,  (4)  wt=Pt1−Pt ∑  ∇ w P k 0 1 k=1

Si tomamos λ = 1 tenemos (3), que es la implementación TD equivalente a redes de entrenamiento supervisado. De esta forma suele denominarse este método TD(λ), y al caso

Pág. 38 Luis Rodríguez Herrador El problema del bear in en Backgammon anterior TD(1).

Pueden obtenerse resultados en la literatura experta que nos muestran la siguiente gráfica, representativa del error cometido en la red tras ser entrenada. El error considerado es el medio logarítmico entre unas predicciones ideales y las obtenidas según diferentes valores de λ y de α. Para poder obtener estos resultados los experimentos han sido realizados sobre problemas matemáticamente resolubles, en los que es posible obtener con exactitud la previsión correcta en cada momento. Las gráficas resultantes son:

En esta gráfica podemos apreciar cómo las redes TD obtienen mejores resultados que las redes con entrenamiento supervisado en cuanto a problemas de predicción se refiere. Ya hemos visto que una red TD con valor unitario de lambda tiene el mismo resultado que una red con entrenamiento supervisado.

Pág. 39 Luis Rodríguez Herrador El problema del bear in en Backgammon

Aquí podemos ver cómo el valor óptimo del parámetro a varía para los distintos valores de λ. Puede apreciarse cómo el óptimo se desplaza hacia la derecha a medida que disminuimos el valor de α. También puede observarse que el error disminuye con valores de λ menores que 1, y que el óptimo suele estar sobre 0,3 (en el caso de estudio).

Pág. 40 Luis Rodríguez Herrador El problema del bear in en Backgammon

5.3.Problemas de predicción

Debemos distinguir dos tipos de resoluciones a los problemas de predicción en lo que a entrenamiento se refiere. Estos problemas son los de un paso y los de varios pasos (single-step o multi-step). En los problemas de un paso toda la información referente al cambio de pesos es tomada una sóla vez, siempre al final del experimento, mientras que en problemas de varios pasos se considera que la información obtenida en cada uno de los eventos es relevante, y se procede en cada uno de ellos a modificar los pesos de la red.

Los problemas de predicción han sido resueltos tradicionalmente en un paso, comparando únicamente la predicción con el resultado. Las redes TD pueden contruirse de las dos maneras, aunque es en varios pasos donde alcanzan mejores resultados. Por ejemplo, si tomamos la predicción meteorológica antes expuesta, podemos considerar que la predicción del martes es suficientemente buena para modificar los pesos comparándola con la del lunes, y así sucesivamente. Si hacemos la modificación de la red en cada paso, nos encontramos con una red de varios pasos. Sin embargo si vamos anotando lo que supondría esa modificación en los pesos, y sumamos todas las modificaciones al final del experimento para obtener la variación total, realizando esta modificación una sóla vez al final, nos encontramos con una red de un paso.

Podemos ver que aparecen problemas tratados con redes clásicas de un sólo paso, mientras que realmente nos encontramos ante una secuencia de pasos. Este es el caso por ejemplo del reconocimiento por voz o escritura. La resolución tradicional era tomar patrones de entrada correspondientes a las palabras aisladas, y someter a la red a un entrenamiento supervisado. Sin embargo, cuando la gente lee o escucha algo, recibe una cadena, no un elemento aislado, de fonemas o letras, y constantemente reconsidera su hipótesis de lo que realmente está leyendo o escuchando. Esta consideración

Pág. 41 Luis Rodríguez Herrador El problema del bear in en Backgammon hace que el problema pueda ser planteado con redes TD, de forma que se realiza una hipótesis de lo que se lee o escucha en cada paso, tal y como lo hace el cerebro humano. Con redes TD se han mejorado en gran medida los sistemas clásicos de reconocimiento de voz y escritura.

Pág. 42 Luis Rodríguez Herrador El problema del bear in en Backgammon

6.Diseño de una red para el problema del bear in

Para justificar el planteamiento realizado en la elaboración de la red TD para el bear in, tengo que aclarar primero cómo he resuelto el bear off. Recuerdo que el bear off era la situación en la que todas las piezas del jugador se encuentran en el home.

Más adelante comentaré el porqué de la resolución previa del bear off en este problema en cuestión.

Pág. 43 Luis Rodríguez Herrador El problema del bear in en Backgammon

6.1.Bear off

Una red TD debe entrenarse pasando por diferentes estados hasta llegar a una conclusión. Durante todos estos estados la red debe arrojar previsiones de cuál será el desenlace de la partida (o del experimento a estudiar, si hablamos genéricamente). Por tanto, debemos dar un valor de lo que resultará en el experimento, codificando dicho experimento. Cada previsión debe darnos el valor final.

En los programas de backgammon, se toman 4 neuronas de salida, y que representan las posibilidades de ganar, de hacer gammon, de perder y de sufrir un gammon. Una previsión cualquiera debe darnos 4 valores correspondientes a estos datos. La ponderación de estos valores es la equity de la partida, y que indica el número medio de puntos que ganaríamos si jugásemos infinitas partidas desde esa posición.

Una primera prueba realizada con mi red TD proyectada de esta manera arrojaba resultados esperados: la red jugaba igual de mal que lo hacían las existentes en el mercado. Esto se debe a lo que ya he comentado en varias ocasiones, y es que las redes TD asimilan correctamente la parte estratégica de la partida, pero no la táctica, y esta situación es puramente táctica. Para que la red asimile mejor la parte táctica es necesario que las previsiones sean a más corto plazo. Esto hace que pierdan su mayor ventaja, pero si luego se combinan con redes de previsión a largo plazo el resultado es óptimo. Las redes TD deben formal una red mayor, modular, con redes especializadas en cada sector.

Para resolver por tanto el problema del bear in es necesario reducir el alcance de la previsión. De esta forma me planteé resolver numéricamente el problema del bear off. Su resolución es simple, y consiste en comenzar desde

Pág. 44 Luis Rodríguez Herrador El problema del bear in en Backgammon las posiciones de menor número de pips5, calculando el número medio de tiradas necesarias para sacar todas las piezas. De esta forma un programa rastreador de posiciones por número de pips busca las posibilidades y toma la mejor jugada para una tirada de dados dada, que al ser de menor número de pips ya se conoce el número medio de tiradas, y así para todas las posibles tiradas de dados. Luego se hace la media para obtener el valor medio de tiradas de dados necesarias para sacar todas las piezas.

El método anteriormente descrito serviría teóricamente para la resolución del bear in, pero el número de posibilidades que debemos calcular crece exponencialmente, y hace inviable su uso hasta el punto 12. Por ello he usado una combinación entre la resolución numérica y la aplicación de una red TD.

5 Los pips son el número de puntos que restan para sacar todas las piezas del tablero. Una pieza en el punto 5 contaría como 5 pips, una en el 12 como 12 pips, etc. y luego se suma para todas las piezas

Pág. 45 Luis Rodríguez Herrador El problema del bear in en Backgammon

6.2.Presentación de la red de bear in

Actualmente los programas de backgammon pierden movimientos al llevar las piezas a puntos bajos en el bear in. Esto lo hacen ya que comienzan el bear off con un valor bajo en pips, lo cual da una falsa impresión de ventaja, ya que en el bear off estaremos perdiendo puntos en las tiradas altas. Por ejemplo, si tenemos todas las piezas en el punto 1, una tirada de 6 doble nos haría perder 20 pips, ya que de los 24 pips que podríamos avanzar con la tirada sólo podemos contar 4. Es necesario dotar al programa de inteligencia para salvar este problema.

El problema del bear in en backgammon radica en que es un problema técnico y no estratégico. Como ya he comentado en capítulos anteriores, la principal virtud de las redes TD en la aplicación al backgammon se encuentra en el apartado estratégico, donde la red es capaz de asimilar posiciones y extraer la estrategia correcta a seguir en cada momento. Desde el punto de vista técnico, esto es, en cálculo bruto tal y como están entendidas las máquinas de otros juegos como el ajedrez, las redes TD pierden eficacia. Por esto, en una posición particularmente técnica como es la del bear in, una red TD debe estar tremendamente especializada para obtener un buen resultado. Suponía un reto por tanto encontrar una red TD capaz de asimilar movimientos técnicos.

La potencia de las redes TD no radica es su estructura, sino en su entrenamiento. Sus estructuras suelen ser muy simples, y rara vez llega más allá del perceptrón de una sóla capa. En mi caso, la estructura es la siguiente, considerando que cada capa se encuentra unida únicamente con la siguiente (lo que trataremos de determinar serán los pesos óptimos de la red):

Pág. 46 Luis Rodríguez Herrador El problema del bear in en Backgammon

Capa de entrada

La capa de entrada es una asimilación de la posición en la que se encuentra la partida. Para ello he tomado 8 neuronas de entrada por cada punto del tablero. Puesto que el bear in sólo incluye el midfield y home de un jugador, serán en total 12 puntos por 8 neuronas, un total de 96 neuronas en la capa de entrada. Por cada punto se activará la neurona correspondiente al número de piezas que se encuentren en él. De esta forma la primera neurona correspondiente a cada punto tendrá valor 1 si no hay piezas en dicho punto, y valor 0 en cualquier otro caso. La neurona 3 se activará si hay 2 piezas en dicho punto. La octava neurona representa a un número de piezas igual o superior a 7.

Otras redes TD usadas en backgammon incluyen más neuronas en la capa de entrada. Esto facilita la labor de la red a la hora de "leer" la posición. Es frecuente incluir el número de blots6 o de primes7, la distancia de los blots a tus propias piezas, el valor de la partida, etc. Estos datos mejoran la comprensión de la red, ya que de otra manera la convergencia es hacia unos valores no óptimos. Sin embargo, todo esto se hace para mejorar el aspecto estratégico de la red, de modo que en el caso que planteo he optado por utilizar únicamente neuronas que hacen referencia a la posición de las piezas en el tablero.

En otras aplicaciones, conviene hacer un estudio cuidadoso de la capa de entrada, ya que es muy determinante para alcanzar buenos resultados, no sólo de convergencia, sino también de optimalidad de la red. Los primeros programas de backgammon encontraban precisamente este problema. Al incluir únicamente la posición como dato de entrada, la red no alcanzaba un nivel suficiente. Posteriormente se han ido incluyendo datos cuidadosamente,

6 Pieza que se encuentra sola en un punto y es susceptible de ser comida 7 Un prime se forma cuando se sitúan piezas formando barrera (dos o más piezas en un punto) consecutivamente. De esta forma los primes se denominan por el número de barreras consecutivas (por ejemplo, 4-prime, 6-prime)

Pág. 47 Luis Rodríguez Herrador El problema del bear in en Backgammon puesto que no todos ellos conducen a una mejora en el resultado de la red.

Capa intermedia

La teoría en redes aconseja que se introduzca una neurona en la capa media por cada 3 neuronas en la capa de entrada. Tras múltiples pruebas realizadas con la red construida, un aumento en el número de neuronas de la capa intermedia no conduce a mejoras significativas en los resultados obtenidos. La convergencia se hace más lenta y el resultado obtenido es el mismo. En el capítulo de resultados incluyo un apartado con algunas de las pruebas realizadas. De la misma manera, una disminución en el número de neuronas tampoco resulta beneficioso, ya que empeoran los resultados de la red.

Capa de salida

La capa de salida muestra la previsión realizada por la red. En mi caso, una sóla neurona en la capa de salida arroja un valor que representa la desviación prevista respecto de una posición óptima en el bear off. Como ya he descrito en el punto anterior, esta neurona debe darnos la previsión de la desviación respecto al óptimo de media de tiradas que necesitaremos para sacar todas las piezas del tablero una vez lleguemos al bear off para un número determinado de pips.

Otros programas de backgammon utilizan como salida 4 neuronas, indicando las posibilidades de ganar, de hacer gammon, de perder y de sufrir un gammon. Esto se utiliza porque durante el juego los movimientos correctos varían según la puntuación de la partida. Esto se ve claramente si por ejemplo jugamos un match a 5 puntos y llevamos 4. El valor del gammon y de ganar sería el mismo, porque en cualquier caso el match es nuestro. Sin embargo, si sólo llevamos 3 puntos y el contrario 4 conviene arriesgar para lograr el

Pág. 48 Luis Rodríguez Herrador El problema del bear in en Backgammon gammon, ya que esto nos llevaría a ganar la partida, y resulta igual si el contrario nos gana simple o con gammon. En mi programa no he utilizado más que una neurona, ya que el movimiento en el bear in es independiente de la puntuación de la partida. Un movimiento será óptimo en cualquier caso, ya que el programa tratará siempre de buscar el meter las piezas en el menor número de tiradas posible.

Para evitar que la red considere bueno el aguantar piezas sin meter en el home para así llegar al menor número de pips en el bear off, o llevar las piezas equivocadamente a puntos cercanos a la salida, fue necesario modificar los valores de salida. En un principio, la red se entrenaba simplemente con el número medio de tiradas obtenido con el programa secundario. Puesto que la red debe dar una previsión de dicho valor en cualquier jugada, el programa debe tomar dicha evaluación para ejecutar un movimiento. Si consideramos que el mejor movimiento es el que lleva a un menor número de tiradas media al final, la máquina intentaba llevar las piezas lo más cercanas al punto 1, jugando igual de mal que otros programas. Si consideramos por el contrario que la entrada con mayor número de pips es la mejor, trataba de colocar todas las piezas en el punto 6, lo cual tampoco es correcto.

Pág. 49 Luis Rodríguez Herrador El problema del bear in en Backgammon

Matemáticamente puede demostrarse que la mejor posición de entrada para las piezas es la siguiente:

De esta forma lo que hice fue crear una función simple que partiera de dicha posición como óptimo, dándole un valor de 0, y que recibiera penalización si nos encontrásemos en el mismo número de pips pero en otra posición, o si nos encontrásemos con un número de pips diferentes, siendo mayor la penalización cuanto más nos alejemos de dichos valores.

Para clarificar todo esto pondré un ejemplo. Ya hemos comentado que el óptimo se sitúa a 80 pips. Supongamos una posición cercana al bear in. Hemos lanzado los dados obteniendo un determinado resultado. Entonces un

Pág. 50 Luis Rodríguez Herrador El problema del bear in en Backgammon programa rastreador de posiciones analiza todos los posibles movimientos que se nos plantean, y ejecuta la red sobre todos ellos para ver cuál es mejor. Si un movimiento conduce más probablemente a la posición óptima ya comentada, su previsión será un valor menor que otra que lleve a otra posición diferente. El caso contrario sería el de llevar una pieza a puntos bajos sin necesidad de ello, ya que el valor obtenido como resultado al final de la partida va a ser elevado, y esto no potencia el que se recurra a estas jugadas.

Pág. 51 Luis Rodríguez Herrador El problema del bear in en Backgammon

7.Mejoras sobre las redes TD

Este capítulo está dedicado a las mejoras introducidas en mi aplicación particular sobre la teoría general de redes TD, de forma que he mejorado la convergencia, que ahora resulta más rápida.

También haré una comparación con otros programas de backgammon, explicando porqué fallan, y qué es lo que hace que no jueguen correctamente.

Pág. 52 Luis Rodríguez Herrador El problema del bear in en Backgammon

7.1.Combinación con una resolución numérica

Ya lo he expuesto con anterioridad, pero vuelvo a comentarlo en este punto. Las redes TD resultan eficaces, aplicadas al backgammon, en periodos largos de tiempo, donde son capaces de prever el desarrollo de la partida. Sin embargo, sus movimientos desde el punto de vista técnico no son siempre correctos. Esto es porque su entrenamiento siempre se ha realizado a largo plazo. Para poder obtener mejores resultados en el apartado técnico, es conveniente acercar el final del problema. Por ello, he llevado el final del problema del bear in al comienzo del bear off, en vez de en el final de la partida.

Puesto que el final de la partida es relativamente lejano, el peso que puede tener la comparación con el resultado final frente a la comparación entre predicciones intermedias puede hacer que relentice la convergencia, e incluso que no se produzca en determinados casos. Hay que tener cuidado al diseñar la red para que no se produzca este problema. En el caso de mi red lo que he hecho ha sido combinar la red con una resolución matemática disminuyendo el horizonte del problema. El resultado ha producido un aumento notable de la velocidad de convergencia respecto a otras redes, y unos resultados mucho mejores.

Pág. 53 Luis Rodríguez Herrador El problema del bear in en Backgammon

7.2.Entrenamiento secuencial

Si atendemos a la función matemática que determina la variación en los pesos de la red vemos lo siguiente:

t t−k  wt=Pt1−Pt ∑  ∇ w P k k=1

La variación de los pesos en un periodo cualquiera puede tomar el mismo peso que la variación en el resultado final. Si los pesos iniciales tienen una estructura correcta, la previsión final conducirá a una modificación correcta de los pesos, pero si la disposición inicial no es buena, la convergencia puede llegar a ser terriblemente lenta, ya que la variación que produce el final de la partida (que es una estimación matemáticamente correcta) puede verse compensada por la variación de unas previsiones erróneas al comienzo de la misma.

Existen textos que demuestran la convergencia de la red en cualquier caso8, pero una convergencia excesivamente lenta puede llevarnos a desechar el uso de este tipo de redes. Para solventar este problema planteé dos posibles soluciones:

• La primera de ellas consiste en tomar un α variable en el tiempo. De esta forma, con un valor muy pequeño en los primeros periodos y que experimente un crecimiento exponencial estamos aplicando una variación en los pesos mayor en las jugadas finales de la partida. Hay que tener cuidado puesto que este entrenamiento sólo debe utilizarse como previo, para acondicionar los pesos iniciales, y nunca como entrenamiento final, ya que los valores que obtendríamos en la red no serían correctos. Mientas las jugadas finales las realizaría perfectamente, perdería visión en gran medida

8 Machine learning 3, Richard S. Sutton (1988)

Pág. 54 Luis Rodríguez Herrador El problema del bear in en Backgammon

en las jugadas iniciales, y el programa no sería correcto. Por ello, una vez realizado esta modificación en el entrenamiento y obtenidos unos pesos iniciales, habría que tomar un valor de α constante para realizar el entrenamiento definitivo.

• La segunda solución que tomé fue la de un entrenamiento secuencial. Comenzando el entrenamiento por jugadas cercanas al bear off, para luego ir distanciando cada vez más. De esta forma la red se ve incluenciada en primera instancia por valores reales (los obtenidos para el bear off). La convergencia con este método fue excelente. Una mejora que también introduje fue la de no tomar como posiciones iniciales siempre las mismas, sino que fueran aleatorias dentro de un mismo número de pips. El beneficio obtenido con esto no era excesivo, ya que la convergencia mejoraba, pero muy poco. Esto se debe a que en el caso que estoy estudiando los resultados finales a los que puede llegar la partida presentan muy poca variación de unos a otros para situaciones próximas. La pendiente de la curva que forman los resultados finales es muy pequeña, y por ello empezar desde una posición u otra reporta pocos beneficios, ya que los finales van a ser muy similares. Sin embargo, este método sí que podría resultar beneficioso en situaciones en las que los resultados finales a lo que puede llegar el experimento son muy dispares entre sí. En estas situaciones es posible que un cambio en la situación cercana al final del experimento, por pequeña que sea, puede acarrear predicciones muy diferentes.

Las pruebas con los dos métodos anteriormente expuestos dieron como resultado una convergencia mucho mayor en el segundo caso (aunque el resultado final obtenido era similar). Mientras el primer método alcanzaba unos valores estables y un nivel de juego correcto para un número de entrenamientos de 500.000, el segundo método llegaba al mismo resultado tan sólo en 300.000 games. A partir de ahora usaré la nomenclatura habitual en

Pág. 55 Luis Rodríguez Herrador El problema del bear in en Backgammon redes TD, y a cada game jugado le denominaré training set. Un training set no es cada actualización de pesos, sino que es el conjunto de actualizaciones hasta llegar a la comparación con el resultado final del experimento. En las diferentes posibilidades de entrenamiento vistas con anterioridad, podemos hacer la consideración que en redes de un paso la actualización se produce al final del training set, mientras que en redes de varios pasos la actualización se produce en cada periodo del training set.

Pág. 56 Luis Rodríguez Herrador El problema del bear in en Backgammon

7.3.Abanico de resultados finales

Las redes TD desarrolladas para backgammon contemplan únicamente el resultado final de la partida. Premian si el resultado es positivo, mientras penalizan si el resultado es negativo. El dotar a la red de un abanico amplio de resultados finales hace que ésta acondicione mejor los pesos.

Veamos esto mejor con un ejemplo. Supongamos una determinada posición de la partida. Dicha partida, puesto que el backgammon es un juego de azar, nos llevará a ganar o perder la partida con una cierta probabilidad. De esta forma, un movimiento por el cual sólo tenemos un 20% de posibilidades de ganar y la ganamos, estaremos reforzando los pesos de dicho movimiento, mientras que tal vez la alternativa que nos llevaba a ganar un 70% de las veces se haya tomado y perdido, por lo que se ha visto empeorada. Esto nos lleva a que los entrenamientos deben ser más largos por dos motivos:

• El primero es que para que tengamos una probabilidad correcta para una determinada posición debemos jugar un número infinito de partidas teóricamente, lo cual no es posible, pero sí que la fiabilidad aumenta con el número de partidas jugadas.

• El segundo es que si reforzamos una jugada mala, de forma que la consideramos buena, mientras hundimos la buena, por haber perdido, si esto sucede un número importante de veces por azar nos encontramos con que la máquina jugará el movimiento incorrecto, y no probará nunca con el correcto para reforzarlo. Por ello el entrenamiento debe contemplar cierta aleatoriedad al realizar los movimientos, la cual lo complica. Esto también hace que el número de partidas necesarias para entrenar la red aumente. En el ejemplo planteado únicamente con dos posibles movimientos parece claro que la red no tardaría demasiado tiempo en bajar los pesos correspondientes a la jugada mala, hasta situarla por debajo de la otra, con lo que no habría

Pág. 57 Luis Rodríguez Herrador El problema del bear in en Backgammon

problemas, salvo una pequeña pérdida de tiempo, pero en situaciones reales en las que el número de posibilidades es muy elevado, y que la diferencia entre dos posibilidades es muy pequeña, esto puede resultar problemático.

El que exista una cantidad más dispersa de resultados hace que no se refuercen tanto valores incorrectos, ya que no existe una aplicación tan extricta de “premio-castigo” en función del resultado.

Pág. 58 Luis Rodríguez Herrador El problema del bear in en Backgammon

8.Funcionamiento del software

El software que se incluye en el proyecto es la plasmación de todo lo expuesto anteriormente. Ha sido desarrollado con visual basic 7.0, que es un programa con el que ya había trabajado durante la carrera y que permite una presentación más amigable. Desde el punto de vista computacional, otros programas como c++ hubieran sido más rápidos, pero el entrenamiento de la red no es suficientemente largo como para que dicho beneficio sea importante. El programa de apoyo que calcula el número medio de tiradas necesarias para sacar las piezas fuera del tablero en el bear off también lo he desarrollado bajo visual basic 7.0.

Funcionamiento

El interfaz que presenta el software es sencillo. Un tablero que permite ver las jugadas y una serie de instrumentos distribuidos alrededor de éste que permite la creación y gestión de redes TD, así como sus pruebas en el tablero de juego. Cada uno de los instrumentos se encuentra en recuadros separados, que iré comentando su función a continuación.

Pág. 59 Luis Rodríguez Herrador El problema del bear in en Backgammon

Creación

Permite al usuario crear una nueva red TD, con un número determinado por él mismo de neuronas en la capa intermedia. Por defecto serán 32. Las capas de entrada y salida son fijas, y tienen 96 y 1 neuronas respectivamente.

Al crear una nueva red, el programa avisará si existe alguna red ya creada residente en la memoria del programa, y permitirá que se salven los pesos de ésta. En caso de que no hubiera red existente o que se proceda a crear la red sustituyendo la anterior, el programa generará una serie aleatoria de pesos para la red. Puesto que el programa usado es el visual basic, que está basado en objetos, la creación de una red neuronal supone la generación de

Pág. 60 Luis Rodríguez Herrador El problema del bear in en Backgammon dicho objeto, con sus correspondientes neuronas, y sus conexiones ponderadas mediante pesos. Dichos pesos son los que se generan aleatoriamente. Estos pesos generados aleatoriamente entre -0,5 y 0,5.

Jugar

Jugar significa realizar una partida de prueba, en la que podemos ver los movimientos de la máquina. Resulta fundamental a la hora de realizar las pruebas para determinar la potencia de la red. Nótese que el programa no permite jugar si no hay ninguna red creada.

Lo primero que encontramos si tratamos de jugar una partida es que tenemos la opción de hacer una tirada de dados azarosa o que podemos asignar nosotros mismos el valor de la tirada. Esto último ha sido incluido para poder jugar contra otros programas, ya que es el otro programa el que da el valor de la tirada de dados.

Una vez que decidamos comenzar la partida, tendremos que editar la posición de las piezas a partir de la cual se comenzará a jugar. Sólo utilizaremos la parte inferior del tablero, puesto que nos encontramos en una simulación de bear in. Para situar piezas en el tablero utilizamos el botón izquierdo del ratón sobre el punto que deseamos situar la pieza, mientras que el botón derecho nos permite rectificar y retirarla en caso de error. Debemos colocar un total de 15 piezas, pudiendo también colocar piezas fuera del tablero, en la zona de la derecha preparada para tal fin.

Pág. 61 Luis Rodríguez Herrador El problema del bear in en Backgammon

Una vez colocadas las piezas podemos comenzar a jugar.

Partida

Aquí se desarrolla la partida. Una vez pulsado el botón de comenzar, el programa generará aleatoriamente una tirada de dados, o esperará que la introduzcamos manualmente, según la opción elegida. Si al introducir la tirada nos hemos equivocado, podemos rectificar con el botón de cambiar.

Si queremos que el programa ejecute la tirada obtenida, pulsamos sobre el botón de mover, y ésta realizará el movimiento, de forma secuencial para que podamos seguirlo.

Pág. 62 Luis Rodríguez Herrador El problema del bear in en Backgammon

Dados

Si hemos puesto los dados en manual, debemos pulsar sobre los dados para elegir la tirada de dados.

Evaluación

Este valor indica el valor de la neurona de salida. Como ya he comentado a lo largo del texto, este valor representa una predicción sobre la desviación cometida con respecto a la posición óptima en la entrada para el bear off. A

Pág. 63 Luis Rodríguez Herrador El problema del bear in en Backgammon mayor valor, mayor será la desviación que estamos cometiendo a la hora de entrar en el home.

Entrenamiento

Esta es la parte referente al entrenamiento de la red, y que es la que realmente es objeto de estudio.

Si nos fijamos en la parte inferior, tenemos la posibilidad de entrenar la red en varios pasos o en un sólo paso (por cada training set). Sin embargo, en esta versión del programa no se puede entrenar en un sólo paso, y sólo es posible en varios pasos.

En el entrenamiento se puede trabajar sobre varios parámetros, y que son los que son susceptibles de modificación. Estos son:

• Número de iteraciones o training sets, y que será el número de partidas que jugará la máquina • Valor de λ, siendo 0,15 por defecto • Valor de α, siendo 0,01 por defecto

Una vez que comencemos a entrenar a la red, se abre otra pantalla en la que podemos ver los pesos de la red. Cada columna representa los pesos de una neurona con las de la capa siguiente. De esta forma, para cada neurona de la capa de entrada tendremos 32 pesos, correspondientes a las neuronas de la capa intermedia. El color azul representa pesos positivos, y el rojo pesos negativos. Una barra de estado en la parte inferior nos permite conocer la evolución del entrenamiento (el número de training sets que se han jugado).

Pág. 64 Luis Rodríguez Herrador El problema del bear in en Backgammon

La visualización de los pesos nos permite ver cómo estos se modifican rápidamente en un principio, pero van convergiendo hasta que las variaciones son muy pequeñas, no apreciables con el gráfico.

Pesos

Por último el programa permite cargar y salvar pesos de la red. Los pesos han sido guardados en archivos .txt, por facilidad de uso, de forma que en dicho archivo podemos ver el valor de los pesos de toda la red.

Pág. 65 Luis Rodríguez Herrador El problema del bear in en Backgammon

Pág. 66 Luis Rodríguez Herrador El problema del bear in en Backgammon

9.Resultados

Hace algunos meses aparecieron en internet en los foros especializados de backgammon severas críticas al juego desarrollado por los distintos programas en lo que al bear in se refiere. Las críticas argumentaban que programas de estos niveles no podían permitirse perder partidas en movimientos aparentemente irrelevantes por su sencillez, ya que la simple lógica hace que cualquier jugador humano sea capaz de jugar mejor que las máquinas. Sin embargo, el problema todaviá no había sido resuelto.

Para mostrar la escasa eficiencia de los distintos programas de backgammon, capitaneados por Snowie, el software comercial más extendido, se simplificó el backgammon a un juego sencillo que mostraba las carencias de Snowie, GNUbackgammon y Jellyfish. El juego era muy simple. Partimos de un bear in puro, con todas las piezas situadas en el punto 12:

Pág. 67 Luis Rodríguez Herrador El problema del bear in en Backgammon

En esta posición tenemos un bear in teórico, puesto que llegar a él en la práctica es algo menos que imposible. Pues partiendo de aquí, se realiza una tirada de dado, y se ejecuta la jugada. Luego se otorga la misma tirada a la máquina, y se permite su movimiento. Se continúa así hasta el final de la partida. Gana el jugador que meta las piezas en el menor número de tiradas, pudiendo darse el caso de empate si entran ambos al mismo tiempo.

A simple vista es lógico pensar que los dos jugadores deben empatar siempre, ya que estamos dando la misma tirada de dados, y deben restar por consiguiente el mismo número de pips. Sin embargo, esto no es así, ya que los programas actuales llevan piezas a puntos bajos en el final del home, perdiendo pips en las tiradas finales. En comparación con el juego del humano, la máquina habría metido al final menos piezas, pero tendría acumuladas muchas piezas en puntos bajos mientras el humano tendría pocas piezas, la mayoría en puntos altos. Si la siguiente tirada es una tirada alta, el humano puede meter las mismas piezas que la máquina, pero desde puntos altos, aprovechando mejor las tiradas de dados. Esto que puede parecer tan simple hace que la máquina pierda más de 50% de las partidas jugadas con este método.

Por tanto, para comparar los resultados, lo que he hecho ha sido valerme de este mismo juego, enfrentando mi programa contra Snowie y contra mí mismo. Los resultados obtenidos son los siguientes:

• En 100 partidas jugadas, el programa empata conmigo en su totalidad • En 100 partidas jugadas contra Snowie, Snowie pierde 54 partidas y empata el resto, sin llegar a ganar ninguna.

De esta forma queda demostrada la eficiencia de mi red frente a los actuales programas de backgammon.

Pág. 68 Luis Rodríguez Herrador El problema del bear in en Backgammon

10.Conclusiones

Como ya he demostrado en el apartado anterior, la eficiencia de mi red es superior a las actuales en el apartado del bear in. Este resultado puede ser utilizado para implantar mi red de forma modular en las ya existentes, como se ha hecho con otras situaciones particulares del juego.

Podemos ver un cálculo sencillo que nos lleva a conclusiones sorprendentes:

• Un game de backgammon llega a una posición de bear in un 10% de las veces, aunque jamás de forma tan pura como el ejemplo mostrado. • De esta cantidad de games, podemos considerar que únicamente un 20% es una situación de carrera, en la que el resultado está lo suficientemente igualado como para que los errores sean representativos. En el otro 70% restante, la ventaja de un jugador hace que la partida se decante claramente hacia su lado, aún jugando incorrectamente. • Al ser el backgammon un juego de azar, el resultado de la partida va a ser determinado por las tiradas de dados, pero supongamos que un 5% puede haberse visto influenciada por haber jugado mal una posición.

Con lo visto anteriormente, si jugamos 1.000 games, tan sólo 1 de ellos los perderá el programa debido a su error en el bear in. Si tomamos el servidor más famoso de backgammon de internet, que es Gamesgrid9, en el cual juegan máquinas avaladas por personas con dinero, y consideramos lo que supone esto, tenemos que:

• Una máquina puede jugar del orden de 10.000 games diarios. • El valor de un game suele rondar los 10€.

9 www.gamesgrid.com

Pág. 69 Luis Rodríguez Herrador El problema del bear in en Backgammon

Esto nos lleva a la sorprendente conclusión de que una máquina que esté jugando en este servidor pierde una media de 100€ diarios por el problema del bear in. Es un resultado realmente alarmante.

Este resultado obtenido se ve camuflado por el hecho de que las partidas se juegan normalmente a más de un game. Un match suele durar de media entre 5 y 7 puntos. De esta forma, aunque la máquina haya cometido un error en uno de los games, siempre puede demostrar en los demás su superioridad frente a la gran mayoría de los humanos, y remontar el match. En cualquier caso, aunque de forma disimulada, el número de games perdidos es excesivo para un programa del nivel de Snowie.

Además, para Snowie está suponiendo un grave problema. Su gran competidor es GNUbackgammon, que es un programa desarrollado bajo Linux, con el espíritu de sortware libre, de forma que es gratuito. El GNU juega a un nivel muy similar al de Snowie, y Oasya, la compañía desarrolladora de Snowie debe asegurar que su producto aventaje al otro. Hace algún tiempo, la ventaja comparativa de Snowie era su capacidad para analizar partidas y su sencillez de manejo. De esta forma, los usuarios adquirían Snowie para analizar sus partidas y aprender de los errores. Sin embargo, GNUbackgammon ha mejorado considerablemente su interfaz, y ofrece las mismas posibilidades que Snowie. Por todo esto, resolver problemas como el que planteo en este proyecto puede resultar muy interesante como nueva ventaja del producto comercial.

Pág. 70