Blog para documentar el trabajo de programación realizado en la clase de Aprendizaje Automático del Tec de Monterrey, Campus Estado de México. Enero-Mayo 2010.

Tuesday, March 2, 2010

Gato 3D con LMS

Gato 3D

Descripción del medio ambiente.

Hay tres tableros de gato formando un cubo. Cada panel vertical y horizontal es un gato de modo que hay más formas de ganar. Existen 27 espacios donde se puede tirar. El ambiente es accesible, no determinista, no episódico, estático y discreto.

Actividades que aprende el agente.

El objetivo del agente ganar a su oponente. El agente es autónomo y reacciona según los tiros del otro jugador, va aprendiendo a jugar hasta ser capaz de ganar.

El agente aprenderá a bloquear tiros y a tirar de manera que tenga oportunidad de ganar.

1. Bloquear tiros. A partir de la estrategia del usuario el agente aprenderá que posición del tablero utilizar para su siguiente jugada para así impedir que el otro jugador gane.

2. Tirar. De acuerdo al desempeño del jugador el agente elige la mejor jugada posible.

Solución utilizando el Algoritmo LMS

· Experiencia de aprendizaje

El agente juega contra un agente reactivo. La retroalimentación es indirecta ya que depende del resultado final de la partida. La selección de estados la hace el agente y al final se infiere el resultado a través del medio ambiente. La distribución de ejemplos es muy similar a los reales.

· Función objetivo

Tirar: Tablero →ℜ

V: T→ℜ

V (b) = 10 cuando ganó

V (b) = -10 cuando perdió

V (b) = V (mejor estado alcanzable)

· Representación de la función objetivo

X1 = número de espacios peligrosos (si el oponente tira ahí gana)

X2 = número de espacios beneficiosos (si el agente tira ahí junta 2 en línea y tiene posibilidades de ganar)

X3 = número de espacios ganadores (si el agente tira ahí gana)

V (b) = w0 + w1x1 + w2x2 + w3x3

W0, W1, W2, W3 son pesos a aprender.

· Selección del algoritmo de aproximación

Se usará LMS.

Los valores iniciales de pesos W0, W1, W2, W3 son elegidos al azar y van de 0 a 1 y la constante de aprendizaje η fue elegida al azar entre 0.4 y 0.9.

Los patrones utilizados para el aprendizaje son la representación de los espacios que existen en el tablero. Los primeros nueve representan la cara superior del cubo, los siguientes nueve el gato horizontal en la mitad del cubo y los últimos nueve el gato en la cara inferior.

Conclusiones después de la programación

Implementar LMS tuvo ciertas complicaciones ya que hay que ser cuidadosos en las variables que obtienen información del sistema, de hacer falta una o de no calcularlas correctamente, puede llegar a no aprender correctamente. También, es necesario hacer que el programa sea entrenado contra muchos y diferentes escenarios para que sepa qué hacer bajo diferentes situaciones