García Suárez, Rodrigo2024-06-222024-06-222024-06-20https://hdl.handle.net/10115/34703Trabajo Fin de Grado leído en la Universidad Rey Juan Carlos en el curso académico 2023/2024. Directores/as: Sergio Hernández GarcíaEn este TFG se implementará el algoritmo Q-learning, así como su versión avanzada con redes neuronales, el DQN, para la demostración y discusión de su posible uso futuro en videojuegos. Este algoritmo es uno de los más sencillos de implementar y precisamente por eso se ha escogido para el proyecto. Dicha implementación será probada en múltiples entornos de los gimnasios de la empresa OpenAI, Gymnasium y PettingZoo, usando el lenguaje de programación Python. Se explicará la teoría del algoritmo, así como los detalles de su implementación y cómo se han adaptado a cada problema y cómo se ha avanzado de una implementación de un solo agente a otra multi-agente. Para comprobar el funcionamiento del algoritmo Q-learning simple se han usado varios entornos de OpenAI Gymnasium, siendo los más destacables el CartPole, el Mountain Car, el Lunar Lander y el Frozen Lake. Estos primeros entornos están pensados para comprobar la eficacia y las implementaciones de este tipo de algoritmos, por lo que sirvieron de campo de pruebas a la hora de comenzar el proyecto y comprobar su utilidad. En cuanto al algoritmo DQN para la implementación del mismo se ha usado la disponible en la librería pyRIL. Esta librería es la misma que un poco más adelante se usaría como base para el paso de un solo agente a multi-agente, así como la que permite pasar de Gymnasium a PettingZoo. En esta librería se usaron los entornos Pistonball y Pursuit, siendo este último el más importante y en el cuál vamos a centrar las conclusiones de este proyecto. Se concluirá analizando los resultados obtenidos en las pruebas y extrapolando estos mismos a su uso en videojuegos donde varios agentes tienen que competir por un objetivo determinado.spaCreative Commons Atribución 4.0 Internacionalhttps://creativecommons.org/licenses/by/4.0/legalcodeApredizaje por refuerzoMultiagentePythonAPRENDIZAJE POR REFUERZO EN PROBLEMAS MULTIAGENTE: APLICACIÓN EN VIDEOJUEGOS COMPETITIVOS.info:eu-repo/semantics/studentThesisinfo:eu-repo/semantics/openAccess