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

 

  cambiar a curso:   2021-22   2023-24



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2022-23

Diseño de estrategias basadas en inteligencia artificial para jugar al juego Quarto


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 el juego Quarto, un juego de mesa  de estrategia por turnos para dos personas. Puede verse como una extensión de las tres en raya, y es conceptualmente muy sencillo, pero tiene una enorme cantidad de posibilidades. El objetivo del juego es lograr alinear 4 piezas, pero cada jugador no juega las piezas que elige, sino que es el adversario quien escoge la pieza con que jugará su rival. Las dieciséis piezas del juego, todas diferentes, tienen cada una 4 características distintas: alta o baja (grande o pequeña), redonda o cuadrada, clara u obscura, plana o tallada. Cada jugador, a su vez, escoge una pieza y la da a su adversario, que debe colocarla en una casilla vacía. El ganador es aquel que, con una pieza recibida, crea una alineación de 4 piezas con al menos una característica común.

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 Quarto.
  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


MARTÍNEZ GARCÍA, ALEJANDRO

 

 

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

Curso: 2022-23
© 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