Evolving Driving Controllers using Genetic Programming Marc Ebner and Thorsten Tiede.

Slides:



Advertisements
Similar presentations
Genetic Algorithms Yohai Trabelsi. Outline Evolution in the nature Genetic Algorithms and Genetic Programming A simple example for Genetic Algorithms.
Advertisements

Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Genetic Programming 김용덕 Page 2 Contents What is Genetic Programming? Difference between GP and GA Flowchart for GP Structures in GP.
Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles (1991) Jerome Barraquand Jean-Claude Latombe.
Valery Frolov.  The algorithm  Fitness function  Crossover  Mutation  Elite individuals  Reverse mutations  Some statistics  Run examples.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Generating Diverse Opponents with Multi-Objective Evolution Generating Diverse Opponents with Multi-Objective Evolution Alexandros Agapitos, Julian Togelius,
Learning to Advertise. Introduction Advertising on the Internet = $$$ –Especially search advertising and web page advertising Problem: –Selecting ads.
Design of Autonomous Navigation Controllers for Unmanned Aerial Vehicles using Multi-objective Genetic Programming Gregory J. Barlow March 19, 2004.
Advanced Topics in Evolutionary Algorithms Meta-GP Crossover operator evolver for Torcs car setup optimization problem Mati Bot & Shimi Azrad.
16 November, 2005 Statistics in HEP, Manchester 1.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Programming Dinesh Dharme Prateek Srivastav Pankhil Chheda
Genetic Programming.
Genetic Algorithm.
Genetic Algorithms and Ant Colony Optimisation
Computer Implementation of Genetic Algorithm
A Comparison of Nature Inspired Intelligent Optimization Methods in Aerial Spray Deposition Management Lei Wu Master’s Thesis Artificial Intelligence Center.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Jorge Munoz, German Gutierrez, Araceli Sanchis Presented by: Itay Bittan.
Study on Genetic Network Programming (GNP) with Learning and Evolution Hirasawa laboratory, Artificial Intelligence section Information architecture field.
Investigation of the Effect of Neutrality on the Evolution of Digital Circuits. Eoin O’Grady Final year Electronic and Computer Engineering Project.
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
L ECTURE 3 Notes are modified from EvoNet Flying Circus slides. Found at: www2.cs.uh.edu/~ceick/ai/EC1.ppt.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
1 Computing in High Energy and Nuclear Physics, February 2006, Mumbai, India.
AS Wireless Automation Implementing PIDPLUS for Halvari system.
G ENETIC P ROGRAMMING Ranga Rodrigo March 17,
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Algorithms and their Applications CS2004 ( ) 13.1 Further Evolutionary Computation.
1 Genetic Algorithms and Ant Colony Optimisation.
Evolving Virtual Creatures Karl Sims – SIGGRAPH ‘94 Presented by Andy Snyder.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Edge Assembly Crossover
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Automatic Synthesis Using Genetic Programming of an Improved General-Purpose Controller for Industrially Representative Plants Martin A. Keane Econometrics,
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
EE459 I ntroduction to Artificial I ntelligence Genetic Algorithms Practical Issues: Selection.
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
GAIA (Genetic Algorithm Interface Architecture) Requirements Analysis Document (RAD) Version 1.0 Created By: Charles Hall Héctor Aybar William Grim Simone.
Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.
Data Structures Evolution of algorithms for an array-based stack, queue, and linked-list. Evolved data structures used to evolve solutions to problems.
Genetic Search Algorithms Matt Herbster. Why Another Search?  Designed in the 1950s, heavily implemented under John Holland (1970s)  Genetic search.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
Evolving Strategies for the Prisoner’s Dilemma Jennifer Golbeck University of Maryland, College Park Department of Computer Science July 23, 2002.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Overview Last two weeks we looked at evolutionary algorithms.
An application of the genetic programming technique to strategy development Presented By PREMKUMAR.B M.Tech(CSE) PONDICHERRY UNIVERSITY.
An Evolutionary Algorithm for Neural Network Learning using Direct Encoding Paul Batchis Department of Computer Science Rutgers University.
Genetic Algorithm(GA)
GENETIC ALGORITHM By Siti Rohajawati. Definition Genetic algorithms are sets of computational procedures that conceptually follow steps inspired by the.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
Evolutionary Computation Evolving Neural Network Topologies.
GP FOR ADAPTIVE MARKETS Jake Pacheco 6/11/2010. The Goal  Produce a system that can create novel quantitative trading strategies for the stock market.
Genetic Algorithm (Knapsack Problem)
Genetic Algorithms.
TORCS WORKS Jang Su-Hyung.
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Traffic Simulator Calibration
Genetic Algorithm and Their Applications to Scheduling
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
Beyond Classical Search
Coevolutionary Automated Software Correction
Presentation transcript:

