next up previous
Next: 11.7 Algunos desarrollos recientes Up: 11. Aprendizaje por Refuerzo Previous: 11.5 Generalización en Aprendizaje

11.6 Aplicaciones a Juegos y Control

La primera aplicación en aprendizaje por refuerzo fué el programa para jugar damas de Samuel. Usó una función lineal de evaluación con pesos usando hasta 16 términos. Su programa era parecido a la ecuación de actualización de pesos, pero no usaba recompensa en los estados terminales. Esto hace que puede o no converger y puede aprender a perder.

Logró evitar ésto haciendo que el peso para ganancia de material fuera siempre positivo.

Se han hecho aplicaciones a control de robots. Una de las más conocidas es el control del péndulo invertido. Controlar la posición $x$ para que se mantenga aproximadamente derecho ( $\theta \approx
\pi/2$), manteniendose en los límites de la pista. $X, \theta,
\dot{X}$ y $\dot{\theta}$ son continuas. El control es de tipo bang-bang.

Boxes (Michie, Chambers '68) balanceaba el pendulo por más de una hora después de 30 intentos (no simulado). Idea: discretizar el espacio en cajas. Se corria el sistema hasta que se caía el péndulo o se salia de los límites. Entonces se daba un refuerzo negativo a la última ``caja'' y se propagaba a la secuencia de ``cajas'' por las que pasó. Sin embargo, los resultados más impresionantes (un péndulo invertido triple) se lograron derivando un algoritmo con teoría de control clásica (simulado).

TD-gammon (Tesauro '92) ilustra la potencialidad de técnicas de aprendizaje por refuerzo. Tesauro primero trató de aprender $Q(s,a)$ directamente con una red neuronal (Neurogammon) con poco éxito. Después representó una función de evaluación con una sola capa intermedia con 40 nodos. Después de 200,000 juegos de entrenamiento mejoró notablemente su desempeño. Añadiendo atributos adicionales a una red con 80 nodos escondidos, después de 300,000 juegos de entrenamiento, juega como los 3 mejores jugadores del mundo.

Recientemente (2000), se desarrolló un algoritmo de RL que actualiza las funciones de evaluación en un árbol de búsqueda en juegos (TDLeaf($\lambda$).

Aplicado a ajedrez, mejora el puntaje de un programa (KnightCap) de 1,650 a 2,150 después de 308 juegos en 3 días.


next up previous
Next: 11.7 Algunos desarrollos recientes Up: 11. Aprendizaje por Refuerzo Previous: 11.5 Generalización en Aprendizaje
Eduardo Morales Manzanares 2004-11-02