BUGBUG: FORMAT SLIDE – BACKGROUND – PERHAPS TAKE

Download Report

Transcript BUGBUG: FORMAT SLIDE – BACKGROUND – PERHAPS TAKE

RAJ ASHAR
CAS/GRS COMPUTER SCIENCE
CS 591: ALGORITHMS FOR THE
NEW AGE
DECEMBER 9 , 2002
Instructor: Prof. Shang-Hua Teng
Evolutionary Algorithms
Opaque means to clearly-good solutions
Agenda
 Background
 General Evolutionary Algorithm (EA)
 Evolutionary Operators
 EA classes
 Ants Demo
Evolution from a CS Perspective:
Part I
 Population’s individuals compete for an environment’s
finite resources
 Genetic composition determines success
 Goal: Be a
 Survival: black-box objective function
 Environment dictates black-box’s inner workings
 Surprise: Evolution itself requires diversity
Evolution from a CS Perspective:
Part II
 NOT a purely-stochastic event
 1017 seconds to winnow through ~1019,500,000
possible genotypes
 Extremely unlikely that random search would
optimize survival functions
 Nature adapts, not optimizes, but …
 Optima do exist
 Nature’s success piques CS curiosity
Why Evolution?
 Process complements traditional search and
optimization techniques
 Copes well with noisy, inaccurate, incomplete
data
 Highly-parallelized
 Potentially multiple solutions to same problem
 Does not require in-depth problem knowledge
 Awesome proof of concept
Computation, Meet Evolution
 Evolutionary computation
 Evolutionary Algorithms (EAs)
EA Basics
 Seek high-”fitness” structures
 Each structure encoded as a chromosome
 Genes make up chromosome
 Each gene represents value for some parameter
EA Flowchart
General EA Pseudocode
 Generate [P(0)]
