an introduction to genetic algorithms lecture 2 november, 2010 ivan garibay [email protected]
TRANSCRIPT
04/20/23 University of Central Florida, Department of EECS
2
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
Introduction
04/20/23 University of Central Florida, Department of EECS
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 are inheritable• Species are continuously adapting to their
environment
Basic Evolutionary Process
• Population
• Birth and Dead
• Fitness
• Variational Inheritance
04/20/23 University of Central Florida, Department of EECS
4
04/20/23 University of Central Florida, Department of EECS
5
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)
04/20/23 University of Central Florida, Department of EECS
6
DNA: Information
• DNA molecule is an information structure:– Store information digitally
(chain of nucleotides)– Nucleotide = deoxyribose
sugar + phosphate + Nitrogenous base
– 4 Nitrogenous bases: Adenine, Thymine, Cytosine, Guanine
• DNA is an amazingly efficient, highly specialized structure for information storage, replication, expression and evolution
04/20/23 University of Central Florida, Department of EECS
7
Historical perspective
Evolutionary Computation
Genetic Algorithms
•Holland, 1975•Population based•Crossover and mutation•Study adaptation•Schema Theorem
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
04/20/23 University of Central Florida, Department of EECS
8
GA terminology: from biologyChromosome (string)
genePopulation
individual
Generation i Generation i+1
CrossoverMutation
Genetic Operators
Fitness basedSelection
04/20/23 University of Central Florida, Department of EECS
9
Simple Genetic Algorithm
procedure GAbegin
initialize population;while termination condition not satisfied dobegin
evaluate current population members;select parents from current population;apply genetic operators to selected parents;set offspring equal to current population;
endend
04/20/23 University of Central Florida, Department of EECS
10
Genetic Algorithm Components
• Population of individuals (population)
• Selection Function (birth and dead)
• Fitness Function (fitness)
• Genetic Operators (variational inheritance)
04/20/23 University of Central Florida, Department of EECS
11
Individuals
• Each individual represent a candidate solution• String of ‘1’s and ‘0’ (binary representation GAs)• In general, any information structure can be
subject to evolution (integers, reals, trees, etc.) • Needs to be decoded to have meaning: Genotype
to Phenotype
0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1
allele gene
04/20/23 University of Central Florida, Department of EECS
12
Problem Representation• 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
Rethinking Evolutionary Computation
Genome (DNA) Organisms
Computational Instance of Evolutionary ProblemStructure Solution
Bit String Ordering of cities for TSP
Logo instructions Antena
Genotype toPhenotype
04/20/23 University of Central Florida, Department of EECS
13
Binary Representation
• Example: encoding 4 parameters
• Param1 value = 1000 = 8
• Param2 value = 1011 = 11
• Etc.,
04/20/23 University of Central Florida, Department of EECS
14
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
04/20/23 University of Central Florida, Department of EECS
15
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)
04/20/23 University of Central Florida, Department of EECS
16
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.
– 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 Ps(i) = f(i) / fsum
04/20/23 University of Central Florida, Department of EECS
17
Rank Selection
• Similar to Proportional
• Proportional to their rank instead
• Rank selection is weaker than proportional in diverse populations
• Rank is stronger than proportional in converged populations
Ps(i) = r(i) / rsum
04/20/23 University of Central Florida, Department of EECS
18
Tournament Selection
• Computationally efficient.– Previous methods require 2 passes:
• Compute sum• Calculate expected number of offspring.
– Rank selection also requires a sort.
1. Select two individuals2. Generate a random number, r, 0 ≤ r ≤ 13. If r < k, select the better of the 2 individuals
else, select the worse of the 2 individuals
where k is a parameter.
04/20/23 University of Central Florida, Department of EECS
19
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
04/20/23 University of Central Florida, Department of EECS
20
1101110001100110
1100011001111100
Parent 1:
Parent 2:
Offspring 1
Offspring 2
Crossover point
One-point Crossover
• Simplest form of crossover
• Advantage: Fairly large change in individuals with very little disruption of information
04/20/23 University of Central Florida, Department of EECS
21
Other Crossover Ops
• Two point: select two points and exchange middles
• Uniform: with probability px exchange or not each bit
04/20/23 University of Central Florida, Department of EECS
22
11011100 11011000
Mutation
• Single parent operator
• 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
04/20/23 University of Central Florida, Department of EECS
23
Initialization
• Initial Populations are randomly generated
• Binary case are all randomly generated binary strings