SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
CIG2010




A.M. Mora, M.A. Moreno, J.J. Merelo, P.A. Castillo,
            M.G. Arenas, J.L.J. Laredo

                    Dpto. ATC
               University of Granada
CIG2010




Unreal?
GAs?
Teams?
Results?
Conclusions?
That’s all?
CIG2010




It is a First Person Shooter (FPS):




Very famous since 1998, because it
had an excellent enemies’ AI, so it
was (and is) a very good game for multiplayer battlematches
between users and the so-called Bots (authonomous players).
CIG2010




It offers the Unreal Editor
(included with the game):




It is easy to
create Mods:
CIG2010




There is an own language
(UnrealScript).

The editor is also an IDE,
since it is possible to access
the whole tree of classes,
and write and compile new
code inside it.


But it has some flaws such as a limited size for arrays, its is
slower than other languages, or the dificulty to debug the code.
CIG2010




It is based on a Finite State Machine:
  Example: State Roaming
CIG2010




A Bot decides what to do (changing between the states and
substates) in the FSM depending on some parameters or
thresholds.

For instance:

(in Roaming state)
IF distance_to_enemy() < MIN_DIST_SHOOT THEN
go_to_state(Attacking)


In addition, there are some values used to calculate others,
such as penalties, multiplication factors, etc.
CIG2010




Identify the ‘main’                  Put them into
set of parameters                      an array




                         Evolve it with an Evolutionary Algorithm
                                    (Genetic Algorithm)
CIG2010




          Created by Johann Dréo
CIG2010




Genetic Algorithm              FITNESS EVALUATION
based bot (GA-Bot)

      population         Std
                         AI    Std    Std
                               AI     AI




       GA
  EVOLUTIONARY
     PROCESS
CIG2010




Identify the ‘main’
                                     Put them into
set of parameters
                                       an array
   (for a Team)




                         Evolve it with an Evolutionary Algorithm
                                    (Genetic Algorithm)
CIG2010




Genetic Algorithm
                               FITNESS EVALUATION
based team of bots
(GT-Bot)                 Std
                                                    Std
                         AI
                                                    AI
                                           Std
                                           AI
      population




                                      vs


       GA
  EVOLUTIONARY
     PROCESS                          OR
CIG2010




cr-Team
All the bots in the team have the
same chromosome.




cr-Bot
Every bot in the team has a different
chromosome.

A shape of co-evolution.
CIG2010




The set of thresholds and parameters to consider in a Team
evolution is:
CIG2010




The real-coded GA we have used in this work considers:

       Chromosome Lentgh  40
       Population size  30
       Number of Generations  30

       Simple Gene Mutation
       Mutation probability  0.01

       Two point crossover
       Crossover probability  0.6

       Time per chromosome  90 seconds
CIG2010




And the Fitness Function:

     Each team is evaluated after 90 seconds

     The fitness is a sumatory considering the bots’ results:
        - number of frags
        - times defeated
        - number of items collected
        - weapons collected
        - power of weapons
CIG2010




1 cr-Bot based Team (2 Bots) vs 3 standard 2-bots teams
CIG2010




1 cr-Team based Team (2 Bots) vs 3 standard 2-bots teams
CIG2010




1 cr-Team based Team (4 Bots) vs 3 standard 4-bots teams
CIG2010




1 cr-Bot based Team (2 Bots) vs 1 cr-Team based Team (2 bots)
vs 2 standard 2-bots teams




             vs
CIG2010




We have improved the AI of Unreal Bots using a Genetic
Algorithm, so they can behave better in a team.

We have implemented 2 approaches:
   • one based in having a different set of parameters per bot (co-
   evolution) – cr-Bot
   • another based in sharing all the bots in the team the same set of
   parameters – cr-Team

The results show that both approaches performs better than
the standard bots and the cr-Team is the best of them.


FUTURE WORK:
- perform more experiments
- improve the FSM of the AI for teams (sets of rules)
CIG2010




Questions?




Contact: amorag@geneura.ugr.es

Mais conteúdo relacionado

Semelhante a Evolving the Cooperative Behaviour in Unreal Bots

INTRODUCTION
INTRODUCTIONINTRODUCTION
INTRODUCTIONbutest
 
INTRODUCTION
INTRODUCTIONINTRODUCTION
INTRODUCTIONbutest
 
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
 
2018 Fighting Game AI Competition
2018 Fighting Game AI Competition 2018 Fighting Game AI Competition
2018 Fighting Game AI Competition ftgaic
 
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
 
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)Igalia
 

Semelhante a Evolving the Cooperative Behaviour in Unreal Bots (7)

CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
CoSECiVi'15 - Evolutionary interactive bot for the FPS Unreal Tournament 2004
 
INTRODUCTION
INTRODUCTIONINTRODUCTION
INTRODUCTION
 
INTRODUCTION
INTRODUCTIONINTRODUCTION
INTRODUCTION
 
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...
 
2018 Fighting Game AI Competition
2018 Fighting Game AI Competition 2018 Fighting Game AI Competition
2018 Fighting Game AI Competition
 
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...
 
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
 

Mais de 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
 
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
 
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]Antonio Mora
 
Ciencia y Videojuegos (v2)
Ciencia y Videojuegos (v2)Ciencia y Videojuegos (v2)
Ciencia y Videojuegos (v2)Antonio Mora
 

Mais de Antonio Mora (20)

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
 
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
 
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
 
Ciencia y Videojuegos (v2)
Ciencia y Videojuegos (v2)Ciencia y Videojuegos (v2)
Ciencia y Videojuegos (v2)
 

Último

Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreelreely ones
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoUXDXConf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024TopCSSGallery
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 

Último (20)

Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 

