SlideShare una empresa de Scribd logo
1 de 61
Descargar para leer sin conexión
Ejemplos de investigación en
videojuegos
Pablo García Sánchez y Antonio Mora García
Grupo @geneura
Universidad de Granada
Índice
• Algoritmos
Evolutivos
• FPS
• RTS
• Generación de
Contenidos
commons.wikipedia.org
Algoritmos
Evolutivos
hideyourarms.com
¿Qué son los Algoritmos
Evolutivos?
• Metaheurísticas
• Resuelve problemas de optimización
• Función de adecuación: fitness
• Basados en población
• Basados el principio de selección natural
• Estocásticos
Ejemplos de EAs
• Algoritmo genético: los individuos son vectores de
números
• Programación genética: los individuos son árboles que
codifican un programa
• Programación evolutiva: los individuos son otra
estructura (ej: una red neuronal)
• Otros: EDAs, Bayesianos, DE...
Etapas de un EA
Ejemplo: Super Mario Bot
• FSM en la que se
evolucionan los
estados actuales
y las acciones
(salto, correr y
dirección)
FPS
commons.wikipedia.org
Unreal Tournament 2004
• Editor con UnrealScript
• Motor Java para acceder al juego: POGAMUT
Unreal Bot
• Optimización de parámetros de una FSM para Unreal
Tournament 2004
• Cada cromosoma es un vector de parámetros
UnrealBot Team
• Igual, pero se optimizan los parámetros de un equipo
Unreal ExpertBot
• FSM de dos niveles basándose en un jugador experto (campeón de
Andalucía) en 1vs1.
• Por ejemplo, modela qué armas hay que usar.
• Gana a jugadores humanos "normales"
Unreal InteractiveBot
• A partir de ExpertBot
• Intervención de expertos en
la ejecución del algoritmo
• Jugador experto: responde
preguntas para bloquear
partes del cromosoma
• Investigador experto
• Segundo puesto en la
competición 2KBotPrice 2014
RTS
commons.wikipedia.org
Real Time Strategy (RTS)
• Tráfico de carreteras, finanzas o predicciones del
tiempo:
• Son entornos dinámicos y complejos
• No hay información completa o perfecta
• RTS->simplificación
• Toma de decisiones con incertidumbre
• Planificación en tiempo real
Características de los RTS
• Movimiento simultáneo
• Acciones durativas (requieren tiempo)
• Tiempo real (decisiones rápidas)
• Parcialmente observables (niebla de guerra)
• No deterministas
• Complejidad
Retos de los RTS
• Planificación
• Aprendizaje
• Incertidumbre
• Razonamiento espacial y
temporal
• Explotación del dominio del
conocimiento
• Descomposición en tareas
andreita42 en deviantart
Retos: Planificación
• Distintos niveles de
abstracción
• Estrategias a largo plazo
(partida)
• Estrategias a corto plazo
(batallas)
• Técnicas: muestreo o
descomposición jerárquica
pixabay.com
Retos: Aprendizaje
• Aprendizaje existente (ej. BD
de partidas)
• Aprendizaje in-game (ej.
aprendizaje por refuerzo)
• Aprendizaje inter-juego (ej.
aprender del juego anterior
para ganar en el siguiente)
soft9000.com
Retos: Incertidumbre
• Incertidumbre espacial
(Niebla de guerra)
• Acciones del enemigo
commons.wikipedia.org
Retos: Razonamiento
• Razonamiento espacial:
dónde colocar la base
• Razonamiento temporal:
cuándo crear tecnología
fc02.deviant.org
Retos: Descomposición de
tareas
• Estrategia
• Tácticas
• Control reactivo
• Análisis del terreno
• Recolección de inteligencia
• Micro y macro tareas
insightly.com
Planet Wars
gaskin1982.deviantart.com
Planet Wars
Descripción del problema
• Restricciones:
• 1 segundo para decidir
• No se puede usar memoria para guardar el estado
del juego
• Estado actual: planetas y flotas
• Acciones: un archivo de texto con acciones leído
por el juego
Estado
Actual
Acciones
a realizar
Bot
AresBot
• Seleccionar base
• Seleccionar planeta objetivo
• Por cada colonia
• Reforzar al ataque
• Ayudar al ataque
(este es Antares)
FSM
Operación Genebot
• Optimización de parámetros
de AresBot
• Gen: array de parámetros
• 2-Tournament
• BLX-alpha crossover
• Re-evaluación
• 40 segundos de evaluación
por individuo
Propiedad de EA (no me demandéis!)
Fitness
• Número de victorias y número de "turnos"
• Fitness basado en pesos
• Fitness lexicográfico
• 3 victorias, 30 para perder
• 5 victorias, 10 para perder
Exp-Genebot
• Detección de tipo de mapa para escoger un conjunto
de parámetros ya optimizado
GP-bot
• Nueva aproximación: Programación Genética
• El genoma esta vez es un árbol de
• Decisiones: ej. si la distancia a la base es menor 0.25
• Acciones: ej. atacar a la base con el 20% de naves
• Código Java compilado en cada evaluación usando
CAssist
Ejemplo de cromosoma
(árbol)
actualMyShipsRatio>0.711
attackWeakestNeutralPlanet(0.3)
attackNearestEnemyPlanet(0.2)
attackEnemyBase(0.91)
myShipsLandedFlyingRatio>0.2
Resultados (validación)
3G 7G UG 3E 7E UE
100200300400500
Configuration
Turnstobedefeated
3G 7G UG 3E 7E UE
10203040506070
Configuration
Percentageofvictories
¿Criterios de parada?
• Número de generaciones
• Edad de los atípicos
• Tasa de reemplazo
• Llegar al umbral de fitness
• Mejora del fitness respecto a la media
¿Cuándo paramos?
¿Qué hemos aprendido?
• Comparar con la versión anterior y mejorarla
• Usar fitness jerárquicos
• Re-evaluación de individuos
• Validar siempre contra bots/mapas no usados para
aprendizaje
• Criterios de parada basados en reemplazo
• Usar software libre
StarCraft
Propiedad de Blizzard
¿Por qué StarCraft?
• Competiciones: CIG, AIIDE, SCSC...
• Librerías y frameworks disponibles
• Bases de datos de replays (ej: http://bwreplays.com/)
• Test-bed unificado en investigación en RTS
BWAPI
• Permite crear AIs para SC creando un .dll
• Información sobre:
• Juego: minerales, mapa, tipo de juego, latencia...
• Unidades: distancia, velocidad, detección, estado...
• Jugador: raza, estado, recursos, muertes...
ChaosLauncher
Tournament Manager
StarCraftGP
• Framework para generar automáticamente bots que
juegan a Starcraft usando programación genética
• Basado en uGP3
• Usamos GP Lineal para generar bots usando el
framework uGP3 (usando OpprimoBot como base)
• En colaboración con el INRA y el Politécnico de Turín
Fitness
• Usamos estrategias hechas a mano dentro de OpprimoBot
• Fitness jerárquico (e iterativo) basado en victorias
• Tier 1: Fáciles
• Tier 2: Medios
• Tier 3: Difíciles
• Score
• Fitness basado en informe (guardamos un .txt por partida)
• Victorias militares
• Victorias económicas
• Unidades destruidas
• Unidades muertas
• Score
External Evaluator
Evolutionary Core
Constraints
.txt
.txt
TournamentManager
External Evaluator
Individual.DLL
results.txtParser
Fitness values
VM Server
VM Client
VM Client
VM Client
…
VStudio Compiler
Individual.cpp
Ejemplo de bot
Resultados
Generación de
Contenidos
Generación de historias en entornos
masivamente distribuidos: MADE
Propiedad de Bethesda
El problema
MADE
• Massive Artificial Drama Engine
• Sistema multiagente optimizado por un GA
• Basado en la generación de arquetipos
Arquetipos
Laffent en deviantart.org
Metodología
Agente
Librerías
Referencias (Planet Wars)
• A. Fernández-Ares, A. Miguel Mora, J. J. Merelo Guervós, P. García-Sánchez, C. M. Fernandes:
Optimizing player behavior in a real-time strategy game using evolutionary algorithms. IEEE
Congress on Evolutionary Computation 2011: 2017-2024 (2012)
• A. Miguel Mora, A. Fernández-Ares, J. J. Merelo Guervós, P. García-Sánchez, C. M. Fernandes:
Effect of Noisy Fitness in Real-Time Strategy Games Player Behaviour Optimisation Using
Evolutionary Algorithms. J. Comput. Sci. Technol. 27(5): 1007-1023 (2012)
• Antonio Fernández-Ares, Pablo García-Sánchez, Antonio Miguel Mora, Juan J. Merelo Guervós:
Adaptive bots for real-time strategy games via map characterization. CIG 2012: 417-721 (2012)
• Antonio Fernández-Ares, Pablo García-Sánchez, Antonio M. Mora, Pedro A. Castillo Valdivieso,
Juan Julián Merelo Guervós, Maria I. García Arenas, Gustavo Romero: It's Time to Stop: A
Comparison of Termination Conditions in the Evolution of Game Bots. EvoApplications 2015:
355-368
• Pablo García-Sánchez, Antonio Fernández-Ares, Antonio Miguel Mora, Pedro A. Castillo
Valdivieso, Jesús González, Juan Julián Merelo Guervós: Tree Depth Influence in Genetic
Programming for Generation of Competitive Agents for RTS Games. EvoApplications 2014:
411-421
Referencias (Unreal)
• Antonio Miguel Mora, Ramón Montoya, Juan Julián Merelo Guervós,
Pablo García-Sánchez, Pedro A. Castillo, Juan Luís Jiménez Laredo,
Ana Isabel Martínez García, Anna Esparcia-Alcázar: Evolving Bot AI
in Unreal. EvoApplications (1) 2010: 171-180
• Antonio Miguel Mora, Francisco Aisa, Ricardo Caballero, Pablo
García-Sánchez, Juan Julián Merelo Guervós, Pedro A. Castillo,
Raúl Lara-Cabrera: Designing and Evolving an Unreal
TournamentTM 2004 Expert Bot. IWANN (2) 2013: 312-323
• Antonio Miguel Mora, M. A. Moreno, Juan Julián Merelo Guervós,
Pedro A. Castillo, Maribel García Arenas, Juan Luís Jiménez Laredo:
Evolving the cooperative behaviour in Unreal™ bots. CIG 2010:
241-248
Referencias (MADE)
• Rubén Héctor García-Ortega, Pablo García-Sánchez, Juan Julián Merelo
Guervós, María Isabel García Arenas, Pedro A. Castillo Valdivieso, Antonio
M. Mora: How the World Was MADE: Parametrization of Evolved Agent-
Based Models for Backstory Generation. EvoApplications 2015: 443-454
• Garcia-Ortega, Ruben H., et al. My life as a sim: evolving unique and
engaging life stories using virtual worlds. ALIFE 14: The Fourteenth
Conference on the Synthesis and Simulation of Living Systems. Vol. 14.
Pages 580-587, 2014
• http://made.velonuboso.com
• @made_project
• @rubenhek
Software Libre y Ciencia
Abierta
• GitHub: fergunet, deantares, amorag, jjmerelo,
geneura, geneura-papers
• http://geneura.ugr.es
• El texto de esta presentación es CC-SA-BY (imágenes
usadas con licencia libre, no comercial, salvo
imágenes de Blizzard, Bethesda y EA)
Muchas gracias!
• @fergunet
• @amoragar
• @geneura

Más contenido relacionado

Destacado

Data mining in security: Ja'far Alqatawna
Data mining in security: Ja'far AlqatawnaData mining in security: Ja'far Alqatawna
Data mining in security: Ja'far AlqatawnaMaribel García Arenas
 
Towards Automatic StarCraft Strategy Generation Using Genetic Programming
Towards Automatic StarCraft Strategy Generation Using Genetic ProgrammingTowards Automatic StarCraft Strategy Generation Using Genetic Programming
Towards Automatic StarCraft Strategy Generation Using Genetic ProgrammingPablo García Sánchez
 
Benchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsBenchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsJuan J. Merelo
 
Benchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationBenchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationJuan J. Merelo
 
Evolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstoneEvolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstonePablo García Sánchez
 
EMPRENDEDOR POR JOSE DE JESUS OLVERA
EMPRENDEDOR POR JOSE DE JESUS OLVERAEMPRENDEDOR POR JOSE DE JESUS OLVERA
EMPRENDEDOR POR JOSE DE JESUS OLVERAJOSE DE JESUS OLVERA
 
Raspored utakmica
Raspored utakmicaRaspored utakmica
Raspored utakmicaakitz
 
Quand les médias sociaux ...
Quand les médias sociaux ...Quand les médias sociaux ...
Quand les médias sociaux ...Sebastien Stasse
 
U1 tema 2 contexto histórico
U1   tema 2 contexto históricoU1   tema 2 contexto histórico
U1 tema 2 contexto históricoJean Vaudenay
 
Aspekte der Sicherheit und Entsorgung bei Stilllegung und Rückbau des AKW Fes...
Aspekte der Sicherheit und Entsorgung bei Stilllegung und Rückbau des AKW Fes...Aspekte der Sicherheit und Entsorgung bei Stilllegung und Rückbau des AKW Fes...
Aspekte der Sicherheit und Entsorgung bei Stilllegung und Rückbau des AKW Fes...Oeko-Institut
 
Verbesserung der Service Qualität durch Enterprise Feedback Management
Verbesserung der Service Qualität durch Enterprise Feedback ManagementVerbesserung der Service Qualität durch Enterprise Feedback Management
Verbesserung der Service Qualität durch Enterprise Feedback ManagementSpectos GmbH
 
Les Annonceurs et l’Affiliation en France - Enquête CPA 2012
Les Annonceurs et l’Affiliation en France - Enquête CPA 2012Les Annonceurs et l’Affiliation en France - Enquête CPA 2012
Les Annonceurs et l’Affiliation en France - Enquête CPA 2012Pierre Labousset
 
Segundo Baltazar Gallardo
Segundo Baltazar GallardoSegundo Baltazar Gallardo
Segundo Baltazar Gallardotkapobo
 
lA FaMiliA..!!!
lA FaMiliA..!!!lA FaMiliA..!!!
lA FaMiliA..!!!cynthia
 

Destacado (20)

Data mining in security: Ja'far Alqatawna
Data mining in security: Ja'far AlqatawnaData mining in security: Ja'far Alqatawna
Data mining in security: Ja'far Alqatawna
 
Towards Automatic StarCraft Strategy Generation Using Genetic Programming
Towards Automatic StarCraft Strategy Generation Using Genetic ProgrammingTowards Automatic StarCraft Strategy Generation Using Genetic Programming
Towards Automatic StarCraft Strategy Generation Using Genetic Programming
 
Benchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsBenchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithms
 
MUSES WP5 Final Conclusions
MUSES WP5 Final ConclusionsMUSES WP5 Final Conclusions
MUSES WP5 Final Conclusions
 
Benchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationBenchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computation
 
Evolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstoneEvolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in Hearthstone
 
EMPRENDEDOR POR JOSE DE JESUS OLVERA
EMPRENDEDOR POR JOSE DE JESUS OLVERAEMPRENDEDOR POR JOSE DE JESUS OLVERA
EMPRENDEDOR POR JOSE DE JESUS OLVERA
 
Raspored utakmica
Raspored utakmicaRaspored utakmica
Raspored utakmica
 
Nucléaire
NucléaireNucléaire
Nucléaire
 
Quand les médias sociaux ...
Quand les médias sociaux ...Quand les médias sociaux ...
Quand les médias sociaux ...
 
Clase 4 otras civilizaciones (india)
Clase 4 otras civilizaciones (india)Clase 4 otras civilizaciones (india)
Clase 4 otras civilizaciones (india)
 
Unidad1 t3
Unidad1   t3Unidad1   t3
Unidad1 t3
 
U1 tema 2 contexto histórico
U1   tema 2 contexto históricoU1   tema 2 contexto histórico
U1 tema 2 contexto histórico
 
Aspekte der Sicherheit und Entsorgung bei Stilllegung und Rückbau des AKW Fes...
Aspekte der Sicherheit und Entsorgung bei Stilllegung und Rückbau des AKW Fes...Aspekte der Sicherheit und Entsorgung bei Stilllegung und Rückbau des AKW Fes...
Aspekte der Sicherheit und Entsorgung bei Stilllegung und Rückbau des AKW Fes...
 
Verbesserung der Service Qualität durch Enterprise Feedback Management
Verbesserung der Service Qualität durch Enterprise Feedback ManagementVerbesserung der Service Qualität durch Enterprise Feedback Management
Verbesserung der Service Qualität durch Enterprise Feedback Management
 
Les Annonceurs et l’Affiliation en France - Enquête CPA 2012
Les Annonceurs et l’Affiliation en France - Enquête CPA 2012Les Annonceurs et l’Affiliation en France - Enquête CPA 2012
Les Annonceurs et l’Affiliation en France - Enquête CPA 2012
 
Proyecto matricula
Proyecto matriculaProyecto matricula
Proyecto matricula
 
Segundo Baltazar Gallardo
Segundo Baltazar GallardoSegundo Baltazar Gallardo
Segundo Baltazar Gallardo
 
Prueba de síntesis tercero medio
Prueba  de síntesis tercero medioPrueba  de síntesis tercero medio
Prueba de síntesis tercero medio
 
lA FaMiliA..!!!
lA FaMiliA..!!!lA FaMiliA..!!!
lA FaMiliA..!!!
 

Similar a Ejemplos de investigación en videojuegos con algoritmos evolutivos, aprendizaje automático y generación de contenidos

Algoritmos Evolutivos para IA en Videojuegos
Algoritmos Evolutivos para IA en VideojuegosAlgoritmos Evolutivos para IA en Videojuegos
Algoritmos Evolutivos para IA en VideojuegosPablo García Sánchez
 
Survival of the fittest: usando el paquete inspyred para entrenar IAs que jue...
Survival of the fittest: usando el paquete inspyred para entrenar IAs que jue...Survival of the fittest: usando el paquete inspyred para entrenar IAs que jue...
Survival of the fittest: usando el paquete inspyred para entrenar IAs que jue...Pablo García Sánchez
 
Presentacion final
Presentacion finalPresentacion final
Presentacion finalsinchan607
 
Carlos García Madariaga, 2023, Papel de los avatares en experiencias de RV (M...
Carlos García Madariaga, 2023, Papel de los avatares en experiencias de RV (M...Carlos García Madariaga, 2023, Papel de los avatares en experiencias de RV (M...
Carlos García Madariaga, 2023, Papel de los avatares en experiencias de RV (M...Francisco Javier Mora Serrano
 
Ppt 4 casi completa 2
Ppt 4 casi completa  2Ppt 4 casi completa  2
Ppt 4 casi completa 2Axael Ant
 
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivenciaSólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivenciaAntonio Mora
 
Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Carlos Landeras Martínez
 
Presentacion intermedia
Presentacion intermediaPresentacion intermedia
Presentacion intermediasinchan607
 
Introduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptxIntroduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptxLuis775803
 
Generación automática de contenido para juegos de estrategia en tiempo real
Generación automática de contenido para juegos de estrategia en tiempo realGeneración automática de contenido para juegos de estrategia en tiempo real
Generación automática de contenido para juegos de estrategia en tiempo realkeldon_spain
 
Inteligencia Artificial en videojuegos
Inteligencia Artificial en videojuegosInteligencia Artificial en videojuegos
Inteligencia Artificial en videojuegosVan Esab
 
Gamificación. El camino para ser feliz, desarrollar mejor software y salvar e...
Gamificación. El camino para ser feliz, desarrollar mejor software y salvar e...Gamificación. El camino para ser feliz, desarrollar mejor software y salvar e...
Gamificación. El camino para ser feliz, desarrollar mejor software y salvar e...233 Grados de TI
 

Similar a Ejemplos de investigación en videojuegos con algoritmos evolutivos, aprendizaje automático y generación de contenidos (20)

Algoritmos Evolutivos para IA en Videojuegos
Algoritmos Evolutivos para IA en VideojuegosAlgoritmos Evolutivos para IA en Videojuegos
Algoritmos Evolutivos para IA en Videojuegos
 
Survival of the fittest: usando el paquete inspyred para entrenar IAs que jue...
Survival of the fittest: usando el paquete inspyred para entrenar IAs que jue...Survival of the fittest: usando el paquete inspyred para entrenar IAs que jue...
Survival of the fittest: usando el paquete inspyred para entrenar IAs que jue...
 
Maeb2015 - GPBot
Maeb2015   - GPBotMaeb2015   - GPBot
Maeb2015 - GPBot
 
Final
FinalFinal
Final
 
Final
FinalFinal
Final
 
Presentacion final
Presentacion finalPresentacion final
Presentacion final
 
LATAM Challenge
LATAM ChallengeLATAM Challenge
LATAM Challenge
 
Carlos García Madariaga, 2023, Papel de los avatares en experiencias de RV (M...
Carlos García Madariaga, 2023, Papel de los avatares en experiencias de RV (M...Carlos García Madariaga, 2023, Papel de los avatares en experiencias de RV (M...
Carlos García Madariaga, 2023, Papel de los avatares en experiencias de RV (M...
 
CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en sup...
CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en sup...CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en sup...
CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en sup...
 
Ppt 4 casi completa 2
Ppt 4 casi completa  2Ppt 4 casi completa  2
Ppt 4 casi completa 2
 
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivenciaSólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
Sólo puede quedar uno: Evolución de Bots para RTS basada en supervivencia
 
Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016Machine learning for dummies - Azuges November 2016
Machine learning for dummies - Azuges November 2016
 
Presentacion intermedia
Presentacion intermediaPresentacion intermedia
Presentacion intermedia
 
Deep Learning Notes
Deep Learning NotesDeep Learning Notes
Deep Learning Notes
 
CoSECiVi'15 - Automatic gameplay testing for message passing architectures
CoSECiVi'15 - Automatic gameplay testing for message passing architecturesCoSECiVi'15 - Automatic gameplay testing for message passing architectures
CoSECiVi'15 - Automatic gameplay testing for message passing architectures
 
Introduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptxIntroduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptx
 
Generación automática de contenido para juegos de estrategia en tiempo real
Generación automática de contenido para juegos de estrategia en tiempo realGeneración automática de contenido para juegos de estrategia en tiempo real
Generación automática de contenido para juegos de estrategia en tiempo real
 
Inteligencia Artificial en videojuegos
Inteligencia Artificial en videojuegosInteligencia Artificial en videojuegos
Inteligencia Artificial en videojuegos
 
Arquitecturas MMOG
Arquitecturas MMOGArquitecturas MMOG
Arquitecturas MMOG
 
Gamificación. El camino para ser feliz, desarrollar mejor software y salvar e...
Gamificación. El camino para ser feliz, desarrollar mejor software y salvar e...Gamificación. El camino para ser feliz, desarrollar mejor software y salvar e...
Gamificación. El camino para ser feliz, desarrollar mejor software y salvar e...
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

Ejemplos de investigación en videojuegos con algoritmos evolutivos, aprendizaje automático y generación de contenidos

  • 1. Ejemplos de investigación en videojuegos Pablo García Sánchez y Antonio Mora García Grupo @geneura Universidad de Granada
  • 2. Índice • Algoritmos Evolutivos • FPS • RTS • Generación de Contenidos commons.wikipedia.org
  • 4. ¿Qué son los Algoritmos Evolutivos? • Metaheurísticas • Resuelve problemas de optimización • Función de adecuación: fitness • Basados en población • Basados el principio de selección natural • Estocásticos
  • 5. Ejemplos de EAs • Algoritmo genético: los individuos son vectores de números • Programación genética: los individuos son árboles que codifican un programa • Programación evolutiva: los individuos son otra estructura (ej: una red neuronal) • Otros: EDAs, Bayesianos, DE...
  • 7. Ejemplo: Super Mario Bot • FSM en la que se evolucionan los estados actuales y las acciones (salto, correr y dirección)
  • 9. Unreal Tournament 2004 • Editor con UnrealScript • Motor Java para acceder al juego: POGAMUT
  • 10. Unreal Bot • Optimización de parámetros de una FSM para Unreal Tournament 2004 • Cada cromosoma es un vector de parámetros
  • 11. UnrealBot Team • Igual, pero se optimizan los parámetros de un equipo
  • 12. Unreal ExpertBot • FSM de dos niveles basándose en un jugador experto (campeón de Andalucía) en 1vs1. • Por ejemplo, modela qué armas hay que usar. • Gana a jugadores humanos "normales"
  • 13. Unreal InteractiveBot • A partir de ExpertBot • Intervención de expertos en la ejecución del algoritmo • Jugador experto: responde preguntas para bloquear partes del cromosoma • Investigador experto • Segundo puesto en la competición 2KBotPrice 2014
  • 15. Real Time Strategy (RTS) • Tráfico de carreteras, finanzas o predicciones del tiempo: • Son entornos dinámicos y complejos • No hay información completa o perfecta • RTS->simplificación • Toma de decisiones con incertidumbre • Planificación en tiempo real
  • 16. Características de los RTS • Movimiento simultáneo • Acciones durativas (requieren tiempo) • Tiempo real (decisiones rápidas) • Parcialmente observables (niebla de guerra) • No deterministas • Complejidad
  • 17. Retos de los RTS • Planificación • Aprendizaje • Incertidumbre • Razonamiento espacial y temporal • Explotación del dominio del conocimiento • Descomposición en tareas andreita42 en deviantart
  • 18. Retos: Planificación • Distintos niveles de abstracción • Estrategias a largo plazo (partida) • Estrategias a corto plazo (batallas) • Técnicas: muestreo o descomposición jerárquica pixabay.com
  • 19. Retos: Aprendizaje • Aprendizaje existente (ej. BD de partidas) • Aprendizaje in-game (ej. aprendizaje por refuerzo) • Aprendizaje inter-juego (ej. aprender del juego anterior para ganar en el siguiente) soft9000.com
  • 20. Retos: Incertidumbre • Incertidumbre espacial (Niebla de guerra) • Acciones del enemigo commons.wikipedia.org
  • 21. Retos: Razonamiento • Razonamiento espacial: dónde colocar la base • Razonamiento temporal: cuándo crear tecnología fc02.deviant.org
  • 22. Retos: Descomposición de tareas • Estrategia • Tácticas • Control reactivo • Análisis del terreno • Recolección de inteligencia • Micro y macro tareas insightly.com
  • 25. Descripción del problema • Restricciones: • 1 segundo para decidir • No se puede usar memoria para guardar el estado del juego • Estado actual: planetas y flotas • Acciones: un archivo de texto con acciones leído por el juego Estado Actual Acciones a realizar Bot
  • 26. AresBot • Seleccionar base • Seleccionar planeta objetivo • Por cada colonia • Reforzar al ataque • Ayudar al ataque (este es Antares)
  • 27. FSM
  • 28. Operación Genebot • Optimización de parámetros de AresBot • Gen: array de parámetros • 2-Tournament • BLX-alpha crossover • Re-evaluación • 40 segundos de evaluación por individuo Propiedad de EA (no me demandéis!)
  • 29. Fitness • Número de victorias y número de "turnos" • Fitness basado en pesos • Fitness lexicográfico • 3 victorias, 30 para perder • 5 victorias, 10 para perder
  • 30. Exp-Genebot • Detección de tipo de mapa para escoger un conjunto de parámetros ya optimizado
  • 31. GP-bot • Nueva aproximación: Programación Genética • El genoma esta vez es un árbol de • Decisiones: ej. si la distancia a la base es menor 0.25 • Acciones: ej. atacar a la base con el 20% de naves • Código Java compilado en cada evaluación usando CAssist
  • 33. Resultados (validación) 3G 7G UG 3E 7E UE 100200300400500 Configuration Turnstobedefeated 3G 7G UG 3E 7E UE 10203040506070 Configuration Percentageofvictories
  • 34. ¿Criterios de parada? • Número de generaciones • Edad de los atípicos • Tasa de reemplazo • Llegar al umbral de fitness • Mejora del fitness respecto a la media
  • 36. ¿Qué hemos aprendido? • Comparar con la versión anterior y mejorarla • Usar fitness jerárquicos • Re-evaluación de individuos • Validar siempre contra bots/mapas no usados para aprendizaje • Criterios de parada basados en reemplazo • Usar software libre
  • 38. ¿Por qué StarCraft? • Competiciones: CIG, AIIDE, SCSC... • Librerías y frameworks disponibles • Bases de datos de replays (ej: http://bwreplays.com/) • Test-bed unificado en investigación en RTS
  • 39. BWAPI • Permite crear AIs para SC creando un .dll • Información sobre: • Juego: minerales, mapa, tipo de juego, latencia... • Unidades: distancia, velocidad, detección, estado... • Jugador: raza, estado, recursos, muertes...
  • 42. StarCraftGP • Framework para generar automáticamente bots que juegan a Starcraft usando programación genética • Basado en uGP3 • Usamos GP Lineal para generar bots usando el framework uGP3 (usando OpprimoBot como base) • En colaboración con el INRA y el Politécnico de Turín
  • 43. Fitness • Usamos estrategias hechas a mano dentro de OpprimoBot • Fitness jerárquico (e iterativo) basado en victorias • Tier 1: Fáciles • Tier 2: Medios • Tier 3: Difíciles • Score • Fitness basado en informe (guardamos un .txt por partida) • Victorias militares • Victorias económicas • Unidades destruidas • Unidades muertas • Score
  • 44. External Evaluator Evolutionary Core Constraints .txt .txt TournamentManager External Evaluator Individual.DLL results.txtParser Fitness values VM Server VM Client VM Client VM Client … VStudio Compiler Individual.cpp
  • 47. Generación de Contenidos Generación de historias en entornos masivamente distribuidos: MADE Propiedad de Bethesda
  • 49. MADE • Massive Artificial Drama Engine • Sistema multiagente optimizado por un GA • Basado en la generación de arquetipos
  • 54.
  • 55.
  • 56.
  • 57. Referencias (Planet Wars) • A. Fernández-Ares, A. Miguel Mora, J. J. Merelo Guervós, P. García-Sánchez, C. M. Fernandes: Optimizing player behavior in a real-time strategy game using evolutionary algorithms. IEEE Congress on Evolutionary Computation 2011: 2017-2024 (2012) • A. Miguel Mora, A. Fernández-Ares, J. J. Merelo Guervós, P. García-Sánchez, C. M. Fernandes: Effect of Noisy Fitness in Real-Time Strategy Games Player Behaviour Optimisation Using Evolutionary Algorithms. J. Comput. Sci. Technol. 27(5): 1007-1023 (2012) • Antonio Fernández-Ares, Pablo García-Sánchez, Antonio Miguel Mora, Juan J. Merelo Guervós: Adaptive bots for real-time strategy games via map characterization. CIG 2012: 417-721 (2012) • Antonio Fernández-Ares, Pablo García-Sánchez, Antonio M. Mora, Pedro A. Castillo Valdivieso, Juan Julián Merelo Guervós, Maria I. García Arenas, Gustavo Romero: It's Time to Stop: A Comparison of Termination Conditions in the Evolution of Game Bots. EvoApplications 2015: 355-368 • Pablo García-Sánchez, Antonio Fernández-Ares, Antonio Miguel Mora, Pedro A. Castillo Valdivieso, Jesús González, Juan Julián Merelo Guervós: Tree Depth Influence in Genetic Programming for Generation of Competitive Agents for RTS Games. EvoApplications 2014: 411-421
  • 58. Referencias (Unreal) • Antonio Miguel Mora, Ramón Montoya, Juan Julián Merelo Guervós, Pablo García-Sánchez, Pedro A. Castillo, Juan Luís Jiménez Laredo, Ana Isabel Martínez García, Anna Esparcia-Alcázar: Evolving Bot AI in Unreal. EvoApplications (1) 2010: 171-180 • Antonio Miguel Mora, Francisco Aisa, Ricardo Caballero, Pablo García-Sánchez, Juan Julián Merelo Guervós, Pedro A. Castillo, Raúl Lara-Cabrera: Designing and Evolving an Unreal TournamentTM 2004 Expert Bot. IWANN (2) 2013: 312-323 • Antonio Miguel Mora, M. A. Moreno, Juan Julián Merelo Guervós, Pedro A. Castillo, Maribel García Arenas, Juan Luís Jiménez Laredo: Evolving the cooperative behaviour in Unreal™ bots. CIG 2010: 241-248
  • 59. Referencias (MADE) • Rubén Héctor García-Ortega, Pablo García-Sánchez, Juan Julián Merelo Guervós, María Isabel García Arenas, Pedro A. Castillo Valdivieso, Antonio M. Mora: How the World Was MADE: Parametrization of Evolved Agent- Based Models for Backstory Generation. EvoApplications 2015: 443-454 • Garcia-Ortega, Ruben H., et al. My life as a sim: evolving unique and engaging life stories using virtual worlds. ALIFE 14: The Fourteenth Conference on the Synthesis and Simulation of Living Systems. Vol. 14. Pages 580-587, 2014 • http://made.velonuboso.com • @made_project • @rubenhek
  • 60. Software Libre y Ciencia Abierta • GitHub: fergunet, deantares, amorag, jjmerelo, geneura, geneura-papers • http://geneura.ugr.es • El texto de esta presentación es CC-SA-BY (imágenes usadas con licencia libre, no comercial, salvo imágenes de Blizzard, Bethesda y EA)
  • 61. Muchas gracias! • @fergunet • @amoragar • @geneura