martes, 15 de marzo de 2011

Actividad Programación 3 Algoritmo Q-Learning Sarsa

Breve descripción del medio ambiente.
El medio ambiente es un campo de batalla limitado y de forma hexagonal con dos jugadores que pueden disparar y cuyo objetivo es matar al contrincante.

Descripción detallada de la actividad o acción que va a aprender tu agente.
Aprende a matar al contrincante

Solución planteada al problema utilizando el Algoritmo Q-Learning y el Algoritmo Sarsa.
Describe con detalle cada elemento del planteamiento:
Selección de la experiencia de aprendizaje
Se iba a premiar al agente por cada vez que este dañara o matara al enemigo, cuando lo detectaba y castigar cuando moría.
Selección de las recompensas.
Cuando la acción es quedarse en el ángulo en el que se encuentran la recompensa es 1.
Cuando cambian de ángulo la recompensa es -0.5 y cuando disparan la recompensa depende de si matan al contrincante, lo hieren, son heridos o mueren, obteniendo respectivamente 2,0.5,-0.5,-2.
Posibles acciones de tu agente en el medio.
Girar, disparar, moverse.
Estados posibles que puede sensar tu agente en el medio (descripción de los estados).
Cada uno de los 8 cuadrantes que puede ver más un estado sin actividad.
Descripción de la estrategia de exploración/explotación para el aprendizaje.
Lo ideal sería que se seleccionara de forma aleatoria algún estado del agente para poder poblar la tabla q y luego se pasara a explotación. Aquí fue donde surgió uno de los problemas, en lo que se le iba a enseñar era muy difícil definir un estado de terminación. Podría estar explorando varios caminos pero realmente no iba a funcionar uno del todo ya que el contrincante no se iba a mover de la misma forma siempre. Por lo cual la exploración realmente no acababa y tenía que darse siempre en cada iteración.
Al principio hay bastante exploración pero conforme aumenta el tiempo la explotación aumenta.
Ejemplo de tres estados distintos del medio ambiente, con las respectivas acciones que pueden ser realizadas desde dicho estado y las recompensas que se le otorgan al agente al tomar las acciones.
Moviéndose a la derecha:
Puede: detenerse, disparar, moverse en ocho direcciones (8 acciones)
La recompensa depende del estado al que llega y algunas dependen de que hizo. Si dispara, se le debe de premiar solo si hiere, si gasta una bala y no le da a nadie se le castiga.
Quieto
Puede: disparar en 8 direcciones, disparar y moverse. La recompensa depende de si hiere o no a alguien, si se mueve se le premia con una pequeña cantidad
Moverse arriba del mismo
Explicar cuándo es que tu agente va aprendiendo y cuándo utiliza lo aprendido para tomar decisiones en el medio.
No llega a aprender ya que el ambiente siempre está cambiando.

Conclusiones después de la programación. Aquí debes de hacer una comparación e
interpretación de las corridas utilizando Q-Learning y Sarsa.

Q-learning es una técnica muy útil cuando se trata de ambientes no tan cambiantes, ya que las decisiones que tomas son repetir algo. Si el ambiente cambia hay que correr el q-learning de nuevo para cuando hay cosas nuevas y que las detecte. En nuestro caso q-learning no sirvió ya que ambos agentes lo trataron de usar y a aprender algo. El problema de que los estados "finales" dependían de otros agentes y no de ellos no permitió que se estableciera una buena representación en fsm y que cada cosa aprendida en la tala tenga que borrarse ya que solo serviría si el enemigo hacia lo mismo siempre. Por ejemplo si mataba a alguien mientras iba por la derecha quería siempre disparar a la derecha pro el enemigo podría aparecer ahora por la izquierda y cuando eso pasara luego diría que ala izquierda. El problema es que convergiría ej algo probablemente no serviría más.

No hay comentarios:

Publicar un comentario