SlideShare uma empresa Scribd logo
1 de 23
Evolutionary FSM-Based
        Agents for Playing
        Super Mario Game
LION 2013




            R.M. Hidalgo-Bermúdez, M.S. Rodríguez-Domingo, A.M. Mora
             P. García-Sánchez, J.J. Merelo, Antonio J. Fernández-Leiva
INDEX
1. INTRODUCTION
2. PRELIMINARY CONCEPTS AND BACKGROUND
3. MARIO AI: COMPETITION AND ENVIRONMENT
4. EVOLUTIONARY FSM-BASED AGENT
5. EXPERIMENTS AND RESULTS
6. CONCLUSIONS AND FUTURE WORK
INTRODUCTION
         Why did we choose Mario Bros?

This game is worldwide known and remains very
popular nowadays.
There is an open source clone of the game named
Infinite Mario Bros.
INTRODUCTION

The main goal of the game is to go across lateral
platforming levels, trying to avoid different
enemies and obstacles by using some useful
items.
We have developed an autonomous agent using
different approaches based on Finite State
Machines (FSMs) combined with Genetic
Algorithms (GAs) techniques.
PRELIMINARY CONCEPTS AND
          BACKGROUND
GAs are based on the model of darwinistic evolution. A
standard GA’s procedure is:
PRELIMINARY CONCEPTS AND
           BACKGROUND
A Finite State Machine (FSM) is a computational model which
represents a set of states and connections between them.
It is represented as a directed graph, where each node
corresponds to a state.
MARIO AI: COMPETITION AND
           ENVIRONMENT
Infinite Mario Bros is an open source modification of
Super Mario Bros. It includes wide support for
implementing autonomous agents to control Mario
character using AI techniques.

The Agent follows the rules of Mario AI
Championship. The tracks are:
    Gameplay                 Turing Test
    Learning                 Level Generation
MARIO AI: COMPETITION AND
          ENVIRONMENT
The possible actions of the Agent are:
    Go Right            Go Left
    Jump                Down
    Shoot/Run



Mario can be in three different modes:
    Fire        Big    Small
MARIO AI: COMPETITION AND
          ENVIRONMENT
Game data is presented in the form of two 19x19
matrices. Each cell of each matrix holds a value,
which represents a type of obstacle or enemy ,
respectively
MARIO AI: COMPETITION AND
           ENVIRONMENT
Obstacles and useful items:
MARIO AI: COMPETITION AND
          ENVIRONMENT
Enemies:
EVOLUTIONARY FSM-BASED AGENT

Possible states
EVOLUTIONARY FSM-BASED AGENT
Chromosome (modelling a FSM)
EVOLUTIONARY FSM-BASED AGENT
Two approaches:

Mono-seed
    All the individuals are tested in the same level
    The length of the level and the time limit to complete it grow with
    each generation


Multi-seed
    Every individual is tested in 30 random levels
    The fitness is computed considering the results of all the plays
EVOLUTIONARY FSM-BASED AGENT
There are two types of fitness:
    Generic fitness
    Hierarchical fitness

The selection mechanism considers the best individual and a
percentage of the best ones, selected by tournament according to
their fitness.

Crossover is performed considering the best individual of the
present generation as one of the parents, and one of the
individuals with positive fitness as the other parent.

In the mutation operator, various genes in each of these
individuals are randomly selected to be mutated
EXPERIMENTS AND RESULTS
    Mono-seed approach
EXPERIMENTS AND RESULTS
    Mono-seed approach
EXPERIMENTS AND RESULTS
EXPERIMENTS AND RESULTS
EXPERIMENTS AND RESULTS
    Multi-seed approach
SOME OF OUR APPROACHES
Difficulty level 1 (completed):
http://www.youtube.com/watch?v=6Pj6dZCE070

Difficulty level 2 (completed):
http://www.youtube.com/watch?v=gtfuY-L0WDA

Difficulty level 3 (completed):
http://www.youtube.com/watch?v=qQVQ43sWwYY

Difficulty level 12 (stacked):
http://www.youtube.com/watch?v=zNGfBApX7sk
CONCLUSIONS AND FUTURE WORK
An agent has been implemented using Finite State Machine (FSM)
models, improved by means of Genetic Algorithms (GA) and
considering different evaluation schemes: mono-seed and a multi-
seed evaluation approaches.

Mono-seed can yield excellent agents for the level where they were
‘trained’ (evolved), having a quite bad behaviour in a different level.
Multi-seed takes much more computational time and has higher
resource requirements, but the agents it yields are very good
playing in any level of the considered difficulty (in the evolution).

