An introduction to evolutionary computation

Similar documents
ISSN: ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 3, May 2013

Introduction To Genetic Algorithms

Lab 4: 26 th March Exercise 1: Evolutionary algorithms

Genetic Algorithms and Sudoku

Original Article Efficient Genetic Algorithm on Linear Programming Problem for Fittest Chromosomes

Genetic Algorithms commonly used selection, replacement, and variation operators Fernando Lobo University of Algarve

A Non-Linear Schema Theorem for Genetic Algorithms

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

CHAPTER 6 GENETIC ALGORITHM OPTIMIZED FUZZY CONTROLLED MOBILE ROBOT

A Genetic Algorithm Processor Based on Redundant Binary Numbers (GAPBRBN)

Estimation of the COCOMO Model Parameters Using Genetic Algorithms for NASA Software Projects

Alpha Cut based Novel Selection for Genetic Algorithm

A Robust Method for Solving Transcendental Equations

GA as a Data Optimization Tool for Predictive Analytics

Grammatical Differential Evolution

Numerical Research on Distributed Genetic Algorithm with Redundant

Genetic Algorithm. Based on Darwinian Paradigm. Intrinsically a robust search and optimization mechanism. Conceptual Algorithm

College of information technology Department of software

Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

Evolutionary SAT Solver (ESS)

Comparison of Major Domination Schemes for Diploid Binary Genetic Algorithms in Dynamic Environments

6 Creating the Animation

A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number

D A T A M I N I N G C L A S S I F I C A T I O N

Asexual Versus Sexual Reproduction in Genetic Algorithms 1

ESQUIVEL S.C., GATICA C. R., GALLARD R.H.

New Modifications of Selection Operator in Genetic Algorithms for the Traveling Salesman Problem

A Fast Computational Genetic Algorithm for Economic Load Dispatch

Cellular Automaton: The Roulette Wheel and the Landscape Effect

International Journal of Software and Web Sciences (IJSWS)

Volume 3, Issue 2, February 2015 International Journal of Advance Research in Computer Science and Management Studies

USING GENETIC ALGORITHM IN NETWORK SECURITY

Optimizing the Dynamic Composition of Web Service Components

Model-based Parameter Optimization of an Engine Control Unit using Genetic Algorithms

Selection Procedures for Module Discovery: Exploring Evolutionary Algorithms for Cognitive Science

Worksheet: The theory of natural selection

A SURVEY ON GENETIC ALGORITHM FOR INTRUSION DETECTION SYSTEM

Principles of Evolution - Origin of Species

Solving Banana (Rosenbrock) Function Based on Fitness Function

COMPARISON OF GENETIC OPERATORS ON A GENERAL GENETIC ALGORITHM PACKAGE HUAWEN XU. Master of Science. Shanghai Jiao Tong University.

Summary Genes and Variation Evolution as Genetic Change. Name Class Date

Genetic Algorithm TOOLBOX. For Use with MATLAB. Andrew Chipperfield Peter Fleming Hartmut Pohlheim Carlos Fonseca. Version 1.2.

Holland s GA Schema Theorem

Modified Version of Roulette Selection for Evolution Algorithms - the Fan Selection

Architecture bits. (Chromosome) (Evolved chromosome) Downloading. Downloading PLD. GA operation Architecture bits

Research on a Heuristic GA-Based Decision Support System for Rice in Heilongjiang Province

When Machine Learning Meets AI and Game Theory

Genetic Algorithm Performance with Different Selection Strategies in Solving TSP

Optimization in Strategy Games: Using Genetic Algorithms to Optimize City Development in FreeCiv

Genetic Algorithms for Bridge Maintenance Scheduling. Master Thesis

Evolution (18%) 11 Items Sample Test Prep Questions

Genetic programming with regular expressions

OPTIMIZATION PROBLEM FORMULATION AND SOLUTION TECHNIQUES

Evolutionary Detection of Rules for Text Categorization. Application to Spam Filtering

Practice Questions 1: Evolution

A Note on General Adaptation in Populations of Painting Robots

Genetic Algorithms. Chapter Introduction Background Natural Selection

The Binary Genetic Algorithm

A Study of Crossover Operators for Genetic Algorithm and Proposal of a New Crossover Operator to Solve Open Shop Scheduling Problem

ECONOMIC GENERATION AND SCHEDULING OF POWER BY GENETIC ALGORITHM

The Influence of Binary Representations of Integers on the Performance of Selectorecombinative Genetic Algorithms

Biology Notes for exam 5 - Population genetics Ch 13, 14, 15

