Creating autonomous agents for playing Super Mario Bros game by means of evolutionary finite state machines

Similar documents
Optimization of Enemy s Behavior in Super Mario Bros Game Using Fuzzy Sugeno Model

Super Mario Bros. Game Guide. 3rd edition Text by Cris Converse. Published by

This is a postprint version of the following published document:

Achieving Desirable Gameplay Objectives by Niched Evolution of Game Parameters

Reinforcement Learning in a Generalized Platform Game

Introduction. How to Play

The Genetic Algorithm

CS 354R: Computer Game Technology

Evolution of Sensor Suites for Complex Environments

Tree depth influence in Genetic Programming for generation of competitive agents for RTS games

Super Mario. Martin Ivanov ETH Zürich 5/27/2015 1

Evolutionary Neural Networks for Non-Player Characters in Quake III

BIEB 143 Spring 2018 Weeks 8-10 Game Theory Lab

Population Initialization Techniques for RHEA in GVGP

COMP SCI 5401 FS2015 A Genetic Programming Approach for Ms. Pac-Man

COMP SCI 5401 FS2018 GPac: A Genetic Programming & Coevolution Approach to the Game of Pac-Man

Developing Frogger Player Intelligence Using NEAT and a Score Driven Fitness Function

Mario AI CIG 2009

Midterm 2 Practice Problems

IV. MAP ANALYSIS. Fig. 2. Characterization of a map with medium distance and periferal dispersion.

the gamedesigninitiative at cornell university Lecture 4 Game Components

FreeCiv Learner: A Machine Learning Project Utilizing Genetic Algorithms

WARNING Seizures. WARNING Repetitive Motion Injuries and Eyestrain. CAUTION Motion Sickness

A Hybrid Evolutionary Approach for Multi Robot Path Exploration Problem

Variable Size Population NSGA-II VPNSGA-II Technical Report Giovanni Rappa Queensland University of Technology (QUT), Brisbane, Australia 2014

Optimizing the State Evaluation Heuristic of Abalone using Evolutionary Algorithms

Evolving Behaviour Trees for the Commercial Game DEFCON

Available online at ScienceDirect. Procedia Computer Science 24 (2013 )

Paper ID# USING A GENETIC ALGORITHM TO DETERMINE AN OPTIMAL POSITION FOR AN ANTENNA MOUNTED ON A PLATFORM

Genetic Algorithms with Heuristic Knight s Tour Problem

Round-robin Tournament with Three Groups of Five Entries. Round-robin Tournament with Five Groups of Three Entries

Creating a Dominion AI Using Genetic Algorithms

CPS331 Lecture: Genetic Algorithms last revised October 28, 2016

INSTRUCTION BOOKLET NTR-AB3P-UKV

Cooperative Behavior Acquisition in A Multiple Mobile Robot Environment by Co-evolution

ESSENTIAL ELEMENT, LINKAGE LEVELS, AND MINI-MAP SCIENCE: HIGH SCHOOL BIOLOGY SCI.EE.HS-LS1-1

Analysis of Vanilla Rolling Horizon Evolution Parameters in General Video Game Playing

Solving Sudoku with Genetic Operations that Preserve Building Blocks

Probability and Genetics #77

Biologically Inspired Embodied Evolution of Survival

Optimization of Tile Sets for DNA Self- Assembly

Introduction to Genetic Algorithms

Game Theory: From Zero-Sum to Non-Zero-Sum. CSCI 3202, Fall 2010

Online Evolution for Cooperative Behavior in Group Robot Systems

The Behavior Evolving Model and Application of Virtual Robots

THE development of AI characters has played an important

Approaching The Royal Game of Ur with Genetic Algorithms and ExpectiMax

Cliff Hoopin. N a t h a n a e l S m i t h

SMARTER NEAT NETS. A Thesis. presented to. the Faculty of California Polytechnic State University. San Luis Obispo. In Partial Fulfillment

A procedural procedural level generator generator

Package gamesga. June 13, 2017

