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

 

  cambiar a curso:   2019-20   2021-22



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2020-21

Estudio de técnicas de sistemas inteligentes aplicadas al juego de 'snake'


Tecnologías Específicas

Computación
 


Descripcion y Objetivos

En este trabajo se pretende estudiar y caracterizar el juego de snake, de modo que se desarrollen diferentes estrategias de juego basadas en sistemas inteligentes. Existen algunas aproximaciones donde deep reinforcement learning ha demostrado que puede jugar satisfactoriamente a este juego. En este TFG pretendemos buscar otros paradigmas como podrían ser los sistemas probabilísticos, o los sistemas basados en reglas, de forma que podamos hacer una comparativa entre ellos. No descartamos la posibillidad de implementar nuestra propia variante de Deep Reinforcement Learning, si ésto facilitara el análisis y comparativa.

El trabajo a desarrollar, se cubriría abordando las siguientes fases: (1) estudio del juego snake; (2) documentación y análisis de diferentes implementaciones y/o paradigmas de tñecnicas inteligentes que se hayan aplicado (3) caracterización del problema. (4) diseño de técnicas propias, en principio se van a intentar sistemas probabilísticos (Naive Bayes y modelos/clasificadores ampliados) (5) parametrización de los algoritmos y modelos escogidos (6) comparativa de las técnicas empleadas entre ellas, usando también alguna técnica base o de estado del arte (7) análisis de los resultados.

El principal objetivo de este trabajo es el estudio de la aplicabilidad de técnicas de sistemas inteligentes y de su desempeño como jugadores de 'snake'.

 


Metodología y Competencias

El desarrollo de este trabajo conlleva distintas tareas/fases:

1. Estudio del juego escogido, alguna implementación existente (que se podrá adaptar o reprogramar)

2. Documentación sobre algunas las técnicas basadas en IA que ya se han empleado para este juego particular

3. Caracterización del juego, determinar qué se van a considerar inputs y outputs para el agente de juego. Se podría, incluso, buscar o generar un dataset de partidas (jugadas por un buen agente o por un jugador humano).

4. Desarrollo de nuestros propios algoritmos, buscando inicialmente explorar modelos probabilísticos, que podrían ser mixtos con otros paradigmas como redes Neuronales o búsqueda A* 

5. Implementación del algoritmo o algoritmos desarrollados en el punto 4, integrándolo en la implementación desarrollada/adaptada en el punto 1.

6. Comparativa de los distintos enfoques, empleando métricas que pueden incluir el score conseguido en unha misma partida, pero también la capacidad de supervivencia (longevidad) de la serpiente

7. Análisis de los resultados para extraer conclusiones particulares y generales.

8. Escritura de la memoria del TFG.

Este TFG permite completar las competencias específicas [CM3], [CM5] ,[CM6] y [CM7] de la Intensificación de Computación, es decir, se trabajarán principalmente (en distinto grado) las siguientes competencias específicas de la tecnología de computación: 

[CM3] 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.

[CM5] Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas medianteun sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.

[CM5] 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 o entornos inteligentes.

[CM7] 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

PC de características estándar y con conexión a Intenet.

Recursos online, ya que este proyecto conlleva una primera etapa de documentación, posteriormente una fase de diseño del problema y estudio de adecuación del problema a la técnica.

Se tendrá que escribir el código necesario (posiblemente en Python) para desarrollar tanto el juego como los agentes y paradigmas.

 


Bibliografía

 

 


Tutores


FLORES GALLEGO, MARIA JULIA
ALFARO JIMENEZ, JUAN CARLOS
 

Alumno


CANALES MUÑOZ, NURIA

 

 

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

Curso: 2020-21
© 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