CHAPTER 3 SECURITY CONSTRAINED OPTIMAL SHORT-TERM HYDROTHERMAL SCHEDULING

GPSQL Miner: SQL-Grammar Genetic Programming in Data Mining

A Hands-On Exercise To Demonstrate Evolution

A Review And Evaluations Of Shortest Path Algorithms

The Applications of Genetic Algorithms in Stock Market Data Mining Optimisation

PLAANN as a Classification Tool for Customer Intelligence in Banking

Evolution, Natural Selection, and Adaptation

Genetic Algorithm. Tom V. Mathew Assistant Professor, Department of Civil Engineering, Indian Institute of Technology Bombay, Mumbai

GENETIC ALGORITHM FORECASTING FOR TELECOMMUNICATIONS PRODUCTS

AP Biology Essential Knowledge Student Diagnostic

Effective Estimation Software cost using Test Generations

A Brief Study of the Nurse Scheduling Problem (NSP)

Genetic Algorithm Based Interconnection Network Topology Optimization Analysis

Genetic Algorithm Evolution of Cellular Automata Rules for Complex Binary Sequence Prediction

CSCI-8940: An Intelligent Decision Aid for Battlefield Communications Network Configuration

Towards Heuristic Web Services Composition Using Immune Algorithm

Master's projects at ITMO University. Daniil Chivilikhin PhD ITMO University

Using Genetic Algorithm for Network Intrusion Detection

An evolutionary learning spam filter system

Package NHEMOtree. February 19, 2015

Improving the Performance of a Computer-Controlled Player in a Maze Chase Game using Evolutionary Programming on a Finite-State Machine

Address for Correspondence

THE main goal of the research described in this paper

A Comparison of Genotype Representations to Acquire Stock Trading Strategy Using Genetic Algorithms

Vol. 35, No. 3, Sept 30,2000 ملخص تعتبر الخوارزمات الجينية واحدة من أفضل طرق البحث من ناحية األداء. فبالرغم من أن استخدام هذه الطريقة ال يعطي الحل

Nonlinear Model Predictive Control of Hammerstein and Wiener Models Using Genetic Algorithms

Evolution by Natural Selection 1

Correspondence should be addressed to Chandra Shekhar Yadav;

Practical Applications of Evolutionary Computation to Financial Engineering

An evolution of a complete program using XML-based grammar denition

Evolutionary computing driven search based software testing and correction

Comparative Study: ACO and EC for TSP

STUDY ON APPLICATION OF GENETIC ALGORITHM IN CONSTRUCTION RESOURCE LEVELLING

Stock price prediction using genetic algorithms and evolution strategies

THREE DIMENSIONAL REPRESENTATION OF AMINO ACID CHARAC- TERISTICS

A REINFORCED EVOLUTION-BASED APPROACH TO MULTI-RESOURCE LOAD BALANCING

A Basic Guide to Modeling Techniques for All Direct Marketing Challenges

Evolutionary Prefetching and Caching in an Independent Storage Units Model

Transcription:

An introduction to evolutionary computation Andrea Roli Alma Mater Studiorum Università di Bologna Cesena campus andrea.roli@unibo.it

Inspiring principle Evolutionary Computation is inspired by natural selection Three observations: Adaptation: organisms are suited to their habitats Inheritance: offspring resemble their parents Natural selection: new, adapted types of organisms emerge and those that fail to change adequately are subject to extinction

Key concepts The fittest individuals have a high chance of having a numerous offspring. The children are similar, but not equal, to the parents. The traits characterizing the fittest individuals spread across the population, generation by generation. EC techniques are not meant to simulate the biological evolutionary processes, but rather aimed at exploiting these key concepts for problem solving.

Evolutionary Computation Evolutionary Computation encompasses: Genetic Algorithms Genetic Programming Evolution Strategies...

Main applications System design Neural network training Signal processing Optimization (discrete and continuous) Time series analysis and forecasting Artificial Life Games

Genetic Algorithms The Metaphor BIOLOGICAL EVOLUTION ARTIFICIAL SYSTEMS Individual A possible solution Fitness Quality Environment Problem

The Evolutionary Cycle SELECTION PARENTS POPULATION RECOMBINATION MUTATION REPLACEMENT/INSERTION OFFSPRING

Main genetic operators Recombination: combines the genetic material of the parents. Mutation: introduce variability in the genotypes. Selection: acts in the choice of parents whose genetic material is then reproduced with variations. Replacement/insertion: defines the new population from the new and the old one. EC algorithms define a basic computational procedure which uses the genetic operators. The definition of the genetic operators specifies the actual algorithm and depends upon the problem at hand.