t=0
WHILE NOT Termination_Criterion [P(t)]
DO Evaluate [P(t)]
P' (t) = Select [P(t)]
P''(t) = ApplyReproductionOperators [P'(t)]
P(t+1) = Replace [P(t), P''(t)]
t = t + 1 END
RETURN Best_Solution
Evolutionary Operators
 Selection
 Recombination
 Mutation
 Reinsertion
Selection Operation
 Selection Idea:
 Compute each individual’s fitness level
 Rank-based methods only: weight each individual’s
reproduction probability by rank
 Select which individuals shall mate
 Several selection methods exist
 Concerns
 Maintain Population Diversity
 Improve Overall Fitness
 Spread
Tournament Selection
 For Nind iterations:
 Randomly choose Tour number of individuals
from the population for a group G.
 Select the objectively-fittest individual from G
for reproduction.
 Tour may range from [2, Nind]
 Generates “uniform at random offspring,”
 Attempts to mimic “stags rut to vie for the
privilege of mating with a herd of hinds.”
Truncation Selection
 Pick top Trunc percent of population to reproduce
 Produces uniform at random offspring
 Artificial selection method
Ranking Methods
 Compare individuals’ fitness
 Proportional fitness assignment
 Assigns each individual I ’s reproduction
probability proportionally to I ’s fitness, and
normalizes all probabilities to the unity
 Scales poorly
 Rank-based fitness assignment
 Sorts population according to individual fitness
 More robust than proportional fitness
assignment
Rank-Based Selection
 Pos = individual’s ranked position
 SP = selective pressure
 Two weighting formulae:
 Linear ranking: Fitness(Pos) = 2 - SP + 2·(SP - 1)·(Pos 1) / (Nind - 1)
 SP may assume a value in [1.0, 2.0].
 non-linear ranking: Fitness(Pos) = Nind·X(Pos - 1) /
Σ(X(i - 1)); i = 1:Nind
 X stands for the root of the polynomial
0 = (SP - 1)·X(Nind - 1) + SP·X(Nind - 2) + ... + SP·X + SP
Comparing Ranking Formulae
 Read right to left (position vs. fitness assignment)
 Nonlinear increases weight more quickly with
position
 Better for smaller populations
Roulette wheel selection
 Roulette wheel selection
 Map each individual to segments of a continuous line
“such that each individual's segment is equal in size to its
fitness” by rank
 Highest-ranked individual enjoys the largest line
segment
 Lowest-ranked individual occupies no line segment.
 MatingPopulation, the number of individuals to
reproduce:
 For MatingPopulation iterations:
 Generate a random number from independent sampling
and a uniform distribution.
 Select for reproduction “individual whose segment spans
the random number”.
Stochastic universal sampling
 Like Roulette wheel sampling, but differs slightly
 NPointer = number of individuals to select
 Place NPointer equally-spaced pointers over the line
 Each pointer at 1/NPointer distance from another pointer.
 Randomly generate number r within the range [0,
1/NPointer],
 Place first pointer at r and every pointer thereafter at
1/NPointer distance from the previous pointer
 Select for reproduction each individual whose line
segment receives a pointer.
 Zero bias and minimum spread
Recombination
 Two categories
 Real-valued recombination
 Binary recombination
 Discrete recombination algorithm
 Applies to both categories
 Exchanges gene values between individuals
parent 1
parent 2
mask 1
mask 2
12
123
25
4
5
34
2
1
2
2
1
1
offspring 1
offspring 2
123
12
4
4
5
5
Real-valued recombination
 Intermediate-value recombination
 Set offspring value according to
offspring = parent 1 + α(parent 2 - parent 1)
 α = scaling factor chosen uniformly at random
over an interval [-d, 1 + d]
 α differs for each gene
 d = 0.25 represents a good choice.
parent 1
12 25
5
parent 2 123
4 34
sample 1
0.5 1.1 -0.1
sample 2
0.1 0.8 0.5
offspring 1
offspring 2
67.5 1.9 2.1
23.1 8.2 19.5
Discrete recombination
 Single-point crossover
 Randomly choose a gene at which to juxtapose
two chromosomes
parent 1
parent 2
0 1 1 1 0 0 1 1 0 1 0
1 0 1 0 1 1 0 0 1 0 1
crossover position
5
offspring 1
offspring 2
0 1 1 1 0| 1 0 0 1 0 1
1 0 1 0 1| 0 1 1 0 1 0
Mutation
 Adds “small random values,” bounded by a
mutation step value, to randomly chosen
genes
 Probability of chromosomal mutation
inversely proportional to the number of
genes
 Again, two categories
 Real-valued recombination
 Binary recombination
Reinsertion
 Introducing offspring to population
 Questions
 Add all offspring, or just fittest offspring
 Replace all parents, least-fit parents, randomlychosen parents
 Two categories based on selection methods
 Local reinsertion
 Global reinsertion
Genetic Algorithms
 Fixed-size chromosome encodes parameter values
 Genetic operations and fitness measures improve
population
 At each iteration,
 GA evaluates fitness of each individual
 Creates new population by performing operations such
as crossover, fitness-proportionate reproduction and
mutation measured
 Replaces entirely the previous population with the
offspring.
 Useful in solving multidimensional optimization
problems
 Maximize low-orbit satellite Earth coverage
Genetic Programming
 Extends genetic learning to programming
 Population consists of variable-length programs
 Represented as parse trees
 When executed, solve the given problem
 Crossover involves exchanging random subtrees
 Mutation generally does not take place
 Already, “human competitive” results
 Among others, “Creation of a cellular automata rule for the majority
classification problem that is better than the Gacs-Kurdyumov-Levin
(GKL) rule and all other known rules written by humans”
Evolutionary Strategies
 Capable of solving high dimensional, multimodal, nonlinear
problems subject to linear and/or nonlinear constraints.
 Objective function can also be the result of a simulation, and does
not have to be given in a closed form.
 Two strategies:
 plus strategy: reinserts parents and children based on fitness. Plus
strategy departs from reality in theoretically allowing an individual
to remain within the population for perpetuity.
 comma strategy: perform only selection on the offspring, and replace
all parents with the selected offspring.
 Individual
 Object variables
 Strategy variables
 Requires knowledge of probability theory and applied
statistics
Evolutionary Programming
 Strategy for stochastic optimization
 No constraint on representation
 Perturbs offspring chromosomes during
reproduction
 Does not use crossover
 Degree of mutation depends on degree of
functional change imposed by parents
 Stochastic tournament to determine reinsertion
 Open questions?
 Complexity
 Why do these methods work?
Ants!
 Genetic algorithm
 Can alter parameters
 Proof of concept for systems?