Un Jugador de Go : basado en técnicas de aprendizaje automático

Garreta Tompson, Raúl

Supervisor(es): Garat Baridon, Diego - Moncecchi, Guillermo

Resumen:

Desde los comienzos de la investigación en Inteligencia Artificial (IA), los juegos han sido utilizados como campo de investigación para la prueba y desarrollo de nuevos algoritmos, técnicas y heurísticas para la resolución de problemas. Esto se debe a que brindan reglas claras del problema, pero manteniendo una complejidad lo suficiente como para hacer que no sea trivialmente resuelto. Luego del Ajedrez, el Go se ha llevado la mayoría de los esfuerzos para su resolución. Sin embargo, al día no existe ninguna máquina que pueda derrotar a un jugador humano profesional de Go. Por este motivo, la resolución del Go es considerada como uno de los retos en el campo de la IA. Gran parte de la complejidad del Go se debe a que dada una posición, existen muchos movimientos posibles, por lo que analizarlos todos con gran profundidad y corto tiempo de respuesta es muy difícil. Otro problema reside en la dificultad de encontrar una función que permita evaluar una posición y decidir cual movimiento es más favorable. En este proyecto se propone investigar y diseñar un jugador de Go basado en técnicas de Aprendizaje Automático. Por un lado, se desarrolla un sistema de aprendizaje de patrones basado en Inducción de Programas Lógicos. Los patrones inducidos se utilizan para generar un conjunto reducido de movimientos adecuados para analizar cada vez que se decide que movimiento realizar. Por otro lado, se desarrolla una Red Neuronal cuyo objetivo es aprender una función que evalúe posiciones de Go. Para esto se utiliza Diferencia Temporal como algoritmo de aprendizaje y Backpropagation como algoritmo de ajuste de la red. Ambos acercamientos son combinados en la implementación de un jugador artificial de Go. Los resultados son promisorios: se ha logrado una buena performance ante otros jugadores artificiales.


Detalles Bibliográficos
2006
INDUCCION DE PROGRAMAS LOGICOS
REDES NEURONALES
APRENDIZAJE POR DIFERENCIA TEMPORAL
GO.
Español
Universidad de la República
COLIBRI
http://hdl.handle.net/20.500.12008/3094
Acceso abierto
Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC BY-NC-ND 4.0)
Resumen:
Sumario:Desde los comienzos de la investigación en Inteligencia Artificial (IA), los juegos han sido utilizados como campo de investigación para la prueba y desarrollo de nuevos algoritmos, técnicas y heurísticas para la resolución de problemas. Esto se debe a que brindan reglas claras del problema, pero manteniendo una complejidad lo suficiente como para hacer que no sea trivialmente resuelto. Luego del Ajedrez, el Go se ha llevado la mayoría de los esfuerzos para su resolución. Sin embargo, al día no existe ninguna máquina que pueda derrotar a un jugador humano profesional de Go. Por este motivo, la resolución del Go es considerada como uno de los retos en el campo de la IA. Gran parte de la complejidad del Go se debe a que dada una posición, existen muchos movimientos posibles, por lo que analizarlos todos con gran profundidad y corto tiempo de respuesta es muy difícil. Otro problema reside en la dificultad de encontrar una función que permita evaluar una posición y decidir cual movimiento es más favorable. En este proyecto se propone investigar y diseñar un jugador de Go basado en técnicas de Aprendizaje Automático. Por un lado, se desarrolla un sistema de aprendizaje de patrones basado en Inducción de Programas Lógicos. Los patrones inducidos se utilizan para generar un conjunto reducido de movimientos adecuados para analizar cada vez que se decide que movimiento realizar. Por otro lado, se desarrolla una Red Neuronal cuyo objetivo es aprender una función que evalúe posiciones de Go. Para esto se utiliza Diferencia Temporal como algoritmo de aprendizaje y Backpropagation como algoritmo de ajuste de la red. Ambos acercamientos son combinados en la implementación de un jugador artificial de Go. Los resultados son promisorios: se ha logrado una buena performance ante otros jugadores artificiales.