Chapter 9: Genetic Algorithms

Similar documents
Genetic Algorithms. Chapter 3

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Artificial Intelligence Application (Genetic Algorithm)

Genetic Algorithms. Kang Zheng Karl Schober

METAHEURISTICS Genetic Algorithm

On the sampling property of real-parameter crossover

Genetic Algorithms Presented by: Faramarz Safi (Ph.D.) Faculty of Computer Engineering Islamic Azad University, Najafabad Branch.

Heuristic Optimisation

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

Mutations for Permutations

Genetic Algorithms Variations and Implementation Issues

Evolutionary Computation. Chao Lan

Genetic Algorithms for Vision and Pattern Recognition

Introduction to Genetic Algorithms. Genetic Algorithms

METAHEURISTIC. Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal.

Advanced Search Genetic algorithm

Differential Evolution

Introduction to Optimization

What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool

Introduction to Optimization

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Evolutionary Computation Part 2

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

CS5401 FS2015 Exam 1 Key

Distributed Probabilistic Model-Building Genetic Algorithm

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

Computational Intelligence

Neural Network Weight Selection Using Genetic Algorithms

Pseudo-code for typical EA

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

The Parallel Software Design Process. Parallel Software Design

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Part II. Computational Intelligence Algorithms

Similarity Templates or Schemata. CS 571 Evolutionary Computation

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

GENETIC ALGORITHM with Hands-On exercise

The Genetic Algorithm for finding the maxima of single-variable functions

Evolutionary Algorithms. CS Evolutionary Algorithms 1

CHAPTER 4 FEATURE SELECTION USING GENETIC ALGORITHM

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Introduction to Genetic Algorithms

Preliminary Background Tabu Search Genetic Algorithm

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

[Premalatha, 4(5): May, 2015] ISSN: (I2OR), Publication Impact Factor: (ISRA), Journal Impact Factor: 2.114

Outline. CS 6776 Evolutionary Computation. Numerical Optimization. Fitness Function. ,x 2. ) = x 2 1. , x , 5.0 x 1.

Lecture 6: Genetic Algorithm. An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved

NICHING EVOLUTIONARY ALGORITHMS FOR MULTIMODAL AND DYNAMIC OPTIMIZATION

CHAPTER 4 GENETIC ALGORITHM

Escaping Local Optima: Genetic Algorithm

Improving resiliency using graph based evolutionary algorithms

Introduction to Evolutionary Computation

OPTIMIZATION METHODS. For more information visit: or send an to:

DERIVATIVE-FREE OPTIMIZATION

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

Genetic Algorithms. Genetic Algorithms

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

CHAPTER 3.4 AND 3.5. Sara Gestrelius

Adaptive Elitist-Population Based Genetic Algorithm for Multimodal Function Optimization

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

The k-means Algorithm and Genetic Algorithm

Abstract. 1 Introduction

JavaEvA A Java based framework for Evolutionary Algorithms - Manual and Documentation - Felix Streichert and Holger Ulmer Tech. Report WSI

Local Search. CS 486/686: Introduction to Artificial Intelligence Winter 2016

Introduction to Design Optimization: Search Methods

Hardware Neuronale Netzwerke - Lernen durch künstliche Evolution (?)

Introduction to Optimization

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Using Genetic Algorithms to optimize ACS-TSP

MIC 2009: The VIII Metaheuristics International Conference. A Comparative Study of Adaptive Mutation Operators for Genetic Algorithms

Genetic Algorithms and Genetic Programming Lecture 7

Lecture 6: The Building Block Hypothesis. Genetic Algorithms and Genetic Programming Lecture 6. The Schema Theorem Reminder

EVOLUTIONARY OPTIMIZATION OF A FLOW LINE USED ExtendSim BUILT-IN OPTIMIZER

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Hill Climbing. Assume a heuristic value for each assignment of values to all variables. Maintain an assignment of a value to each variable.

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

Parameterless Genetic Algorithms: Review, Comparison and Improvement

Introduction to Design Optimization: Search Methods