Evolving Driving Controllers using Genetic Programming Marc Ebner and Thorsten Tiede

The Torcs Simulator 30 different tracks. 42 different cars. 50 optional opponents. 19 distance sensors. Can be steered using a joystick, an actual steering wheel, the mouse or the keyboard. Up to 4 different players can race against each other using a split screen mode.

Sensors Available From A Simulated Car Of The Racing Simulator

Actuators Of A Simulated Car Of The Racing Simulator

Evolution Of Virtual Race Car Drivers Target - complete the race in the shortest amount of time. The drivers are selected using the Darwinian principle “survival of the fittest”.

Implemantaion tree-based Genetic Programming – Tree - Program. external nodes - provide input to the program. internal nodes – operations. Each individual consists of two trees: – steering wheel - computes the steering direction. – gas/brake system - computes whether the car should accelerate or decelerate.

Gas/Brake Tree

Steering Tree

The Algorithm

The Tracks - Each individual is evaluated for 1000 time steps on each track. - No other drivers are present on the track during evolution.

Fitness Function F = Σf i / 5,i ∈ {1, 2, 3, 4, 5} f i = d max – d d - the distance traveled along the track. d max = ( maxTimeSteps/timeStepsPerSecond)*v max v max - the maximum velocity of the car.

Selection Elitism - The best 3 individuals are always copied into the next generation. tournament selection – Tournament size = 7.

Crossover selects two individuals and then exchanges two random subtrees between these two individuals.

Mutation A randomly selected node is replaced by a newly generated subtree. Each operator is applied with a probability of 50%. Internal nodes are selected with a probability of 90% and external nodes are selected with a probability of 10%.

The Experiments 4 experiments – Experiment 1: manually constructed individual inserted to the first generation. – Experiment 2: all individuals selected randomly. – Experiment 3: same as experiment 1,but with an extended function set. – Experiment 4: same as experiment 2,but with an extended function set. Population size – 200 individuals in each experiment.

The Extended Function Set The extended function set include 2 additionally functions – Sum : takes a single argument and sums up this argument over all time steps. – Last : returns the value which was computed during a previous evaluation of the node. By adding these two elementary functions it is possible to evolve PID controllers in experiments 3 and 4.

PID controller A PID controller calculates an "error" value as the difference between a measured process variable and a desired set point. The PID controller calculation ( algorithm ) involves three separate parameters; the proportional, the integral and derivative values.

The Results Experiments 1 and 3 created the best car drivers after 50 generations. Starting from an entirely random population (as in Experiments 2 and 4) made the problem more difficult (statistically significant with a confidence of 94.7%). There is no statistical significant difference between experiments 1 and 3 and also not between 2 and 4.

The Results

The Performance Of The Best Evolved Driver The best car at generation 0 left the track when evaluated on tracks (c), (d), and (e). At the first generation, the best individual is able to drive for a maximum distance of 498m (on track (b)). At the end of evolution the best individual was able to cover a distance of 642m for this same track. On track (e), the best controller from generation 0 actually left the track after only 66m. after generation 50, it was able to drive for 624m on track (e) without leaving the track. The best evolved controller uses only the current speed and the front facing sensor (S9)to control the acceleration of the car.

The End.