Genetic Algorithms Developed by John Holland (early 70) with the aim of: Understand adaptive processes of natural systems Design robust (software) artificial systems Directly derived from the natural metaphor Very simple model Programming oriented

A bit of terminology A population is the set of individuals (solutions) Individuals are also called genotypes Chromosomes are made of units called genes The domain of values of a gene is composed of alleles (e.g., binary variable gene with two alleles)

Simple Genetic Algorithm Solutions are coded as bit strings CHROMOSOME Integer 0 1 1 0 0 1 0 1 1 1 GENE GENOTYPE Real Plan Rules... PHENOTYPE

Encoding examples Optimization of a function of integer variable x [0, 100]. Possible encodings: binary coding string of 7 bit; 4 bits per digit string of 12 bit. Optimization of a function of real variable y [0, 1[. Possible encoding: binary coding string

SGA genetic operators (1) Recombination or Crossover: cross-combination of two chromosomes (loosely resembling biological crossover) 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1

SGA genetic operators (2) Mutation: each gene has probability p M of being modified ( flipped ) 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1

SGA genetic operators (3) Proportional selection: the probability for an individual to be chosen is proportional to its fitness. Usually represented as a roulette wheel. 5% 10% 10% 25% 50% I 1 50 I 2 25 I 3 10 I 4 10 I 5 5

Genetic operators (4) Generational replacement: The new generation replaces entirely the old one. Advantage: very simple, computationally not expensive, easier theoretical analysis. Disadvantage: it might be that good solutions are not maintained in the new population.

SGA: High-level algorithm Initialize Population Evaluate Population while Termination conditions not met do while New population not completed do Select two parents for mating Apply crossover Apply mutation to each new individual end while Population New population Evaluate Population end while

Termination conditions Execution time limit reached. Satisfactory solution(s) have been obtained. Stagnation (limit case: the population converged to the same individual)

Why does it work? Intuition: Crossover combines good parts from good solutions (but it might achieve the opposite effect). Mutation introduces diversity. Selection drives the population toward high fitness.

Fitness Landscape Representation of the space of all possible genotypes, along with their fitness.

Fitness Landscape The metaphor of landscape should be taken cum grano salis. One operator, one landscape. In some cases fitness landscapes are dynamic. Landscape intuition might be misleading, because it might implicitly suggest a metric in the search space that actually does not exsist.

Schemata and building blocks Holland explains (also theoretically, but with strong hypotheses) why the SGA works Two basic elements: Schemata Building blocks

Schemata A schema is a kind of mask: 001 1 0 The symbol represents a wildcard: both 0 and 1 fits So, 1 0 represents 100 and 110

Building blocks A building block is a pattern of contiguous bits HP: good solutions are composed of good building blocks The crossover puts together short building blocks and destroys large ones

Implicit parallelism Every individual corresponds to a set of schemata The number of the best schemata increases exponentially The solution space is searched through schemata (hence implicit parallelism)

Implicit parallelism A SGA works well if: 1 Short good building blocks (correlate genes are adjacent) 2 Loose interaction among genes (low epistasis)

Example

The Prisoner s Dilemma Axelrod and The Prisoner s Dilemma Game strategies evolved through genetic algorithms. Dynamic environment (a player plays against other different players). Best strategy evolved by GA is the best human strategy. Analysis of the arising of cooperation.

The Prisoner s Dilemma The two players in the game can choose between two moves, either cooperate or defect. Each player gains when both cooperate, but if only one of them cooperates, the other one, who defects, will gain more. If both defect, both lose (or gain very little) but not as much as the cheated cooperator whose cooperation is not returned.

The payoff matrix Cooperate Defect Cooperate R,R S,T Defect T,S P,P T: Temptation to defect R: Reward for mutual cooperation P: Punishment for mutual defection S: Sucker s payoff HP: T > R > P > S ; 2 R > T + S

Problem encoding Suppose that the memory of each player is one previous move. E.g., player A cooperated and player B defected becomes: CD. The strategy is defined with a move for each possible past move. E.g.: If CC then C If CD then D If DC then C If DD then D the string is CDCD Tit for tat strategy (winner).

SGA: pros and cons Pros: Extremely simple. General purpose. Tractable theoretical models. Cons: Coding is crucial. Too simple genetic operators.

A general GA Solution coding (e.g., bit strings, programs, arrays of real variables, etc.) Define a way for evaluating solutions (e.g., objective function value, result of a program, behavior of a system, etc.) Define genetic operators. Mutation is always necessary, while crossover can be omitted.

Mutation Learning applied to modify the chromosome In optimization, hill-climbing or more complex local search algorithms can be applied

Examples of crossover Recombination: Multi-point crossover (recombination of more than 2 pieces of chromosomes) Multi-parent crossover (the genetic material of a new individual is taken from more than 2 parents) Uniform crossover (children created by randomly shuffling the parent variables at each site)

Multi-point crossover 1 1 0 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0

Multi-parent crossover 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0

Toward less simple GA Selection: Different probability distribution (e.g., probability distribution based on the ranking of individuals) Tournament Selection (iteratively pick two or more individuals and put in the mating pool the fittest)

Ex: real valued variables - Solution: x [a, b], a, b R - Mutation: random perturbation x x ± δ, accepted if x ±δ [a, b] - Crossover: linear combination z = λ 1 x +λ 2 y, with λ 1,λ 2 such that a z b.

Example: permutations - Solution: x = (x 1, x 2,..., x n ) is a permutation of (1, 2,..., n). - Mutation: random exchange of two elements in the n-ple. - Crossover: like 2-point crossover, but avoiding value repetition.

Eight Queens Place 8 queens on a 8 8 chessboard in such a way that the queens cannot attack each other.

Eight Queens Genotype: a permutation of the numbers 1 through 8 3 2 4 6 5 8 7 1

Eight Queens Mutation: swap two numbers 1 2 1 3 5 4 8 7 1 2 4 3 5 1 8 7

Eight Queens Crossover: combine two parents 1 3 5 2 6 4 7 8 1 3 5 4 2 8 7 6 8 7 6 5 4 3 2 1 8 7 6 2 4 1 3 5

Eight Queens Fitness: penalty of a queen is the number of queens it can check. The fitness of the configuration is the sum of the single penalties.

Genetic Programming Can be seen as a variant of GA: individuals are programs. Used to build programs that solve the problem at hand ( specialized programs). Extended to automatic design in general (e.g., controllers and electronic circuits). Fitness is given by evaluating the performance of the program (based upon some defined criterion).

Genetic Programming In most of the cases, individuals are represented as trees, which encode programs. + 1 2 IF > 3 4 T 6

Operators Mutation: Random selection of a subtree which is substituted by a well formed random generated subtree. + + 1 2 IF 1 2 IF > 3 4 > 3 4 T 6 * 6 Y 2

Crossover: Swap two randomly picked subtrees. Operators + + 1 2 IF 1 2 + > 3 4 5 4 T 6 IF IF < 2 + < 2 IF 5 4 > 3 4 T 6

The realm of GP Black art problems. E.g.,automated synthesis of analog electrical circuits, controllers, antennas, and other areas of design. Programming the unprogrammable, involving the automatic creation of computer programs for unconventional computing devices. E.g.,cellular automata, parallel systems, multi-agent systems, etc.

Coevolution Species evolve in the same environment dynamic environment Two kinds: Competitive Cooperative

Competitive Coevolution Species evolve trying to face each other E.g., prey/predator, herbivore/plants. Applications: ALU design for Cray computer, (pseudo-)random number generator.

Cooperative Coevolution Species evolve complementary capabilities to survive in their environment E.g., host/parasite. Applications: niche genetic algorithms for multi-criteria optimization.

Examples

Evolutionary robotics Robots are controlled by means of neural networks. The neural network is designed by means of an EC technique. The fitness is computed by simulating the robot. The best resulting robot c controller is tested in a real setting.

Evolutionary robotics (taken from D. Floreano and L. Keller, Evolution of Adaptive Behaviour in Robots by Means of Darwinian Selection, PLOS Biology, Jan. 2010, Vol. 8, Issue 1)

NASA antenna design Space Technology 5 Project. Antennas are defined through a LOGO-like programming language. Antenna construction programs are evolved by means of an EC technique.

EC and Artificial Life Tierra Artificial evolution of computer programs (T. Ray, early 90s) Environment: virtual computer Individuals: self-replicating assembler programs Resources: CPU time and memory

Tierra Results of evolution: several kinds of nontrivial behaviors and dynamics parasites immunity to parasites circumvention of immunity to parasites social individuals... and others

Suggested references M.Mitchell. Genetic Algorithms. MIT Press, 1999. D.E.Golberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, 1989. R. Poli, W.B. Langdon, N.F. McPhee, J. Koza. A Field Guide to Genetic Programming, http://www.gp-field-guide.org.uk/ (free download Creative Commons). S. Nolfi and D. Floreano, Evolutionary robotics. The MIT Press, 2000.