Inteligencia Artificial Neuroevolutiva para Juegos de Estrategia
Trabajo de Fin de Grado centrado en desarrollar un framework de inteligencia artificial que combina redes neuronales con algoritmos genéticos para aprender estrategias competitivas en Magic: The Gathering, un juego de cartas con alta complejidad estratégica.
El Desafío
Magic: The Gathering presenta un espacio de estados extremadamente amplio con información imperfecta, miles de cartas posibles y múltiples fases de juego. Los enfoques tradicionales de IA basados en búsqueda exhaustiva resultan inviables debido a la complejidad combinatoria del juego. El reto consistía en diseñar un sistema capaz de aprender estrategias competitivas sin supervisión humana directa.
Mi Rol
Como investigador y desarrollador principal, diseñé e implementé el framework completo:
- Diseñé la arquitectura del sistema neuroevolutivo desde cero
- Implementé los algoritmos genéticos para evolución de redes neuronales
- Desarrollé el sistema de evaluación de estados de juego
- Integré el framework con el motor de juego Magarena para entrenamiento automatizado
- Diseñé y ejecuté los experimentos de validación
- Analicé los resultados mediante métricas cuantitativas de rendimiento
Enfoque Técnico
El framework implementa un pipeline neuroevolutivo completo:
Arquitectura del sistema:
- Redes neuronales como agentes de decisión que evalúan posiciones de juego
- Algoritmos genéticos que evolucionan los pesos y la topología de las redes a lo largo de generaciones
- Sistema de fitness basado en partidas automatizadas contra agentes de referencia
- Evaluación paralela de múltiples agentes por generación
Motor de juego:
- Integración con Magarena, motor open-source de MTG en Java
- Scripts de automatización en Groovy para gestión de torneos y generaciones
- Análisis y visualización de resultados en Python
Proceso evolutivo:
- Población de redes neuronales compitiendo entre sí y contra agentes base
- Selección, cruce y mutación de los mejores individuos
- Evaluación de métricas de complejidad del entorno de juego
Decisiones Técnicas Clave
- Neuroevolución sobre aprendizaje por refuerzo: Elegí métodos neuroevolutivos porque permiten explorar el espacio de soluciones sin necesidad de definir una función de recompensa explícita, algo difícil en un juego con estados tan complejos
- Java como lenguaje principal: La integración nativa con Magarena evitó la sobrecarga de comunicación entre procesos
- Evaluación multi-agente: Cada generación enfrentaba agentes entre sí y contra baselines fijos para medir mejora absoluta y relativa
Resultados
La IA demostró capacidad para aprender estrategias competitivas y mejorar su rendimiento de forma consistente generación tras generación. El sistema validó la aplicabilidad de métodos neuroevolutivos en juegos de alta complejidad estratégica con información imperfecta, abriendo una línea de investigación sobre evolución de comportamientos emergentes en entornos de juego complejos.