Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Í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
Pág. 3
Luis Rodríguez Herrador El problema del bear in en Backgammon
15×15=225 movimientos
Pág. 4
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 5
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 6
Luis Rodríguez Herrador El problema del bear in en Backgammon
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.
Pág. 8
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 9
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 10
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 11
Luis Rodríguez Herrador El problema del bear in en Backgammon
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.
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
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
Pág. 14
Luis Rodríguez Herrador El problema del bear in en Backgammon
El backgammon en Roma
El backgammon en Asia
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:
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.
Pág. 16
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 17
Luis Rodríguez Herrador El problema del bear in en 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
Ilustración 6 Libro de Oby
jóvenes. Libros de introducción al
Pág. 18
Luis Rodríguez Herrador El problema del bear in en Backgammon
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.
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
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
Situación inicial
Pág. 21
Luis Rodríguez Herrador El problema del bear in en Backgammon
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.
Pág. 22
Luis Rodríguez Herrador El problema del bear in en Backgammon
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.
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.
Pág. 24
Luis Rodríguez Herrador El problema del bear in en Backgammon
Comer piezas
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
Pág. 26
Luis Rodríguez Herrador El problema del bear in en Backgammon
Doubling cube
Pág. 27
Luis Rodríguez Herrador El problema del bear in en Backgammon
su turno correspondiente.
Gammons y Backgammons
Pág. 28
Luis Rodríguez Herrador El problema del bear in en Backgammon
Irregularidades
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
Pág. 30
Luis Rodríguez Herrador El problema del bear in en Backgammon
5.Redes TD
Pág. 31
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 32
Luis Rodríguez Herrador El problema del bear in en Backgammon
5.1.Estructura
Pág. 33
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 34
Luis Rodríguez Herrador El problema del bear in en Backgammon
5.2.Desarrollo matemático
Pág. 35
Luis Rodríguez Herrador El problema del bear in en Backgammon
m
w w∑ w t (1)
t=1
w t = z−w T x t x t
Pág. 36
Luis Rodríguez Herrador El problema del bear in en Backgammon
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.
m
z−P t =∑ P k 1−P k ,donde P m1=z por definición
k =t
Usando esto, las ecuaciones (1) y (2) pueden ser combinadas, resultando:
m m m m t
w w∑ z−P t ∇ w P t =w∑ ∑ P k 1−P k ∇ w P t =w∑ P t1−P t ∑ ∇ 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
t
w t = P t1−P t ∑ ∇ w P k (3)
k =1
Familia TD lambda
t
w t = P t1−P t ∑ t−k ∇ w P k , 01 (4)
k =1
Pág. 38
Luis Rodríguez Herrador El problema del bear in en Backgammon
anterior TD(1).
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
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
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.
Pág. 44
Luis Rodríguez Herrador El problema del bear in en Backgammon
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
Pág. 46
Luis Rodríguez Herrador El problema del bear in en Backgammon
Capa de entrada
Pág. 47
Luis Rodríguez Herrador El problema del bear in en Backgammon
Capa intermedia
Capa de salida
Pág. 48
Luis Rodríguez Herrador El problema del bear in en Backgammon
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
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.
Pág. 50
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 51
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 52
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 53
Luis Rodríguez Herrador El problema del bear in en Backgammon
7.2.Entrenamiento secuencial
t
w t = P t1−P t ∑ t−k ∇ w P k
k =1
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.
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
• 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.
Pág. 57
Luis Rodríguez Herrador El problema del bear in en Backgammon
Pág. 58
Luis Rodríguez Herrador El problema del bear in en Backgammon
Funcionamiento
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.
Pág. 60
Luis Rodríguez Herrador El problema del bear in en Backgammon
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.
Pág. 61
Luis Rodríguez Herrador El problema del bear in en Backgammon
Partida
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
Pág. 63
Luis Rodríguez Herrador El problema del bear in en Backgammon
Entrenamiento
Pág. 64
Luis Rodríguez Herrador El problema del bear in en Backgammon
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
Pág. 67
Luis Rodríguez Herrador El problema del bear in en Backgammon
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:
Pág. 68
Luis Rodríguez Herrador El problema del bear in en Backgammon
10.Conclusiones
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.
Pág. 70