Download INTELIGENCIA ARTIFICIAL Y MOTORES DE - PCyTI

Document related concepts

GNU Chess wikipedia , lookup

Houdini (ajedrez) wikipedia , lookup

Fruit (ajedrez) wikipedia , lookup

Ajedrez por computadora wikipedia , lookup

Motor de ajedrez wikipedia , lookup

Transcript
INTELIGENCIA ARTIFICIAL Y MOTORES DE AJEDREZ
Responsable de la propuesta:
Dr. John Goddard Close (Departamento de Ingeniería Eléctrica, UAM Iztapalapa).
Perfil deseable del alumno:
• Conocimientos generales de conceptos de Inteligencia Artificial.
• Conocimientos básicos de Ajedrez.
• Conocimientos de programación en C y enfocada a objetos.
Presentación del contexto e identificación de la problemática
Los juegos, como ajedrez y damas, han tenido importancia en el desarrollo de la Inteligencia
Artificial. Turing diseñó el primer algoritmo para jugar ajedrez, como ejemplo de lo que una
computadora podría realizar, y en 1950, Shannon introdujo ideas fundamentales tales como
funciones de evaluación y el algoritmo minimax en el mismo contexto de ajedrez. Posteriormente,
a partir de los 1950s, Samuel fue un pionero en Aprendizaje Maquinal aplicado a juegos. Con el
primer congreso de Inteligencia Artificial en 1956, se pensó M que en diez años habría un programa
capaz de ganar a un campeón mundial. Sin embargo, el problema resultó mucho más complicado.
En este proyecto, se propone reexaminar el juego de ajedrez por computadora, inicialmente
estudiando los motores de ajedrez, MA, (en ingles, Chess Engines).
En un sentido estricto, el motor de ajedrez es el módulo que calcula, a partir del estado del tablero
y de algún protocolo de decisión, las mejores jugadas y elije una de ellas como tirada siguiente. Una
interfaz de ajedrez tomará la salida del CE para presentarla al usuario. Para la comunicación entre el
módulo del motor y el módulo de presentación, hay dos protocolos ampliamente utilizados de
comunicación: el XBOARD y la reciente Interfaz de Ajedrez Universal (UCI).
Los MA actuales
Uno de los mayores programas de ajedrez gratuitos es el proyecto de código abierto Crafty por
Robert Hyatt. Otro motor robusto de ajedrez es el programa Fruit, el cual en el Campeonato
Mundial de Ajedrez por computadora en 2005 obtuvo el segundo lugar. Hasta la versión 2.1 Fruit
estaba disponible bajo una licencia de código abierto, el cual tenía un performance casi como
Glaurung 2.1. Una versión preliminar del programa Zappa, el cual ganó la Copa del Mundo de 2005,
es accesible como software libre en Internet.
Para este proyecto se propone el estudio de dos MA:
 Tom Kerrigan's Simple Chess Program (TSCP) [1]. El cual es un pequeño MA escrito en 1997,
cuya función es demostrar las bases de la programación de los motores de ajedrez.
 Stockfish [2]. Es un MA cuyo desempeño se asemeja a motores comerciales como Rybka 4 y
Houdini 2, incluso se presume como el motor de ajedrez más poderoso de código libre en el
mundo [3].
Las partes principales de un programa de ajedrez son el generador de movimiento, la función de
evaluación y una parte del programa para controlar la búsqueda y la selección de la próxima tirada.
A partir de la posición actual (tablero actual) de partida, el motor realiza una búsqueda en
profundidad iterativa. En cada iteración se llevan a cabo varias tiradas consecutivas posibles del
jugador y del adversario, se evalúan las posiciones alcanzadas (hojas del árbol de búsqueda) con la
función de evaluación, y la base de estos valores de hoja son evaluados los nodos internos del árbol
de búsqueda de acuerdo con el principio minimax. Una de las características más distintivas de los
programas de ajedrez es el tipo de representación en el consejo interno, que hacen uso de todos
los demás componentes del programa.
Objetivos del proyecto de investigación
Objetivo general
El objetivo general del proyecto es encontrar métodos adecuados para los Motores de Ajedrez
mediante la aplicación de técnicas de inteligencia artificial.
Objetivos específicos
• Estudiar y entender los dos MA propuestos.
• Evaluación del desempeño de distintas técnicas de inteligencia artificial en el contexto de los
MA.
• Desarrollo e implementación de algún protocolo híbrido basado en técnicas de inteligencia
artificial para usar como MA.
Metodología propuesta
• Estudio de los MA propuestos y los métodos usados en ellos.
• Estudio de algunos algorítmos heurísticos que han sido aplicados para automáticamente
mejorar el desempeño de juegos, como ajedrez.
• Desarrollo y aplicación de algorítmos de inteligencia artificial para obtener un MA propio.
• Comparación del MA propio con otros MA.
Resultados esperados
• Implementación de los algoritmos seleccionados.
• Posible mejora de alguno de los algoritmos estudiados.
• Participación en competencias de MA’s organizadas por terceros.
• Posible publicación de un artículo en una revista o congreso nacional o internacional.
Bibliografía inicial
 David N. L. Levy, Monty Newborn, How Computers Play Chess, Ishi Press, 2009.
 Monty Newborn, Monroe Newborn, Beyond Deep Blue, Springer, 2011.
 Advances in Computer Games: 12th International Conference, ACG 2009, Pamplona, Spain, May
11-13, 2009, Revised Papers, Springer, 2010.
 Genetic Programming: 7th European Conference, EuroGP 2004, Coimbra, Portugal, April 5-7,
2004, Proceedings, Volumen 7 ,Springer, 2004.
 B. Boskvic, J.Brest, A.Zamuda, S.Greiner, V.Zumer History mechanism supported differential
evolution for chess evaluation function tuning, Soft Comput. 15:667-683, 2011.
Websites
1. Tom Kerrigan's Simple Chess Program (TSCP). http://www.tckerrigan.com/Chess/TSCP
2. Stockfish Powerful Open Source Chess Engine. http://stockfishchess.org
3. Computer Chess Rating Lists. http://www.computerchess.org.uk/ccrl/4040/
Calendarización de actividades
Se proponen las actividades y resultados esperados en cada trimestre.
Trimestre
Actividades
Resultados
1
Estudio de los dos MA de código abierto y
los métodos usados en ellos.
Protocolo de la Idónea Comunicación de
Resultados: Estado del Arte.
2
Estudio y desarrollo de técnicas de
inteligencia artificial aplicadas a los MA.
Presentación del desarrollo del protocolo del
CE en formato de artículo.
3
Implementación de técnicas de inteligencia
artificial a un MA propio. Análisis y
comparación del protocolo desarrollado
respecto a los protocolos actuales de
código abierto.
Primer borrador de la Idónea Comunicación de
Resultados.
4
Redacción de la versión final.
Entrega de la versión final de la Idónea
Comunicación de Resultados y defensa oral del
trabajo de investigación ante un jurado
especializado.
Infraestructura necesaria y disponible
 Computadora.
 Software especializado.
 Datos especializados.
Lugar de realización
Laboratorio del Habla, UAM Iztapalapa.