|
Grado en Ingeniería Informática |
TRABAJOS FIN DE GRADO curso: 2022-23
Estudio del ranking ELO en jugadores de ajedrez mediante técnicas de análisis de datos |
Tecnologías Específicas
Computación
Descripcion y Objetivos
Existen disponibles diferentes bases de datos online que recogen los resultados de enfrentamientos en torneos de ajedrez. También hay información disponible en la red sobre el ranking de cada jugador (ELO) en función del tiempo/cronología. Por otro lado, se dispone de diferentes paquetes en python relacionados con este problema. Existen, además, un par de retos, con ciertos años, relacionados con esta temática y el aprendizaje automático en la plataforma kaggle. Uno de ellos cuestiona el sistema ELO en sí, y otro trata de predecir el ELO de un jugador en base a una única partida. Todo ésto da una idea tanto de la relevancia del problema, como de las múltiples fuentes y herramientas disponibles.
En este trabajo buscamos una forma de integrar datasets e implementaciones relacionadas con el ELO, y donde el estudiante primero determine un dataset propio con suficientes datos que sean significativos, y luego implemente sus propias técnicas de análisis y de aprendizaje, de forma que se pueda, a partir de la información y modelos disponibles, extraer información útil. Por ejemplo, se podrían establecer curvas de rendimiento características. El modelado de dichas curvas, así como la caracterización del periodo de "máximo crecimiento" es una utilidad muy interesante, sobre todo de cara al entrenador de ajedrez. La idea es poder encontrar patrones en la evolución de un jugador, que lo puedan caracterizar, y ayudar a un posterior tratamiento de esa información con el fin de mejorar su rendimiento.
Este proyecto plantea el desarrollo de algunas herramientas basadas en estas ideas, y cuya implementación se realizará en Python (podría tener elementos en R si se considera necesario/útil). Se debería además dotar de herramientas de visualización.
Metodología y Competencias
El desarrollo de este trabajo conlleva distintas tareas:
1. Estudio del problema, para entender los principales elementos y la utilidad de las herramientas que se pretenden construir.
2. Tratamiento de datos de entrada a varios niveles: búsqueda de bases de datos, selección, integración y pre-procesado de las mismas. De esta fase debería construirse un dataset propio a partir del cual trabajar.
3. Análisis exploratorio de los datos. Aquí se podría realizar una visualización inicial de la curva de rendimiento y explorar otras componentes relacionadas. A partir de ello, pasaríamos al estudio de las técnicas y los modelos que mejor se adaptan a esos datos.
4. Aprendizaje y parametrización de dichos modelos aplicados a nuestro problema.
5. Desarrollo de herramientas y funciones asociadas de utilidad para análisis, predicción, diagnóstico y/o
actuación sobre el plan de entrenamiento de un jugador de ajedrez.
Este TFG permite completar las competencias específicas [CM1][CM4] y [CM5] 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:
- Capacidad para tener un conocimiento profundo de los principios fundamentales y modelos de la computación y saberlos aplicar para interpretar, seleccionar, valorar, modelar, y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática.
- 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.
Medios a utilizar
- Repositorios online de ajedrez, y quizás datasets de la plataforma kaggle
- Pyhton 3, integrándolo dentro de iPython para su uso en libretas (Jupyter), uso de la librería pandas, y posiblemente también numpy y matplotlib.
- Necesario un PC con conexión a Internet.
- Es posible que se necesite usar algún programa como 'Chessbase light' para procesar las partidas
Bibliografía
Tutor FLORES GALLEGO, MARIA JULIA | Alumno AMORÍN VALLE, PABLO |
| |