Chapter 14 Global Search Algorithms

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Evolutionary Computation for Combinatorial Optimization

GRASP. Greedy Randomized Adaptive. Search Procedure

An Island Based Hybrid Evolutionary Algorithm for Optimization

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Genetic Programming. Charles Chilaka. Department of Computational Science Memorial University of Newfoundland

Local Search. CS 486/686: Introduction to Artificial Intelligence

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

The study of comparisons of three crossover operators in genetic algorithm for solving single machine scheduling problem. Quan OuYang, Hongyun XU a*

The Continuous Genetic Algorithm. Universidad de los Andes-CODENSA

A motivated definition of exploitation and exploration

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Binary Representations of Integers and the Performance of Selectorecombinative Genetic Algorithms

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Extending MATLAB and GA to Solve Job Shop Manufacturing Scheduling Problems

Transcription:

Computational Intelligence: Second Edition

Contents

Compact Overview First proposed by Fraser in 1957 Later by Bremermann in 1962 and Reed et al in 1967 Popularized by Holland in 1975 Genetic algorithms (GA) focuss on genetic evolution Main driving operators: Selection, to model survival of the fittest Recombination, to model reproduction, to introduce new genetic material

Components Proposed by Holland, having the following characteristics: A bitstring representation was used Proportional selection was used to select parents One-point cross-over Uniform mutation

About To produce offspring by recombining genetic material from parents Main categories of operators: asexual an offspring is generated from one parent sexual two parents are used to produce one or two offspring multi-recombination more than two parents are use to produce one or more offspring Selection of parents: Use any selection operator occurs at a crossover probability, p c

Selection Issues Consider the following about selection: The same individual may be selected as both parents Same individual may take part in producing more than one offspring Recombination with replacement: If one offspring is generated, it may replace the worst parent Restriction can be imposed that offspring must be better Boltzmann selection can be used to decide if offspring should replace the parent Offspring may replace the worst individual in the population

Binary Representations: Figure 9.1 (a) Uniform (b) One-point

Binary Representations: Figure 9.1 (cont) (c) Two-point

Generic Algorithm for Bitstring s: Algorithm 9.1 Let x 1 (t) = x 1 (t) and x 2 (t) = x 2 (t); if U(0, 1) p c then Compute the binary mask, m(t); for j = 1,..., n x do if m j = 1 then //swap the bits x 1j (t) = x 2j (t); x 2j (t) = x 1j (t); end end end

One-Point/Two-Point Mask: Algorithm 9.2, 9.3 Algorithm 1: One-Point Mask Calculation Select the crossover point, ξ U(1, n x 1); Initialize the mask: m j (t) = 0, for all j = 1,..., n x ; for j = ξ + 1 to n x do m j (t) = 1; end Algorithm 2: Two-Point Mask Calculation Select the two crossover points, ξ 1, ξ 2 U(1, n x ); Initialize the mask: m j (t) = 0, for all j = 1,..., n x ; for j = ξ 1 + 1 to ξ 2 do m j (t) = 1; end

One-Point/Two-Point Mask: Algorithm 9.4 Algorithm 3: Uniform Mask Calculation Initialize the mask: m j (t) = 0, for all j = 1,..., n x ; for j = 1 to n x do if U(0, 1) p x then m j (t) = 1; end end

