Los juegos siempre han tenido mucho que ver con el desarrollo de las técnicas de inteligencia artificial y esta relación se mantiene en la actualidad. Basta revisar la prensa de los últimos dos años para contrastar los avances acaecidos en el diseño de jugadores automáticos basados en técnicas de inteligencia artificial y aprendizaje automático para juegos de mesa como el ajedrez o Go, pero también en el mundo de los vídeojuegos.
En este TFG abordamos juegos tipo NIM, que son juegos de mesa de estrategia por turnos para dos personas en que dos jugadores se turnan para quitar (o "recortar") objetos de distintos montones. En cada turno, un jugador debe eliminar al menos un objeto y puede eliminar cualquier número de objetos siempre que todos provengan del mismo montón o pila. Dependiendo de la versión que se esté jugando, el objetivo del juego es evitar tomar el último objeto o tomar el último objeto.
Nuestro objetivo es desarrollar una aplicación de usuario que implemente un juego totalmente funcional, en el que el jugador o jugadores automáticos basen su "lógica" en técnicas de inteligencia artificial. En particular nos proponemos desarrollar al menos dos agentes diferentes, tres si el tiempo y la complejidad de los anteriores lo permite:
1.- Agente basado en reglas que capturen la experiencia de jugadores expertos y permitan al agente jugar con diferentes estrategias.
2.- Agente basado en técnicas de búsqueda con adversario (alfa-beta) y que incorporen técnicas de monte carlo para poder abordar jugadas en horizonte finito.
Si el tiempo lo permite podrán abordarse otros tipos de agente, p.e. basados en aprendizaje automático.