Evolutionary Computation. Lecture 1 January, 2007 Ivan Garibay

Similar documents
Transcription:

Evolutionary Computation Lecture 1 January, 2007 Ivan Garibay igaribay@cs.ucf.edu

Lecture 1 What is Evolutionary Computation? Evolution, Genetics, DNA Historical Perspective Genetic Algorithm Components Individuals, Populations Fitness Selection Genetic Operators Example 2

Introduction Motivation: learn from nature Nature evolve strikingly complex organisms in response to complex environmental adaptation problems with apparent ease Localize and extract principles from nature Apply them to design algorithms 3

Evolution Charles Darwin (1859): On the origin of species by means of natural selection Reproduction does not produce a perfect copy, always minor variations (mutations) Some variations are advantageous some are not Individuals with advantageous variations are more likely to survive and reproduce (natural selection, or the survival of the fittest) The variations and inheritable Species are continuously adapting to their environment 4

Genetics Science of heredity Gregor Mendel (1865): units of inheritance: Genes ( traits ) Organisms form by cells Each cell has information necessary to construct a new organism = genome Genome = set of chromosomes Chromosome = set of genes Genes are DNA segments associated with a characteristic (i.e. eye color) Allele is a particular gene value (blue, black, etc) 5

Rethinking Evolutionary Computation DNA: Information DNA molecule is an information structure: Store information digitally (chain of nucleotides) Nucleotide = deoxyribose sugar + phosphate + Nitrogenous base Nitrogenous bases: Adenine, Thymine, Cytosine, Guanine DNA is an amazingly efficient, highly specialized structure for information storage, replication, expression and evolution 6

Historical perspective Evolutionary Computation Evolutionary Strategies Rechenberg, 1965 Population of two Only mutation Real value parameter optimization Evolutionary Programming Fogel, Owens, and Walsh, 1966 Only mutation Evolving Finite State Machines Genetic Algorithms Holland, 1975 Population based Crossover and mutation Study adaptation Schema Theorem 7

GA terminology: from biology Chromosome (string) Population individual gene Fitness based Selection Crossover Mutation Genetic Operators Generation i Generation i+1 8

Simple Genetic Algorithm procedure GA begin initialize population; while termination condition not satisfied do begin evaluate current population members; select parents from current population; apply genetic operators to selected parents; set offspring equal to current population; end end 9

Genetic Algorithm Components Population of individuals Fitness Function Selection Function Genetic Operators 10

Individuals allele gene 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1 Each individual represent a candidate solution String of 1 s and 0 (binary representation) Could take any other form (tree, integers, etc) Needs to be decoded to have meaning: Genotype to Phenotype 11

Rethinking Evolutionary Computation Problem Representation Genotype to Phenotype Genome (DNA) Computational Evolutionary Structure Bit String Logo instructions Organisms Instance of Problem Solution Ordering of cities for TSP Antena Problem specific Different representations are different problems for a GA Map a string (structure) into a instance of a solution Representation is very important Define the space to be explored Define the space structure: variations are meaningful 12

Binary Representation Example: encoding 4 parameters Param1 value = 1000 = 8 Param2 value = 1011 = 11 Etc., 13

Fitness function Problem specific component Function takes as input an individual (chromosome) Function return a numerical value that determines how good the individual is Natural Selection: fitness function = environment Genetic Algorithm: fitness function is user defined Typically higher is better 14

Selection Survival of the fittest Select the best individuals Based on fitness function Drives exploitation: exploit good genes found so far Multiple Types Proportional Rank Tournament (most used) 15

Fitness proportional Selection Holland, 1975. Expected number of times an individual is selected to reproduce is proportional to its fitness relative to the total population fitness. P s (i) = f(i) / f sum where f(i) is the fitness of individual i and f is the sum of fitness of all individuals in a pop. Actual number of offspring may be far from expected number 16

Rank Selection Similar to Proportional Proportional to their rank instead P s (i) = r(i) / r sum Rank selection is weaker than proportional in diverse populations Rank is stronger than proportional in converged populations 17

Tournament Selection 1. Select two individuals 2. Generate a random number, r, 0 r 1 3. If r < k, select the better of the 2 individuals else, select the worse of the 2 individuals where k is a parameter. Computationally efficient. Previous methods require 2 passes: Compute sum Calculate expected number of offspring. Rank selection also requires a sort. 18

Genetic Operators Crossover Biologically inspired Combine genes from two individuals to form an off-spring (sexual reproduction) Mutation Biologically inspired DNA is copied with errors = mutations Most of the time mutation = problem Some times = advantage 19

One-point Crossover Simplest form of crossover Advantage: Fairly large change in individuals with very little disruption of information Parent 1: Parent 2: 11011100 01100110 11000110 01111100 Offspring 1 Offspring 2 Crossover point 20

Other Crossover Ops Two point: select two points and exchange middles Uniform: with probability px exchange or not each bit 21

Mutation Single parent operator 11011100 11011000 Mutation rate (M) is per bit Mutation rate per individual = M * L (individual length) As a start: M = 1/L per bit Issues Low mutation rate: minimal exploration High mutation rate: too disruptive 22

Initialization Initial Populations are randomly generated Binary case are all randomly generated binary strings 23

GA Convergence 24

Termination Criteria Found solution Number of generations Stagnation no more fitness improvement 25

A GA by hand Onemax problem: Maximize the number of ones Population (0) (0) 11001111 (1) 00100010 (2) 11100100 (3) 10011000 (4) 01100100 (5) 00001001 Fitness [6] [2] [4] [3] [3] [2] 20/6 = 3.33 26

A GA by hand Onemax problem: Maximize the number of ones Population (0) 11001111 (1) 00100010 (2) 11100100 (3) 10011000 (4) 01100100 (5) 00001001 Fitness [6] [2] [4] [3] [3] [2] Selected parents (2) 11100100 [4] (0) 11001111 [6] (0) 11001111 [6] (4) 01100100 [3] (0) 11001111 [6] (1) 00100010 [2] 27

A GA by hand Onemax problem: Maximize the number of ones Selected parents X After crossover M (2) 11100100 [4] (0) 11001111 [6] (0) 11001111 [6] (4) 01100100 [3] (0) 11001111 [6] (1) 00100010 [2] 3 6 5 11101111 11000100 11001100 01100111 11001010 00100111 7 3-2 5 0 28

A GA by hand Onemax problem: Maximize the number of ones After crossover M After mutation Fitness 11101111 11000100 11001100 01100111 11001010 00100111 7 3-2 5 0 11101110 11010100 11001100 01000111 11001110 10100111 [6] [4] [4] [4] [5] [5] 28/6 = 4.67 29

A GA by hand Onemax problem: Maximize the number of ones Population (0) Fitness Population (1) Fitness (0) 11001111 (1) 00100010 (2) 11100100 (3) 10011000 (4) 01100100 (5) 00001001 [6] [2] [4] [3] [3] [2] 11101110 11010100 11001100 01000111 11001110 10100111 [6] [4] [4] [4] [5] [5] 20/6 = 3.33 28/6 = 4.67 30

Questions? 31