cambiar a curso:   2017-18   2019-20


Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2018-19

Diseño e implementación de agentes inteligentes para el juego del Tute


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 del Tute, un juego típico que se juega con baraja española de 40 cartas. En particular nos centramos en el Tute a tres jugadores, donde se reparten 13 cartas a cada jugador y una queda como muestra. Se trata, por tanto, de un juego que podemos clasificar de información incompleta (conocemos nuestras cartas pero no vemos las de nuestros rivales) y no-determista, ya que si bien no hay azar una vez se han repartido las cartas, el reparto se hace aleatoriamente.

Nuestro objetivo es desarrollar 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 de tipo probabilístico, basado en estimación de probabilidades y aplicación del principio de máxima probabilidad a posteriori para la toma de decisiones.

3.- Agente basado en aprendizaje automático, en principio a partir de 0, es decir, sin dotar al agente de conocimiento experto. Para ello el agente debe aprender jugando contra si mismo o contra otros agentes.

 

 


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 tute.
  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 métodos probabilísticos.
  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. Evaluación experimental mediante simulación y enfrentando el agente a los implementados en aplicaciones disponibles para móvil (modo competición).
  8. 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.

  • 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 dato.

 

 


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


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

Alumno


VILLENA MARTÍNEZ, PEDRO JOSÉ