A Novel approach for Optimizing Cross Layer among Physical Layer and MAC Layer of Infrastructure Based Wireless Network using Genetic Algorithm

A Genetic Algorithm for Solving Beehive Hidato Puzzles

The 2010 Mario AI Championship

INSTRUCTION BOOKLET NTR-AYWP-UKV

Optimizing an Evolutionary Approach to Machine Generated Artificial Intelligence for Games

Genetic Algorithms for Efficient Placement of Router Nodes in Wireless Mesh Networks

CSC 396 : Introduction to Artificial Intelligence

PLANETOID PIONEERS: Creating a Level!

Vesselin K. Vassilev South Bank University London Dominic Job Napier University Edinburgh Julian F. Miller The University of Birmingham Birmingham

Evolutions of communication

GEOMETRIC DISTRIBUTION

Excel TGI Football Game DELUXE Instructions & Help File

RoboPatriots: George Mason University 2010 RoboCup Team

The Simulated Location Accuracy of Integrated CCGA for TDOA Radio Spectrum Monitoring System in NLOS Environment

A Case Study of GP and GAs in the Design of a Control System

CS 441/541 Artificial Intelligence Fall, Homework 6: Genetic Algorithms. Due Monday Nov. 24.

A Note on General Adaptation in Populations of Painting Robots

User-preference-based automated level generation for platform games

Chapter 5 OPTIMIZATION OF BOW TIE ANTENNA USING GENETIC ALGORITHM

Discrete Random Variables Day 1

Automating a Solution for Optimum PTP Deployment

Exam III Review Problems

GENETIC PROGRAMMING. In artificial intelligence, genetic programming (GP) is an evolutionary algorithmbased

Coevolution and turnbased games

Game catalogue Package: FUN II

Probability - Introduction Chapter 3, part 1

NASA Swarmathon Team ABC (Artificial Bee Colony)

Monte Carlo Tree Search

A comparison of a genetic algorithm and a depth first search algorithm applied to Japanese nonograms

GA Optimization for RFID Broadband Antenna Applications. Stefanie Alki Delichatsios MAS.862 May 22, 2006

CYCLIC GENETIC ALGORITHMS FOR EVOLVING MULTI-LOOP CONTROL PROGRAMS

, x {1, 2, k}, where k > 0. (a) Write down P(X = 2). (1) (b) Show that k = 3. (4) Find E(X). (2) (Total 7 marks)

Solving and Analyzing Sudokus with Cultural Algorithms 5/30/2008. Timo Mantere & Janne Koljonen

Evolution and Prioritization of Survival Strategies for a Simulated Robot in Xpilot

Real-Coded Genetic Algorithm for Robust Design of UPFC Supplementary Damping Controller

Online Interactive Neuro-evolution

5.4 Imperfect, Real-Time Decisions

