Natural Evolution
Requirements for evolution:
Representation
Selection Pressure
Recombination
Natural Evolution
Representation: DNA
Selection Pressure: Survival,
Reproduction (determined implicitly by environment)
Recombination: Mating, Replicating
Natural Evolution:
Panthera leo
Representation:
– Linear DNA – Diploid cells
Selection Pressure:
– Rate of Reproduction
Recombination:
– Sexual reproduction
Diversity
– Prides, with some
Natural Evolution:
Streptococcus pyogenes
Representation:
– Circular DNA – Monoploid cells
Selection Pressure:
– Rate of Reproduction
Recombination:
– Binary fission (asexual)
Diversity
– Very little
Artificial Evolution: Genetic Algorithms
Genetic algorithms are arguably the simplest
class of evolutionary algorithms
GAs make use of simple representation,
reproduction, and diversity mechanisms
These aspects are usually independent of
Artificial Evolution: Genetic Algorithms
Representation: Linear chromosome
(array of values)
Selection Pressure: Explicit fitness
function,
Selection algorithms
Recombination: Crossover, Mutation
Artificial Evolution: Genetic Algorithms
Representation: Linear chromosome
(array of values)
0 1 1 0 1 1 0 1 0 1 0 1
Artificial Evolution: Genetic Algorithms
Representation: Linear chromosome
(array of values)
Artificial Evolution: Genetic Algorithms
Selection Pressure: Explicit fitness
function
Fitness function is problem-specific. The only limits are those of imagination and
practicality.
Artificial Evolution: Genetic Algorithms
Selection Pressure: Selection algorithms
Selection algorithms are usually applied to choose which individuals reproduce…
Artificial Evolution: Genetic Algorithms
Selection Pressure: Selection algorithms
Common selection algorithms include: Roulette wheel selection,
Rank-based selection,
Artificial Evolution: Genetic Algorithms
Recombination: Crossover
Parent 0
Parent 1
Artificial Evolution: Genetic Algorithms
Recombination: Crossover
Parent 0
Parent 1
Child 0
Child 1
Artificial Evolution: Genetic Algorithms
Recombination: Crossover
Parent 0
Parent 1
Child 0
Child 1
Artificial Evolution: Genetic Algorithms
Recombination: Crossover
Parent 0
Parent 1
Child 0
Child 1
Artificial Evolution: Genetic Algorithms
Recombination: Mutation
Parent 0
Point Mutation
Artificial Evolution: Genetic Algorithms
Recombination: Duplication
Parent 0
Used for Elitism
Artificial Evolution: Genetic Algorithms
Diversity: Fixed-size population
Generational GAs use individuals from current generation to create an entirely new
generation of the same size.
GA Example: Noise Reduction
GA Example: Noise Reduction
Reasonable choices:
– Pick a window size of n×n
– Use a real-valued chromosome of length n2
– Use a blending crossover
– Use a modest mutation operator
– Apply mask to noisy images
– Set fitness to the Euclidean distance between
GA Example: Noise Reduction
Would we expect the evolved solution to
work well for B&W noise?
Would we expect the evolved solution to
GA Example: Noise Reduction
“You get what you evolve for!”
So write your fitness function carefully.
GA Example: Noise Reduction
Barring some much more creative way of
using the linear chromosome, we can’t evolve a simple median filter using this representation.
Wouldn’t it be nice if we could evolve
Artificial Evolution: Genetic Programs
Genetic programs are a (slightly) more
complex class of evolutionary algorithms.
The main difference is in the representation,
Artificial Evolution: Genetic Programs
Representation: Program tree
Artificial Evolution: Genetic Programs
Representation: Program tree
The user must specify a function set and a terminal set.
1
^ if ~ x y z
v | 0
Artificial Evolution: Genetic Programs
Representation: Program tree
Chromosome can be Boolean-valued, integer-valued, real-integer-valued, complex-integer-valued, etc.
Artificial Evolution: Genetic Programs
Representation: Program tree
Chromosome can also be strongly-typed:
Artificial Evolution: Genetic Programs
Selection Pressure: Explicit fitness
function
– Problem specific, same as GA
Selection Pressure: Selection algorithms
Artificial Evolution: Genetic Programs
Recombination: Crossover
Artificial Evolution: Genetic Programs
Recombination: Crossover
Artificial Evolution: Genetic Programs
Recombination: Crossover
Artificial Evolution: Genetic Programs
Recombination: Mutation
Parent 0 Child 0
Grow an entire
Artificial Evolution: Genetic Programs
Diversity: Population
GP Example: Landslide Detection
From Rosin and Hervás’ 2002 paper
Image Thresholding for Landslide Detection by Genetic
GP Example: Landslide Detection
Focused on the task of identifying landslide
areas in an image using “before” and “after” satellite images from Veneto, Italy.
Desired output is a binary image with the
pixels in the landslide area colored black and all other pixels white.
Previous work using more conventional
GP Example: Landslide Detection
GP Example: Landslide Detection
Representation: Real-valued program tree
Function set: *, +, -, /, abs, sigmoid, min, max
Terminal set: random constants, difference image pixel values, smoothed difference
values, pixel values from various other transforms
GP Example: Landslide Detection
Interpretation: Positive = landslide
Negative = no landslide 0? (not reported in paper)
Fitness function: % of correctly classified pixels Selection algorithms:
Not reported in paper
Recombination:
GP Example: Landslide Detection
Diversity: Generational GP
Population size: 20,000
GP Example: Landslide Detection
Results: best-of-run
s10 is Gaussian
smoothing with st. dev. of 10
o15 is “opened” image
with a 15x15 mask
dt is distance
transformed pixel value
difference is the
GP Example: Landslide Detection
Images from Rosin and Hervás (2002).
GP Example: Landslide Detection
Problems with the methodology:
– Very few details, would be difficult to reproduce
– Only used a portion (3%) of a single image for
training
– Used the same image for evaluation!!!
– Did not report fitness scores for experiments, rely
GP Example: Landslide Detection
Strong points of the research:
– Shows benefit of using pre-processed inputs
– Evolved “better” classifier than the authors were
able to design themselves
– Shows that intuitive understanding of final result is
Concluding points
Evolutionary algorithms such as GP may be
suitable for evolving, rather than designing, image processing algorithms
Evolutionary algorithms are not guaranteed
to produce an optimal solution
Evolutionary algorithms may take a long time
Resources
Dawkins, Richard. 1976. The Selfish Gene. Oxford University
Press, Oxford, UK.
– Introduces Dawkin’s selfish gene theory, which argues that the
gene- not the individual or the species- is the unit of evolutionary selection. Extremely important for understanding natural evolution, with some ramifications for artificial evolution, as well.
Eiben, A.E. and J.E. Smith, ed. 1998. Introduction to
Evolutionary Computing. Springer-Verlag, Berlin, Germany.
– Provides very brief introductions to all of the major classes of
Resources
Goldberg, D.E. 1989. Genetic Algorithms in Search,
Optimization, and Machine Learning. Addison-Wesley.
– The “bible” of the simple GA. Focuses on the Boolean (bit string)
representation and gives theoretic justifications for its success.
Holland, J.H. 1975. Adaptation in Natural and Artificial
Systems. The University of Michigan Press, Ann Arbor, MI.
– From the man who is credited with inventing the genetic algorithm
and birthing the field of evolutionary algorithms. (Though I have read that von Neumann suggested the idea of evolutionary
Resources
Koza, J.R. 1992. Genetic Programming: On the Programming
of Computers by Means of Natural Selection. MIT Press, Cambridge, MA.
– Introduces the genetic program. Some earlier work can arguably
be said to fall under the title “genetic program,” but Koza was the first to treat it as a rigorous methodology. The work is a tour de force in the technique, using GPs to efficiently solve a broad range of problems. 800+ pages, but it reads very quickly.
Koza, J.R. 1992. Genetic Programming II: Automatic Discovery
of Reusable Programs. MIT Press, Cambridge, MA.
– Introduces the automatically defined function. ADFs allow for the
Resources
Rosin, P.L. and J. Hervás. 2002. Image Thresholding for