Evolving the Cooperative Behaviour in Unreal Bots

  • 1. CIG2010 A.M. Mora, M.A. Moreno, J.J. Merelo, P.A. Castillo, M.G. Arenas, J.L.J. Laredo Dpto. ATC University of Granada
  • 3. CIG2010 It is a First Person Shooter (FPS): Very famous since 1998, because it had an excellent enemies’ AI, so it was (and is) a very good game for multiplayer battlematches between users and the so-called Bots (authonomous players).
  • 4. CIG2010 It offers the Unreal Editor (included with the game): It is easy to create Mods:
  • 5. CIG2010 There is an own language (UnrealScript). The editor is also an IDE, since it is possible to access the whole tree of classes, and write and compile new code inside it. But it has some flaws such as a limited size for arrays, its is slower than other languages, or the dificulty to debug the code.
  • 6. CIG2010 It is based on a Finite State Machine: Example: State Roaming
  • 7. CIG2010 A Bot decides what to do (changing between the states and substates) in the FSM depending on some parameters or thresholds. For instance: (in Roaming state) IF distance_to_enemy() < MIN_DIST_SHOOT THEN go_to_state(Attacking) In addition, there are some values used to calculate others, such as penalties, multiplication factors, etc.
  • 8. CIG2010 Identify the ‘main’ Put them into set of parameters an array Evolve it with an Evolutionary Algorithm (Genetic Algorithm)
  • 9. CIG2010 Created by Johann Dréo
  • 10. CIG2010 Genetic Algorithm FITNESS EVALUATION based bot (GA-Bot) population Std AI Std Std AI AI GA EVOLUTIONARY PROCESS
  • 11. CIG2010 Identify the ‘main’ Put them into set of parameters an array (for a Team) Evolve it with an Evolutionary Algorithm (Genetic Algorithm)
  • 12. CIG2010 Genetic Algorithm FITNESS EVALUATION based team of bots (GT-Bot) Std Std AI AI Std AI population vs GA EVOLUTIONARY PROCESS OR
  • 13. CIG2010 cr-Team All the bots in the team have the same chromosome. cr-Bot Every bot in the team has a different chromosome. A shape of co-evolution.
  • 14. CIG2010 The set of thresholds and parameters to consider in a Team evolution is:
  • 15. CIG2010 The real-coded GA we have used in this work considers: Chromosome Lentgh  40 Population size  30 Number of Generations  30 Simple Gene Mutation Mutation probability  0.01 Two point crossover Crossover probability  0.6 Time per chromosome  90 seconds
  • 16. CIG2010 And the Fitness Function: Each team is evaluated after 90 seconds The fitness is a sumatory considering the bots’ results: - number of frags - times defeated - number of items collected - weapons collected - power of weapons
  • 17. CIG2010 1 cr-Bot based Team (2 Bots) vs 3 standard 2-bots teams
  • 18. CIG2010 1 cr-Team based Team (2 Bots) vs 3 standard 2-bots teams
  • 19. CIG2010 1 cr-Team based Team (4 Bots) vs 3 standard 4-bots teams
  • 20. CIG2010 1 cr-Bot based Team (2 Bots) vs 1 cr-Team based Team (2 bots) vs 2 standard 2-bots teams vs
  • 21. CIG2010 We have improved the AI of Unreal Bots using a Genetic Algorithm, so they can behave better in a team. We have implemented 2 approaches: • one based in having a different set of parameters per bot (co- evolution) – cr-Bot • another based in sharing all the bots in the team the same set of parameters – cr-Team The results show that both approaches performs better than the standard bots and the cr-Team is the best of them. FUTURE WORK: - perform more experiments - improve the FSM of the AI for teams (sets of rules)

Notas do Editor

  1. A game where you just can see the hand of your character. The objective is easy… kill the enemies before they kill you! Even in the Battlematch game where you fight against other players (human or bots)
  2. In addition to the excellent AI. We started our researchings in 2000 and in that time it was the best environment (and the best game). We know there are some other possibilities, such as Pogamut…
  3. IDE = Integrated Development Environment Unrealscript is a mixture between C and Java (quite similar to Java), but considering the so-called States (marked in the code as labels) Just can write in a file
  4. Roaming -&gt; the state where the bot moves around searching for items, enemies, etc States -&gt; Roaming or Wandering This example were built by us (analysing the code or Unreal 1).
  5. Some of them hard-coded.
  6. It is very easy…
  7. i  initialization f(x)  evaluation Re  replacing Mu  mutation ?  end condition Cr  cross Se  selection X*  best solution
  8. It is very easy…
  9. There are two different approaches: One considering the same chromosome for all the bots Other considering a different chromosome for every bot
  10. There are two different approaches: One considering the same chromosome for all the bots Other considering a different chromosome for every bot
  11. The most important ones. In addition there are some other parameters just useful for individuals.
  12. It is a generational algorithm. Mutation  add or substract a number in [0,1] Crossover  choose two points and interchange the values between them
  13. The teams of bots fight during 20 hours. Each bot with a different chromosome. The experiment has been performed 3 times in each map (and calculate an average). The cr-Bot team is better than the standard teams.
  14. The teams of bots fight during 20 hours. All the bots with the same chromosome. The experiment has been performed 3 times in each map (and calculate an average). The cr-Team team is better than the standard teams.
  15. The teams of bots fight during 20 hours. All the bots with the same chromosome. The experiment has been performed 3 times the map (and calculate an average). The cr-Team is better than the standard teams.
  16. The teams of bots fight during 20 hours. All the bots with the same chromosome. The experiment has been performed 3 times the map (and calculate an average). The cr-Team is better than the cr-Bot.
  17. We improved the FSM for one bot