All these agents play much better than an expert human player and
can complete the levels in a time impossible to get for the human.
Thanks!

Mais conteúdo relacionado

Destaque

Super Mario (El Personaje y las Mario AI Competitions)
Super Mario (El Personaje y las Mario AI Competitions)Super Mario (El Personaje y las Mario AI Competitions)
Super Mario (El Personaje y las Mario AI Competitions)Antonio Mora
 
Evolving the Cooperative Behaviour in Unreal Bots
Evolving the Cooperative Behaviour in Unreal BotsEvolving the Cooperative Behaviour in Unreal Bots
Evolving the Cooperative Behaviour in Unreal BotsAntonio Mora
 
Ciencia y videojuegos
Ciencia y videojuegosCiencia y videojuegos
Ciencia y videojuegosAntonio Mora
 
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...Antonio Mora
 
Science and Videogames. Computational intelligence in videogames
Science and Videogames. Computational intelligence in videogamesScience and Videogames. Computational intelligence in videogames
Science and Videogames. Computational intelligence in videogamesAntonio Mora
 
Optimización basada en colonias de hormigas. Conceptos principales
Optimización basada en colonias de hormigas. Conceptos principalesOptimización basada en colonias de hormigas. Conceptos principales
Optimización basada en colonias de hormigas. Conceptos principalesAntonio Mora
 
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORM
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORMCONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORM
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORMPablo García Sánchez
 
Optimizing Strategy Parameters in a Game Bot
Optimizing Strategy Parameters in a Game BotOptimizing Strategy Parameters in a Game Bot
Optimizing Strategy Parameters in a Game BotPablo García Sánchez
 
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...Antonio Mora
 
Evolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstoneEvolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstonePablo García Sánchez
 
Adaptative bots for real time strategy game via map characterization
Adaptative bots for real time strategy game via map characterization Adaptative bots for real time strategy game via map characterization
Adaptative bots for real time strategy game via map characterization Antonio Fernández Ares
 
Usando bases de datos NoSQL para algoritmos evolutivos paralelos
Usando bases de datos NoSQL para algoritmos evolutivos paralelosUsando bases de datos NoSQL para algoritmos evolutivos paralelos
Usando bases de datos NoSQL para algoritmos evolutivos paralelosJuan J. Merelo
 
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...Juan J. Merelo
 

Destaque (20)

Super Mario (El Personaje y las Mario AI Competitions)
Super Mario (El Personaje y las Mario AI Competitions)Super Mario (El Personaje y las Mario AI Competitions)
Super Mario (El Personaje y las Mario AI Competitions)
 
Evolving the Cooperative Behaviour in Unreal Bots
Evolving the Cooperative Behaviour in Unreal BotsEvolving the Cooperative Behaviour in Unreal Bots
Evolving the Cooperative Behaviour in Unreal Bots
 
Ciencia y videojuegos
Ciencia y videojuegosCiencia y videojuegos
Ciencia y videojuegos
 
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobje...
 
Science and Videogames. Computational intelligence in videogames
Science and Videogames. Computational intelligence in videogamesScience and Videogames. Computational intelligence in videogames
Science and Videogames. Computational intelligence in videogames
 
Optimización basada en colonias de hormigas. Conceptos principales
Optimización basada en colonias de hormigas. Conceptos principalesOptimización basada en colonias de hormigas. Conceptos principales
Optimización basada en colonias de hormigas. Conceptos principales
 
FSM Energy Policy - Volume II (Action Plans)
FSM Energy Policy - Volume II (Action Plans)FSM Energy Policy - Volume II (Action Plans)
FSM Energy Policy - Volume II (Action Plans)
 
Sandpile evo star 2011
Sandpile evo star 2011Sandpile evo star 2011
Sandpile evo star 2011
 
Evopar12 Validating a P2P EA
Evopar12 Validating a P2P EAEvopar12 Validating a P2P EA
Evopar12 Validating a P2P EA
 
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORM
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORMCONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORM
CONTEXT-AWARENESS IN A SERVICE ORIENTED E-HEALTH PLATFORM
 
Optimizing Strategy Parameters in a Game Bot
Optimizing Strategy Parameters in a Game BotOptimizing Strategy Parameters in a Game Bot
Optimizing Strategy Parameters in a Game Bot
 
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...
Evolving Evil: Optimizing Flocking Strategies through Genetic Algorithms for ...
 
Sistemas clasificadores
Sistemas clasificadoresSistemas clasificadores
Sistemas clasificadores
 
Evolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in HearthstoneEvolutionary Deckbuilding in Hearthstone
Evolutionary Deckbuilding in Hearthstone
 
Adaptative bots for real time strategy game via map characterization
Adaptative bots for real time strategy game via map characterization Adaptative bots for real time strategy game via map characterization
Adaptative bots for real time strategy game via map characterization
 
Universal grammar
Universal grammarUniversal grammar
Universal grammar
 
Parameter Tuning
Parameter TuningParameter Tuning
Parameter Tuning
 
Genebot maeb
Genebot maebGenebot maeb
Genebot maeb
 
Usando bases de datos NoSQL para algoritmos evolutivos paralelos
Usando bases de datos NoSQL para algoritmos evolutivos paralelosUsando bases de datos NoSQL para algoritmos evolutivos paralelos
Usando bases de datos NoSQL para algoritmos evolutivos paralelos
 
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
 

Mais de Antonio Mora

Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...Antonio Mora
 
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...Antonio Mora
 
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...Antonio Mora
 
Research in Videogames. (Much) further than just AI
Research in Videogames. (Much) further than just AIResearch in Videogames. (Much) further than just AI
Research in Videogames. (Much) further than just AIAntonio Mora
 
GRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
GRETIVE: Un Bot Evolutivo para HearthStone basado en PerfilesGRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
GRETIVE: Un Bot Evolutivo para HearthStone basado en PerfilesAntonio Mora
 
Improving the Performance of MCTS-Based μRTS Agents Through Move Pruning
Improving the Performance of MCTS-Based μRTS Agents Through Move PruningImproving the Performance of MCTS-Based μRTS Agents Through Move Pruning
Improving the Performance of MCTS-Based μRTS Agents Through Move PruningAntonio Mora
 
Testing hybrid computational intelligence algorithms for general game playing...
Testing hybrid computational intelligence algorithms for general game playing...Testing hybrid computational intelligence algorithms for general game playing...
Testing hybrid computational intelligence algorithms for general game playing...Antonio Mora
 
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...Antonio Mora
 
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...Antonio Mora
 
Investigación en videojuegos. (mucho) Mas allá de la IA
Investigación en videojuegos. (mucho) Mas allá de la IAInvestigación en videojuegos. (mucho) Mas allá de la IA
Investigación en videojuegos. (mucho) Mas allá de la IAAntonio Mora
 
Beating uncertainty in racing bot evolution through enhanced exploration and ...
Beating uncertainty in racing bot evolution through enhanced exploration and ...Beating uncertainty in racing bot evolution through enhanced exploration and ...
Beating uncertainty in racing bot evolution through enhanced exploration and ...Antonio Mora
 
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)Antonio Mora
 
Free Form Evolution for Angry Birds Level Generation
Free Form Evolution for Angry Birds Level GenerationFree Form Evolution for Angry Birds Level Generation
Free Form Evolution for Angry Birds Level GenerationAntonio Mora
 
Ciencia y Videojuegos (ULP 2019)
Ciencia y Videojuegos (ULP 2019)Ciencia y Videojuegos (ULP 2019)
Ciencia y Videojuegos (ULP 2019)Antonio Mora
 
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...Antonio Mora
 
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...Antonio Mora
 
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017Antonio Mora
 
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
 
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...Antonio Mora
 
Gamification in Teaching - How to motivate students through games
Gamification in Teaching - How to motivate students through gamesGamification in Teaching - How to motivate students through games
Gamification in Teaching - How to motivate students through gamesAntonio Mora
 

Mais de Antonio Mora (20)

Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
Study on Genetic Algorithm Approaches to Improve an Autonomous Agent for a Fi...
 
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
Optimización Adaptativa basada en Colonias de Hormigas para la Composición de...
 
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...
Adaptive Ant Colony Optimization for Service Function Chaining in a Dynamic 5...
 
Research in Videogames. (Much) further than just AI
Research in Videogames. (Much) further than just AIResearch in Videogames. (Much) further than just AI
Research in Videogames. (Much) further than just AI
 
GRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
GRETIVE: Un Bot Evolutivo para HearthStone basado en PerfilesGRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
GRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
 
Improving the Performance of MCTS-Based μRTS Agents Through Move Pruning
Improving the Performance of MCTS-Based μRTS Agents Through Move PruningImproving the Performance of MCTS-Based μRTS Agents Through Move Pruning
Improving the Performance of MCTS-Based μRTS Agents Through Move Pruning
 