Multi-Parent Select n p parent vectors Majority mating generates one offspring using { 0 if n x ij (t) = µ n µ /2, l = 1,..., n µ 1 otherwise n µ is the number of parents with x lj (t) = 0 Multi-parent n-point crossover: Select n µ 1 identical crossover points in n µ parents One offspring is generated by selecting one segment from each parent

Hillclimbing Select two parents Continue to produce offspring until an offspring is better than a parent continues with these offspring as the parents If better offspring can not be found within a time limit, the worst parent is replaced with a randomly selected parent.

Floating-point Representation Discrete recombination: One-point, two-point, n-point, uniform crossover Intermediate recombination blends components across selected parents Linear recombination: Select two parents, x 1 (t) and x 2 (t) Generate three offspring: (x 1 (t) + x 2 (t)), (1.5x 1 (t) 0.5x 2 (t)) and ( 0.5x 1 (t) + 1.5x 2 (t)) Select the best two as the offspring

Floating-point Representation (cont) Directional heuristic crossover: x ij (t) = U(0, 1)(x 2j (t) x 1j (t)) + x 2j (t) subject to the constraint that parent x 2 (t) cannot be worse than parent x 1 (t) Arithmetic crossover: Multi-parent recombination One offspring generated using For n µ = 2, then x ij (t) = n µ l=1 γ l x lj (t), n µ l=1 γ l = 1 x ij (t) = (1 γ)x 1j (t) + γx 2j (t), γ [0, 1]

Floating-point Representation (cont) Blend crossover (BLX-α): x ij (t) = (1 γ j )x 1j (t) + γ j x 2j (t) with γ j = (1 + 2α)U(0, 1) α The BLX-α operator randomly picks, for each component, a random value in the range [x 1j (t) α(x 2j (t) x 1j (t)), x 2j (t) + α(x 2j (t) x 1j (t))] BLX-α assumes that x 1j (t) < x 2j (t) BLX-α explores more than arithmetic crossover

Floating-point Representation (cont) Geometrical crossover x ij (t) = (x 1j x 2j ) 0.5 Generalized to multi-parent recombination x ij (t) = (x α 1 1j x α 2 2j... x αnµ n µj ) n µ is the number of parents, and n µ l=1 α l = 1

Floating-point Representation (cont) Simulated binary crossover (SBX): where x 1j (t) = 0.5[(1 + γ j )x 1j (t) + (1 γ j )x 2j (t)] x 2j (t) = 0.5[(1 γ j )x 1j (t) + (1 + γ j )x 2j (t)] (2r j ) 1 η+1 if r j 0.5 γ j = ( ) 1 η+1 otherwise 1 2(1 r j ) r j U(0, 1), and η > 0 is the distribution index Generates offspring symmetrically about the parents No bias to any parent Large values of η higher probability that offspring will be created near the parents Small η values, offspring will be more distant from the parents (1)

Floating-point Representation (cont) Multi-parent crossover: Intensify the explorative capabilities compared to two-parent operators By aggregating information from multiple parents, more disruption is achieved The resemblance between offspring and parents are on average smaller compared to two-parent operators Unimodal distributed (UNDX) operator Two or more offspring are generated using three parents Offspring are created from an ellipsoidal probability distribution One of the axes is formed along the line that connects two of the parents The extent of the orthogonal direction is determined from the perpendicular distance of the third parent from the axis

Floating-point Representation (cont) Generalized UNDX Generalized to work with any number of parents, with 3 n µ n s n µ 1 parents are randomly selected Calculate center of mass, x(t), where x j (t) = n µ 1 l=1 x lj (t) From the mean, n µ 1 direction vectors, are computed d l (t) = x l (t) x(t)

Floating-point Representation (cont) Generalized UNDX (cont) Compute the direction cosines e l (t) = d l (t)/ d l (t) where d l (t) is the length of the vector Select a random parent with index n µ Let x nµ (t) x(t) be the vector orthogonal to all e l (t) Let δ = x nµ (t) x(t) Let e l (t), l = n µ,..., n s be the orthonormal basis of the subspace orthogonal to the subspace spanned by the direction cosines, e l (t), l = 1,..., n µ 1

Floating-point Representation (cont) Generalized UNDX (cont) Offspring are then generated using n µ 1 x i (t) = x(t) + l=1 N(0, σ 2 1) d l e l + n s l=n µ N(0, σ 2 2)δe l (t) 1 σ 1 = and σ 2 = 0.35 nµ 2 ns n µ 2 Any number of offspring can be created, sampled around the center of mass of the selected parents A higher probability is assigned to create offspring near the center rather than near the parents

Floating-point Representation (cont): Figure 9.2 (a) x 1 (t) x(t) x 2 (t) x 3 (t)

Floating-point Representation (cont) Simplex crossover (SPX): Center of mass approach to recombination Select n µ > 2 parents Find the best parent, x 1 (t) Find the worst parent, x 2 (t) Compute center of mass, excluding worst parent Generate one offspring, x(t) = x(t) + (x 1 (t) x 2 (t))

Floating-point Representation (cont): Figure 9.2 (b) x 1 (t) x(t) x 2 (t) x 3 (t)

Floating-point Representation (cont) Parent-centric operator (PCX): Offspring are generated around selected parents Select n µ parents Compute center of mass, x(t) For each offspring, select a random parent, x i (t) Compute direction vector d i (t) = x i (t) x(t) From the other n µ 1 parents, compute perpendicular distances, δ l to the line d i (t) Calculate the average over these distances nµ l=1,l i δ = δ l n µ 1

Floating-point Representation (cont) Parent-centric operator (cont): Offspring is generated using x i (t) = x i (t) + N(0, σ 2 1) d i (t) + n µ l=1,i l N(0, σ 2 2)δe l (t) e l (t) are the n µ 1 orthonormal bases that span the subspace perpendicular to d i (t)

Floating-point Representation (cont): Figure 9.2 (b) x 1 (t) x(t) x 2 (t) x 3 (t)

Floating-point Representation (cont) Diagonal crossover (fig 9.3): A generalization of n-point crossover for more than two parents 1111110000000000000000 11111111111111110000 x 1(t) 1111110000000000000000 11111111111111110000 1111110000000000000000 1111111111111111 01 0000 1111 1111110000000000000000 1111111111111111 01 0000 1111 x 2(t) 1111110000000000000000 1111111111111111 01 0000 1111 1111110000000000000000 11111111111111110000 1111110000000000000000 11111111111111110000 x 3(t) 1111110000000000000000 11111111111111110000 Single offspring Multiple offspring 1111110000000000000000 11111111111111110000 1111100000000000000001111 1111111111111111 1111110000000000000000 11111111111111110000 111110000000000000000 11111111111111110000 1111110000000000000000 11111111111111110000 x 1(t) 000001111111111111111 00000000000000000000 1111 111110000000000000000 11111111111111110000 111110000000000000000 11111111111111110000 x 2(t) 111110000000000000000 11111111111111110000 111110000000000000000 11111111111111110000 111110000000000000000 11111111111111110000 x 3(t) 111110000000000000000 11111111111111110000

About The objective of mutation is to introduce new genetic material into an existing individual Adds diversity to the genetic characteristics of the population Ensures that the full range of allele is accessible for each gene Applied at a mutation probability, p m Given that each gene is mutated at probability p m, the probability that an individual will be mutated is given by Prob( x i (t) is mutated) = 1 (1 p m ) nx

Binary Representations (fig 9.4) (d) Random Mutate (e) Inorder Mutate

Binary Representations: Algorithms 9.6, 9.7 Algorithm 4: Uniform/Random for j = 1,..., n x do if U(0, 1) p m then x ij (t) = x ij(t); end end Algorithm 5: Inorder Select mutation points, ξ 1, ξ 2 U(1,..., n x ); for j = ξ 1,..., ξ 2 do if U(0, 1) p m then x ij (t) = x ij(t); end end

Floating-Point Representations One of the first proposals, using uniform mutation: { x ij(t) xij (t) + (t, x = max,j x ij (t)) if a random digit is 0 x ij (t) + (t, x ij (t) x min,j (t)) if a random digit is 1 (t, x) returns random values from the range [0, x] See the operators in chapters 11 and 12.

Macromutation Headless Chicken Offspring is created by recombining a parent individual with a randomly generated individual Any crossover operator is used to perform the recombination No concept of inheritence Increase in diversity

Effects of Population size rate, p m rate, m c Dynamic mutation rates: rate decreases exponentially with generation number p m (t) = 1 240 + 0.11375 2 t rate per bit, where n b is the most significant bit p m (j) = 0.3528 2 j 1

Effects of (cont) Large initial mutation rate favors exploration As mutation rate decreases, exploitation is favored For floating-point representations, mutation step size influences performance: Large mutational step size large jumps in search space, better exploration Initially large step sizes, with step sizes reduced over time Let step size be proportional to fitness of individual The worse an individual, the larger the mutational step size Best values of parameters, including choice of evolutionary operators, are problem-dependent

Generation Gap Methods Select process can be described by two steps: Parent selection A replacement strategy that decides if offspring will replace parents, and which parents to replace Based on replacement strategy used, two main classes of GAs are identified: Generational genetic algortihms (GGA) Replacement strategy replaces all parents with their offspring after all offspring have been created and mutated No overlap between populations of different generations Steady state genetic algorithms (SSGA) Immediately after an offspring is created and mutated, a replacement strategy is executed Some overlap exists between populations of different generations

Generation Gap Methods: Replacement Strategies The amount of overlap between the current and new populations is referred to as the generation gap Replacement strategies for SSGA: Replace worst, where the offspring replaces the worst individual of the current population Replace random, where the offspring replaces a randomly selected individual of the current population Kill tournament, where the individual to be replaced is selected using tournement selection to select the worst individual Replace oldest, where a first-in-first-out strategy is followed by replacing the oldest individual of the current population

Generation Gap Methods: Replacement Strategies Replacement strategies for SSGA (cont): Conservative selectioncombines a first-in-first-out replacement strategy with a modified deterministic binary tournament selection, where one individual is always the oldest individual Elitist strategies, where the best individual is excluded from selection Parent-offspring competition, where a selection strategy is used to decide if an offspring replaces one of its own parents

Interactive Evolution For some application, for example, evolving art, music, animation, it is not possible to define an absolute fitness function For such applications, subjective judgment is needed, based on human intuition, aesthetical values or taste Interaction of a human evaluator as the fitness function is therefor required Interactive evolution (IE) involves a human user online into the selection and variation processes

Interactive Evolution: Algorithm 9.9 Set the generation counter, t = 0; Initialize the control parameters; Create and initialize the population, C(0), of n s individuals; while stopping condition(s) not true do Determine reproduction operators, either automatically or via interaction; Select parents via interaction; Perform crossover to produce offspring; Mutate offspring; Select new population via interaction; end

Interactive Evolution (cont) Interactive selection step: Requires that the phenotype of individuals be generated from the genotype Phenotype is then visualized Based on the visual representations of candidate solutions, the user selects those individuals that will take part in reproduction User also selects individuals that will survive to the next generation

Island Genetic Algorithms: Figure 9.5 Island 2 Island 1 Island 3 Island 5 Migration Island 4 Visitation

Island Genetic Algorithms (cont) Migration policies specify: A communications topology, which determines the migration paths between islands A migration rate, which determines the frequency of migration If migration occurs too early, the number of good building blocks in the migrants may be too small to have any influence at their destinations Usually, migration occurs when each population has converged After exchange of individuals, all populations are restarted A selection machanism, to decide which individuals will migrate A replacement strategy, to decide which individual of the destination island will be replaced

Island Genetic Algorithms (cont) Based on the selection and replacement strategies, island GAs can be grouped into two classes of algorithms: Static island GAs A topology is used to determine migration paths Dynamic island GAs Migration decisions are made probabilistically Static island GAs: Deterministic selection and replacement strategies A good migrant replaces a bad individual A good migrant replaces a randomly selected individual A randomly selected migrant replaces a bad individual A randomly selected migrant replaces a randomly selected individual

Island Genetic Algorithms (cont) Migrant selection Use any fitness-proportional selection method Elitism to move the best individual to another population Tournament selection tournament sice of two best individual will migrate worst individual will be replaced by a migrant from neighboring population

Island Genetic Algorithms (cont) Dynamic island GAs: Migration occurs at a probability Destination island is probabilistically selected Destination islands may use an acceptance strategy An immigrant is probabilistically accepted if its fitness is better than the average fitness of the island (using, e.g. Boltzmann selection) Initialization of subpopulations: Random initialization, where there will be overlaps in search space Populations to cover different parts of the search space For MOO, one population per subobjective Cooperative coevolutionary GA similar to the cooperative PSO