Nicholas Mifsud.  Behaviour Trees (BT) proposed as an improvement over Finite State Machines (FSM)  BTs are simple to design, implement, easily scalable,

Slides:



Advertisements
Similar presentations
A New World Or People Keep Telling Me This is Ambitious By Jeremiah Lewis.
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
CS6800 Advanced Theory of Computation
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
Automation (21-541) Sharif University of Technology Session # 13
Tetris – Genetic Algorithm Presented by, Jeethan & Jun.
Tetris and Genetic Algorithms Math Club 5/30/2011.
May 2006CLINT-LN Parsing1 Computational Linguistics Introduction Approaches to Parsing.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Chapter 12: Expert Systems Design Examples
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Learning to Advertise. Introduction Advertising on the Internet = $$$ –Especially search advertising and web page advertising Problem: –Selecting ads.
Evolutionary Algorithms Simon M. Lucas. The basic idea Initialise a random population of individuals repeat { evaluate select vary (e.g. mutate or crossover)
Genetic Algorithms Learning Machines for knowledge discovery.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
Chapter 3: Methods of Inference Expert Systems: Principles and Programming, Fourth Edition.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Chapter 3 Planning Your Solution
Genetic Programming.
Slides are based on Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming n Evolution.
Reverse Engineering State Machines by Interactive Grammar Inference Neil Walkinshaw, Kirill Bogdanov, Mike Holcombe, Sarah Salahuddin.
Genetic Algorithm.
Genetic Algorithms and Ant Colony Optimisation
Lecture 5 Note: Some slides and/or pictures are adapted from Lecture slides / Books of Dr Zafar Alvi. Text Book - Aritificial Intelligence Illuminated.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Solving the Concave Cost Supply Scheduling Problem Xia Wang, Univ. of Maryland Bruce Golden, Univ. of Maryland Edward Wasil, American Univ. Presented at.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Presenter: Chih-Yuan Chou GA-BASED ALGORITHMS FOR FINDING EQUILIBRIUM 1.
StarCraft Learning Algorithms By Logan Yarnell, Steven Raines, and Dean Antel.
Arindam K. Das CIA Lab University of Washington Seattle, WA MINIMUM POWER BROADCAST IN WIRELESS NETWORKS.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Machine Learning for an Artificial Intelligence Playing Tic-Tac-Toe Computer Systems Lab 2005 By Rachel Miller.
Bi-directional incremental evolution Dr Tatiana Kalganova Electronic and Computer Engineering Dept. Bio-Inspired Intelligent Systems Group Brunel University.
G ENETIC P ROGRAMMING Ranga Rodrigo March 17,
A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem Sang-Moon Soak Speaker: 洪嘉涓、陳麗徽、李振宇、黃怡靜.
Game Theory, Social Interactions and Artificial Intelligence Supervisor: Philip Sterne Supervisee: John Richter.
1 Genetic Algorithms and Ant Colony Optimisation.
1 Appendix D: Application of Genetic Algorithm in Classification Duong Tuan Anh 5/2014.
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Evolving Reactive NPCs for the Real-Time Simulation Game.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Bijective tree encoding Saverio Caminiti. 2 Talk Outline Domains Prüfer-like codes Prüfer code (1918) Neville codes (1953) Deo and Micikevičius code (2002)
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
Introduction to State Space Search
ALGORITHMS AND FLOWCHARTS. Why Algorithm is needed? 2 Computer Program ? Set of instructions to perform some specific task Is Program itself a Software.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
An application of the genetic programming technique to strategy development Presented By PREMKUMAR.B M.Tech(CSE) PONDICHERRY UNIVERSITY.
Evolutionary Computing Systems Lab (ECSL), University of Nevada, Reno 1 Authors : Siming Liu, Christopher Ballinger, Sushil Louis
An Evolutionary Algorithm for Neural Network Learning using Direct Encoding Paul Batchis Department of Computer Science Rutgers University.
Estimation of Distribution Algorithm and Genetic Programming Structure Complexity Lab,Seoul National University KIM KANGIL.
George Yauneridge.  Machine learning basics  Types of learning algorithms  Genetic algorithm basics  Applications and the future of genetic algorithms.
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Evolution strategies and genetic programming
Raluca D. Gaina, Jialin Liu, Simon M. Lucas, Diego Perez-Liebana
Multy- Objective Differential Evolution (MODE)
Unit# 9: Computer Program Development
Search.
Search.
Beyond Classical Search
RHEA Enhancements for GVGP
Presentation transcript:

Nicholas Mifsud

 Behaviour Trees (BT) proposed as an improvement over Finite State Machines (FSM)  BTs are simple to design, implement, easily scalable, modular and reusable  BTs provide a hierarchical way of organising behaviours in a descending order of complexity (broad tasks on top, sub-tasks at the bottom)  Each tree has one defined high level behaviour, multiple trees are used to define an AI-bot

 Nodes are divided in two categories – ◦ Control Nodes  Drive execution flow through the tree, deciding which nodes to execute next  Sequence – execute children left to right until one fails (logical AND)  Selector – execute children until one fails (logical OR) ◦ Leaf Nodes  Conditions – query the game state (left most)  Actions – carry out specific tasks (sequence of actions follow conditions)

 Lim et al. investigate feasibility of applying evolutionary techniques to develop BTs for competitive AI-bots  Authors give a brief outline of ◦ DEFCON ◦ Relevance of BTs ◦ Four different fitness functions ◦ Experiments and Results ◦ Future Work

 Multiplayer Real-Time Strategy game  Six world territories  Players have set of units and structures at their disposal  Default AI-bot uses a deterministic FSM consisting of 5 sets and follows them in sequence  AI-bot was given all functionalitites to play the game (makes use of DEFCON API)  Decisions performed randomly

 Original set of trees were hand defined in order to cater for all possible actions  Handcrafted trees then used as a basis to produce more complex behaviours  Develop AI-bot behaviour by following an evolution algorithm (genetic operators + fitness functions)  Evolved behaviour trees for individual behaviours and combined the best performing trees

 Tree structures naturally allow genetic operators to modify the behaviours  Crossover on branches  Mutation on nodes ◦ Random mutation ◦ Incremental mutation  Add a new branch to a behaviour ◦ Point mutation  Change the spawn point of a structure/unit

 Defence potential – total number of air units destroyed in a given game  Uncovered enemy units – number of enemy sea units uncovered  Fleet Actions – number of enemy buildings uncovered, buildings destroyed and number of units destroyed  Timing of attacks – difference between final end scores as an overall tally (large difference would mean convincing win)

 Four different experiments run each to develop a different fitness described above  Each population contained 100 individuals  Each experiment evolved between 80 to 250 generations  Mutation rate set to 5%

 All results indicate the mean of each fitness function increased as more generations were produced  Higher percentage win rate

 AI-bot constructed with a controller that used the best trees evolved for each of the four behaviours  Played 200 games against the default AI-bot  Won 55% of the time  Games that it lost, was by a very low margin  Before evolving the behaviour trees it only won 3%

 By using evolutionary computing and BTs, able to defeat a handcrafted AI-bot  Mean fitness reached a plateau indicating more generations may be redundant  Raises question whether other techniques could be coupled with this process  Not all possibilities of game explored (only two territories and only 4 tasks were considered)

 Perez et al. also investigate the applicability of Genetic Programming to evolve BTs  Authors make reference to DEFCON paper discussed above and state that their work may be extended by using Grammar Based Genetic Programming systems such as Grammatical Evolution  Develop AI agent for the Mario AI Benchmark following Grammatical Evolution

 Specify syntax of possible solutions through a context free grammar  Variable length integer strings are evolved following a genetic algorithm and these then choose the production rules from the grammar until all symbols are mapped

 Open source software based on the Mario World  All information given in two matrices (21x21)  Data about geometry of level and enemies that populate it is given  Information about current state of game is also given (position, status, mode etc)  Mario has 6 effectors (up, down, left, right, jump and fire and jump)

 At every cycle a button needs to be pressed in order to move Mario – impacts execution of BT  Control Nodes ◦ Sequence – logical AND ◦ Selector – logical OR ◦ Filters - added to add loops  Leaf Nodes ◦ Conditions – use level info to perform checks ◦ Actions – Mario’s possible movements ◦ Sub-Trees – designed to solve specific problems (long jumps)

 The BT syntax was coded into the grammar ◦ 30 conditions ◦ 8 actions ◦ 19 sub-trees ◦ 4 filters  Evolution combines these as long as syntax is respected  Had to limit certain rule combinations through the grammar since some trees were impossible to read and too demanding to execute

 Trees can have variable length but follow an and-or structure  Trees consist of a root node and number of sub trees (behaviour blocks)  Each block consists of one or more conditions followed by a sequence of actions  Tree has a default sub tree that is selected if no conditions are satisfied  If no default then it could be the case that Mario does not move

 Each behaviour block is self contained and hence it allows for individuals to exchange these between them in order to produce different behaviours  Use two point crossover  Allow for sub tree swap operation also (internal crossover)

 Each individual evaluated on 18 levels  Elitism ensures % of population kept from one generation to the next  At the end of all runs, all best individuals were evaluated on 600 unseen maps

 Best BT generated comprised of four behaviour blocks

 BT sent to Mario AI competition and managed to score in fourth place, proving BTs validity in the field of AI (relatively high kill count)  First and third place used A* variants  Second place used a neural network

 Use of Grammar simplifies the task of encoding the syntax of the BTs  Remarkable reactive behaviour capabilities but does not excel at planning  Hybrid approach under construction to aid in path planning

 DEFCON starts with a set of hand crafted trees, encoding feasible behaviours for each of the game four parts  Separate genetic programs were run for each part, creating new predefined behaviours from the original set  Main difference is that the BTs used in the Mario agent were encoded into a context free grammar in order to reduce complexity and create the behaviour blocks  Mario BTs also have loops defined in structure