Testing hybrid computational intelligence algorithms for general game playing...
Testing hybrid computational intelligence algorithms for general game playing...Testing hybrid computational intelligence algorithms for general game playing...
Testing hybrid computational intelligence algorithms for general game playing...
 
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...
Checking the difficulty of evolutionary-generated maps in a N-Body inspired m...
 
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...
Applying Ant Colony Optimization for Service Function Chaining in a 5G Networ...
 
Investigación en videojuegos. (mucho) Mas allá de la IA
Investigación en videojuegos. (mucho) Mas allá de la IAInvestigación en videojuegos. (mucho) Mas allá de la IA
Investigación en videojuegos. (mucho) Mas allá de la IA
 
Beating uncertainty in racing bot evolution through enhanced exploration and ...
Beating uncertainty in racing bot evolution through enhanced exploration and ...Beating uncertainty in racing bot evolution through enhanced exploration and ...
Beating uncertainty in racing bot evolution through enhanced exploration and ...
 
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)
Inteligencia Computacional en Videojuegos (Meetup GranadAI 2019)
 
Free Form Evolution for Angry Birds Level Generation
Free Form Evolution for Angry Birds Level GenerationFree Form Evolution for Angry Birds Level Generation
Free Form Evolution for Angry Birds Level Generation
 
Ciencia y Videojuegos (ULP 2019)
Ciencia y Videojuegos (ULP 2019)Ciencia y Videojuegos (ULP 2019)
Ciencia y Videojuegos (ULP 2019)
 
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
The Evolutionary Race: Improving the Process of Evaluating Car Controllers in...
 
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...
Predicción de Quiebra Financiera de Empresas Mediante Equilibrado de Datos y ...
 
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017
Driving in TORCS using modular fuzzy controllers - Poster - EvoGAMES 2017
 
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
 
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
Living-UGR: Una aventura gráfica geolocalizada para difundir el patrimonio de...
 
Gamification in Teaching - How to motivate students through games
Gamification in Teaching - How to motivate students through gamesGamification in Teaching - How to motivate students through games
Gamification in Teaching - How to motivate students through games
 

Último

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

FSM-Based Agents for Playing Super Mario Game

  • 1. Evolutionary FSM-Based Agents for Playing Super Mario Game LION 2013 R.M. Hidalgo-Bermúdez, M.S. Rodríguez-Domingo, A.M. Mora P. García-Sánchez, J.J. Merelo, Antonio J. Fernández-Leiva
  • 2. INDEX 1. INTRODUCTION 2. PRELIMINARY CONCEPTS AND BACKGROUND 3. MARIO AI: COMPETITION AND ENVIRONMENT 4. EVOLUTIONARY FSM-BASED AGENT 5. EXPERIMENTS AND RESULTS 6. CONCLUSIONS AND FUTURE WORK
  • 3. INTRODUCTION Why did we choose Mario Bros? This game is worldwide known and remains very popular nowadays. There is an open source clone of the game named Infinite Mario Bros.
  • 4. INTRODUCTION The main goal of the game is to go across lateral platforming levels, trying to avoid different enemies and obstacles by using some useful items. We have developed an autonomous agent using different approaches based on Finite State Machines (FSMs) combined with Genetic Algorithms (GAs) techniques.
  • 5. PRELIMINARY CONCEPTS AND BACKGROUND GAs are based on the model of darwinistic evolution. A standard GA’s procedure is:
  • 6. PRELIMINARY CONCEPTS AND BACKGROUND A Finite State Machine (FSM) is a computational model which represents a set of states and connections between them. It is represented as a directed graph, where each node corresponds to a state.
  • 7. MARIO AI: COMPETITION AND ENVIRONMENT Infinite Mario Bros is an open source modification of Super Mario Bros. It includes wide support for implementing autonomous agents to control Mario character using AI techniques. The Agent follows the rules of Mario AI Championship. The tracks are:  Gameplay  Turing Test  Learning  Level Generation
  • 8. MARIO AI: COMPETITION AND ENVIRONMENT The possible actions of the Agent are:  Go Right  Go Left  Jump  Down  Shoot/Run Mario can be in three different modes:  Fire  Big  Small
  • 9. MARIO AI: COMPETITION AND ENVIRONMENT Game data is presented in the form of two 19x19 matrices. Each cell of each matrix holds a value, which represents a type of obstacle or enemy , respectively
  • 10. MARIO AI: COMPETITION AND ENVIRONMENT Obstacles and useful items:
  • 11. MARIO AI: COMPETITION AND ENVIRONMENT Enemies:
  • 14. EVOLUTIONARY FSM-BASED AGENT Two approaches: Mono-seed All the individuals are tested in the same level The length of the level and the time limit to complete it grow with each generation Multi-seed Every individual is tested in 30 random levels The fitness is computed considering the results of all the plays
  • 15. EVOLUTIONARY FSM-BASED AGENT There are two types of fitness:  Generic fitness  Hierarchical fitness The selection mechanism considers the best individual and a percentage of the best ones, selected by tournament according to their fitness. Crossover is performed considering the best individual of the present generation as one of the parents, and one of the individuals with positive fitness as the other parent. In the mutation operator, various genes in each of these individuals are randomly selected to be mutated
  • 16. EXPERIMENTS AND RESULTS Mono-seed approach
  • 17. EXPERIMENTS AND RESULTS Mono-seed approach
  • 20. EXPERIMENTS AND RESULTS Multi-seed approach
  • 21. SOME OF OUR APPROACHES Difficulty level 1 (completed): http://www.youtube.com/watch?v=6Pj6dZCE070 Difficulty level 2 (completed): http://www.youtube.com/watch?v=gtfuY-L0WDA Difficulty level 3 (completed): http://www.youtube.com/watch?v=qQVQ43sWwYY Difficulty level 12 (stacked): http://www.youtube.com/watch?v=zNGfBApX7sk
  • 22. CONCLUSIONS AND FUTURE WORK An agent has been implemented using Finite State Machine (FSM) models, improved by means of Genetic Algorithms (GA) and considering different evaluation schemes: mono-seed and a multi- seed evaluation approaches. Mono-seed can yield excellent agents for the level where they were ‘trained’ (evolved), having a quite bad behaviour in a different level. Multi-seed takes much more computational time and has higher resource requirements, but the agents it yields are very good playing in any level of the considered difficulty (in the evolution). All these agents play much better than an expert human player and can complete the levels in a time impossible to get for the human.