Mario Power Tennis, known as Mario Tennis GC ( マリオテニス GC Mario Unlock criteria Pressing the button once

Evolving robots to play dodgeball

Meta-Heuristic Approach for Supporting Design-for- Disassembly towards Efficient Material Utilization

Artificial Intelligence

Comparing Methods for Solving Kuromasu Puzzles

Section Marks Agents / 8. Search / 10. Games / 13. Logic / 15. Total / 46

EvoTanks: Co-Evolutionary Development of Game-Playing Agents

Generating Interesting Patterns in Conway s Game of Life Through a Genetic Algorithm

Using Cyclic Genetic Algorithms to Evolve Multi-Loop Control Programs

COGNITIVE RADIOS WITH GENETIC ALGORITHMS: INTELLIGENT CONTROL OF SOFTWARE DEFINED RADIOS

Evolutionary Optimization for the Channel Assignment Problem in Wireless Mobile Network

A Genetic Algorithm-Based Controller for Decentralized Multi-Agent Robotic Systems

Transcription:

Creating autonomous agents for playing Super Mario Bros game by means of evolutionary finite state machines A. M. Mora J. J. Merelo P. García-Sánchez P. A. Castillo M. S. Rodríguez-Domingo R. M. Hidalgo-Bermúdez

Preview!

Input of environment Two 19x19 matrices given with Mario in the center: One containing enemies One containing area

Mario Modes Small: In this mode Mario is smaller than in the others. If an enemy strikes him, Mario dies. He can t crouch. Big: This is Mario s intermediate mode. Mario reaches this mode if he is in Fire state and an enemy touches him, or devouring a mushroom in the Small state. Fire: In it Mario can shoot fireballs. Mario can reach this mode if he takes a fire flower (it only appears if Mario is in Big mode).

Ways to lose Fall off a cliff Get hit in by an enemy in small mode Out of time

Enemies Enemies who can die by a fireball strike or if Mario jumps on them and crushes them or if Mario is carrying a koopa shell and throws it at the enemies: Goomba, Goomba Winged, Green Koopa, Red Koopa, Koopa Winged Green, Red Koopa Winged. Enemies who only die by a fireball strike: carnivorous flowers that appear in the pipes. Enemies who only die when Mario jumps on them and crushes them: the cannon balls. Enemies who only die if Mario launches a koopa shell against them: the Spiky and Spiky Winged.

Output Output is any combination of: left, right, down, fire/speed and jump Must be given within 40 miliseconds Hard limit Offline learning

GA with a Finite State Machine Represents states and connections between them Based on sensors (receives inputs) and on actuators (performs response action) Inherited using a genetic algorithm

Representation An individual is a FSM Each state has a table of input output pairs The input are the situations mario can encounter The output is a set of Mario actions.

Input problems The amount of possible inputs is large Transform inputs into fuzzy values Still large? Output states for new entries will be randomly set

Fitness function Mono-seed Single stage per individual Multi-seed 30 stages per individual Fitness function of the competition: Fitness = win * 1024 + stat * 32 + enems * 42 + coins * 16 + remtime * 8 + cells

Generic Fitness function If(win==1) Fitness = win * 200 + stat * 300 + (powers - numcollis) * 200 + (enems / numenems) * 300 + (coins / numcoins) * 50 + (remtime / tottime) * 50 Else Fitness = MIN FITNESS + (cells / totcells) * 600 + ((cells / totcells) * (spetime / tottime)) * 200 + (enems / numenems) * 150 + (coins/numcoins)

Selection Ordering is hierarchical in case of the multi-seed approach (%out of time or fallen, average % stages complete, generic fitness) Parent pool: best individual, percentage of the best individuals, selected by tournament selection.

Crossover and Mutation Crossover is done on the best individual and one other parent with positive fitness. They generate multiple children each with uniform crossover. Mutation, randomly select a certain percentage of individuals, various output states in each individual are randomly changed. The new population consists of: the best solution, the offspring and random individuals.

Experiments Single run takes 40-50s 25 min for a single evaluation for multi-seed FSM often too big for memory

Experiments (mono-seed) Changed FSM implementation for memory issues Mono-seed agents are good for one specific stage

Experiments (mono-seed)

Experiments (mono-seed)

Experiments (mono-seed)

Experiments (mono-seed)

Experiments (multi-seed) Better CPU and more memory Reduced number of states Competent agent for difficulties 0-4 More stages evaluated, higher adaptation Training time grows exponentially with difficulty

Experiments (multi-seed)

Experiments (multi-seed)

Conclusion Mono-seed can solve all difficulty levels But is only good at one stage Multi-seed is more adaptive But requires too much memory to be trained beyond difficult 4

Discussion Couple of unfinished sentences Not all methods choices are justified No explanation of optimal parameter selection Adding random solutions to each population No comparison with other approaches

Discussion Unexplained runtime results Representation not completely explained Uniform crossover maybe too disruptive No fitness results for multi-seed

Creating autonomous agents for playing Super Mario Bros game by means of evolutionary finite state machines A. M. Mora J. J. Merelo P. García-Sánchez P. A. Castillo M. S. Rodríguez-Domingo R. M. Hidalgo-Bermúdez