Universidad de Castilla-La Mancha
 
Escuela Superior de Ingeniería Informática

 

  cambiar a curso:   2022-23   2024-25



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2023-24

Estrategias basadas en inteligencia artificial para juegos tipo NIM


Tecnologías Específicas

Computación
 


Descripcion y Objetivos

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.

 


Metodología y Competencias

Metodología:

  1. Revisar el contexto del problema y la literatura disponible.
  2. Diseñar e implementar una aplicación que permita jugar partidas de NIM.
  3. Adquisición de conocimiento experto y representación del mismo en forma de un sistema basado en reglas.
  4. Implementación de un agente basado en las reglas inferidas. Necesitará diseñar e implementar un pequeño motor de inferencia o usar una API adecuada.
  5. Diseño e implementación de un agente basado en técnicas de búsqueda con adversario.
  6. [opcional] Diseño e implementación de un agente basado en aprendizaje automático, probablemente basado en técnicas de aprendizaje por refuerzo.
  7. Redacción de la memoria.

Competencias:

Se trabajarán principalmente (en distinto grado) las siguientes competencias específicas de la tecnología de computación:

  • Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e  implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
  • Capacidad para conocer los fundamentos, paradigmas y técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen dichas técnicas en cualquier ámbito de aplicación.
  • Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes entornos inteligentes.
  • [opcional] Capacidad para conocer y desarrollar técnicas de aprendizaje computacional y diseñar e implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a extracción automática de información y conocimiento a partir de grandes volúmenes de datos.
 


Medios a utilizar

Ordenadores personales, compiladores y entornos de programación. Todo disponible en la ESIIAB.

 


Bibliografía

Libros y manuales de inteligencia artificial y aprendizaje automático. Libros y manuales de lenguajes de programación y librerías específicas de aprendizaje automático. Todo disponible en la ESIIAB y/o en internet.

 


Tutores


ALEDO SÁNCHEZ, JUAN ÁNGEL
GAMEZ MARTIN, JOSE ANTONIO
 

Alumno


REDONDO MARTÍNEZ, DAVID

 

 

Sindicación  Sindicación  Sindicación  Sindicación

Curso: 2023-24
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete

informatica.ab@uclm.es
aviso legal
generar código QR de la página