Notas do Editor

  1. Esto se puede eliminar si lo consideras sabido por la audiencia
  2. Esto se puede eliminar si lo consideras sabido por la audiencia
  3. Decir que nos centramos en el track Gameplay. Buscamos hacer un agente para superar ese reto (según sus normas)
  4. Las matrices son muy importantes para saber cómo actuar en cada instante (tick)
  5. Supongo lo que son todos esos items. :D
  6. Se codifican los posibles estados, incluyendo el 8 (no hacer nada) y el 11 (saltar y agacharse al mismo tiempo). Este último no está implementado en el simulador de Infinite Mario Bros, pero sí en los juegos de Mario.
  7. Si no te queda claro, mírate esto en el artículo original (el de las 17 páginas).
  8. Mono-seed se ejecuta siempre en la misma pantalla (con el mismo nivel de dificultad), y se va incrementando la longitud de la misma con las generaciones. Con el multi-seed se busca evitar el ‘ruido’ típico de la evaluación de individuos en juegos. Es decir, que un mismo individuo sea valorado como muy bueno en una partida y como muy malo en otra, dependiendo de factores pseudoaleatorios (comportamientos de enemigos, sucesos en la partida, etc).
  9. Mírate los detalles de cada operador en el artículo. ;)
  10. Parámetros de ejecución del algoritmo en mono-semilla. Obtenidos por experimentación sistemática.
  11. Se ve el gran tamaño de población requerido para evolucionar un agente bueno.
  12. El tiempo de ejecución es alto y los requisitos de memoria son un problema que hace que muchas veces ‘pete’ el programa (el algoritmo).
  13. Se ve una tendencia positiva (el fitness mejora paulatinamente), aunque no es tan drástica como nos gustaría y hay oscilaciones debidas al ‘ruido’ al evaluar a los individuos.
  14. Parámetros de multi-seed. Los resultados son similares y los problemas que ocurren (memoria y tiempo) se acrecentan al realizar muchas más evaluaciones y variaciones por individuo.
  15. Mejor si bajas estos ejemplos a tu disco duro por si no hay conexión. Puedes usar el programa “aTube Catcher”, por ejemplo. El del nivel 12 petó, como en todos los casos, pero hasta ese momento su comportamiento era muy bueno.
  16. Los agentes obtenidos se pudieron evolucionar hasta superar el nivel de dificultad 4, más allá ocurrían errores de memoria (más a medida que incrementaba el nivel de dificultad). Aún así, ese nivel es más que suficiente para lo requerido en el GamePlay track.
  17. Las conclusiones, después de realizar este trabajo, son las siguientes: