Evolutionary Computing Slides

Embed Size (px)

Citation preview

  • 8/17/2019 Evolutionary Computing Slides

    1/35

    See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/216300585

    Introduction To Evolutionary Computing

    Book  i n  Natural Computing Series · January 2003

    DOI: 10.1007/978-3-662-05094-1

    CITATIONS

    2,166

    READS

    1,636

    2 authors:

    A. E. Eiben

    VU University Amsterdam

    303 PUBLICATIONS  9,328 CITATIONS 

    SEE PROFILE

    Jim Smith

    University of the West of England, Bristol

    114 PUBLICATIONS  5,159 CITATIONS 

    SEE PROFILE

    Available from: A. E. Eiben

    Retrieved on: 04 May 2016

    https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_7https://www.researchgate.net/profile/Jim_Smith14?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_7https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/institution/VU_University_Amsterdam?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_6https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_5https://www.researchgate.net/publication/216300585_Introduction_To_Evolutionary_Computing?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_3https://www.researchgate.net/publication/216300585_Introduction_To_Evolutionary_Computing?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_3https://www.researchgate.net/?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_1https://www.researchgate.net/profile/Jim_Smith14?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_7https://www.researchgate.net/institution/University_of_the_West_of_England_Bristol?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_6https://www.researchgate.net/profile/Jim_Smith14?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_5https://www.researchgate.net/profile/Jim_Smith14?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_7https://www.researchgate.net/institution/VU_University_Amsterdam?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_6https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_5https://www.researchgate.net/profile/A_Eiben?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_4https://www.researchgate.net/?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_1https://www.researchgate.net/publication/216300585_Introduction_To_Evolutionary_Computing?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_3https://www.researchgate.net/publication/216300585_Introduction_To_Evolutionary_Computing?enrichId=rgreq-ff0a3501-a842-400f-8603-db2a8bb59e73&enrichSource=Y292ZXJQYWdlOzIxNjMwMDU4NTtBUzoxMDIwNjYxMzEzMDg1NTJAMTQwMTM0NTg3MDczMw%3D%3D&el=1_x_2

  • 8/17/2019 Evolutionary Computing Slides

    2/35

    Introduction to

    Evolutionary Computing II

     A.E. EibenFree University Amsterdam

    http://www.cs.vu.nl/~gusz/

    with thanks to the EvoNet Training Committee and its “Flying Circus”

  • 8/17/2019 Evolutionary Computing Slides

    3/35

    A.E. Eiben, Introduction to EC II 2 EvoNet Summer School 2002

    Contents

    The evolutionary mechanism and its

    components

    Examples: the 8-queens problem Working of an evolutionary algorithm

    EC dialects and beyond

     Advantages & disadvantages of EC

    Summary

  • 8/17/2019 Evolutionary Computing Slides

    4/35

    A.E. Eiben, Introduction to EC II 3 EvoNet Summer School 2002

    The main evolutionary cycle

    Population

    ParentsParent selection

    Survivor selectionOffspring

    Recombination

    (crossover)

    Mutation

    Intialization

    Termination

  • 8/17/2019 Evolutionary Computing Slides

    5/35

    A.E. Eiben, Introduction to EC II 4 EvoNet Summer School 2002

    The two pillars of evolution

    Increasing population

    diversity by geneticoperators

    mutation

    recombination

    Push towards novelty

    Decreasing population

    diversity by selection of parents

    of survivors

    Push towards quality

    There are two competing forces active

  • 8/17/2019 Evolutionary Computing Slides

    6/35

    A.E. Eiben, Introduction to EC II 5 EvoNet Summer School 2002

    Components:

    representation / individuals (1)

    Individuals have two levels of existence• phenotype: object in original problem context, the outside

    • genotype: code to denote that object, the inside

    (a.k.a. chromosome, “digital DNA”):

    a d c a a c b

    genotype:phenotype:

    The link between these levels is called representation

  • 8/17/2019 Evolutionary Computing Slides

    7/35

    A.E. Eiben, Introduction to EC II 6 EvoNet Summer School 2002

    Genotype spacePhenotype space

    Encoding

    (representation)

    Decoding

    (inverse representation)

    B 0 c 0 1 c d

    G 0 c 0 1 c d

    R 0 c 0 1 c d

    Components:

    representation / individiuals (2)

  • 8/17/2019 Evolutionary Computing Slides

    8/35

    A.E. Eiben, Introduction to EC II 7 EvoNet Summer School 2002

    Sometimes producing

    the phenotype from the

    genotype is a simple

    and obvious process. Other times the

    genotype might be a set

    of parameters to some

    algorithm, which workson the problem data to

    produce the phenotype

    Problem

    DataGenotype

    Phenotype

    Growth

    Function

    Components:

    representation / individuals (3)

  • 8/17/2019 Evolutionary Computing Slides

    9/35

    A.E. Eiben, Introduction to EC II 8 EvoNet Summer School 2002

    Components:

    representation / individuals (4)

    • Search takes place in the genotype space

    • Evaluation takes place in the phenotype space

    • Repr: Phenotypes  Genotypes

    • Fitness(g) = Value(repr -1(g))

    • Repr must be invertible, in other words decoding must be

    injective (Q: surjective?)

    • Role of representation: defines objects that can be

    manipulated by (genetic) operators

    • Note back on Darwinism: no mutations on phenotypic

    level! (right term: small random variations)

  • 8/17/2019 Evolutionary Computing Slides

    10/35

    A.E. Eiben, Introduction to EC II 9 EvoNet Summer School 2002

    Components: evaluation, fitness

    measure

    Role:• represents the task to solve, the requirements to adapt to

    • enables selection (provides basis for comparison)

    Some phenotypic traits are advantageous, desirable,e.g. big ears cool better,

    These traits are rewarded by more offspring that willexpectedly carry the same trait

  • 8/17/2019 Evolutionary Computing Slides

    11/35

    A.E. Eiben, Introduction to EC II 10 EvoNet Summer School 2002

    Components: population

    Role: holds the candidate solutions of the problem asindividuals (genotypes)

    Formally, a population is a multiset of individuals,

    i.e. repetitions are possible

    Population is the basic unit of evolution,

    i.e., the population is evolving, not the individuals

    Selection operators act on population level

    Variation operators act on individual level

  • 8/17/2019 Evolutionary Computing Slides

    12/35

    A.E. Eiben, Introduction to EC II 11 EvoNet Summer School 2002

    Components: selection

    Role:

    Gives better individuals a higher chance of becoming parents

    surviving

    Pushes population towards higher fitness

    E.g. roulette wheel selection

    fitness(A) = 3

    fitness(B) = 1

    fitness(C) = 2

     A C

    1/6 = 17%

    3/6 = 50%

    B

    2/6 = 33%

  • 8/17/2019 Evolutionary Computing Slides

    13/35

    A.E. Eiben, Introduction to EC II 12 EvoNet Summer School 2002

    Components: Mutation

    Role: causes small (random) variance

    before

    1 1 1 0 1 1 1after 

    1 1 1 1 1 1 1

  • 8/17/2019 Evolutionary Computing Slides

    14/35

    A.E. Eiben, Introduction to EC II 13 EvoNet Summer School 2002

    Components: Recombination

    1 1 1 1 1 1 1 0 0 0 0 0 0 0parents

    cut cut

    1 1 1 0 0 0 0 0 0 0 1 1 1 1offspring

    Role: combines features from different sources

  • 8/17/2019 Evolutionary Computing Slides

    15/35

    A.E. Eiben, Introduction to EC II 14 EvoNet Summer School 2002

    Place 8 queens on an 8x8 chessboard in

    such a way that they cannot check each other 

    Example: the 8 queens problem

  • 8/17/2019 Evolutionary Computing Slides

    16/35

    A.E. Eiben, Introduction to EC II 15 EvoNet Summer School 2002

    The 8 queens problem

    Representation

    1 23 45 6 7 8

    Genotype:a permutation of

    the numbers 1 - 8

    Phenotype:

    a board configuration

    Obvious mapping

  • 8/17/2019 Evolutionary Computing Slides

    17/35

    A.E. Eiben, Introduction to EC II 16 EvoNet Summer School 2002

    Penalty of one queen:

    the number of queens she can check.

    Penalty of a configuration:the sum of the penalties of all queens.

    Note: penalty is to be minimized

    Fitness of a configuration:

    inverse penalty to be maximized

    The 8 queens problem

    Fitness evaluation

  • 8/17/2019 Evolutionary Computing Slides

    18/35

    A.E. Eiben, Introduction to EC II 17 EvoNet Summer School 2002

    The 8 queens problem

    Mutation

    Small variation in one permutation, e.g.:• swapping values of two randomly chosen positions, or 

    • inverting a randomly chosen segment

    1 23 45 6 7 8   1 23 4 567 8

  • 8/17/2019 Evolutionary Computing Slides

    19/35

    A.E. Eiben, Introduction to EC II 18 EvoNet Summer School 2002

    The 8 queens problem

    Recombination

    Combining two permutations into two new permutations:

    • choose random crossover point

    • copy first parts into children

    • create second part by inserting values from otherparent:

    • in the order they appear there

    • beginning after crossover point

    • skipping values already in child

    8 7   6 42 531

    1 3 5 24 678

    8 7   6 45 123

    1 3 5 62 874

  • 8/17/2019 Evolutionary Computing Slides

    20/35

    A.E. Eiben, Introduction to EC II 19 EvoNet Summer School 2002

    Parent selection:

    Roulette wheel selection, for instance

    Survivor selection (replacement)

    When inserting a new child into the population, choosean existing member to replace by:

    sorting the whole population by decreasing fitness

    enumerating this list from high to low

    replacing the first with a fitness lower than the given child

    Note: selection works on fitness values, no need to adjust it

    to representation

    The 8 queens problem

    Selection

  • 8/17/2019 Evolutionary Computing Slides

    21/35

    A.E. Eiben, Introduction to EC II 20 EvoNet Summer School 2002

    Working of an EA

    Phases in optimizing on a 1-dimensional fitness landscape

    Early phase:

    quasi-random population distribution

    Mid-phase:

    population arranged around/on hills

    Late phase:

    population concentrated on high hills

  • 8/17/2019 Evolutionary Computing Slides

    22/35

    A.E. Eiben, Introduction to EC II 21 EvoNet Summer School 2002

    Typical run

    Typical run of an EA shows so-called “anytime behavior”

       B  e  s   t   f   i   t  n  e  s  s   i  n  p  o  p  u   l  a   t   i  o  n

    Time (number of generations)

  • 8/17/2019 Evolutionary Computing Slides

    23/35

    A.E. Eiben, Introduction to EC II 22 EvoNet Summer School 2002

       B  e  s   t   f   i   t  n  e  s  s

       i  n  p  o  p  u   l  a   t   i  o

      n

    Time (number of generations)

    Progress in 1st half 

    Progress in 2nd half 

    Long runs?

  • 8/17/2019 Evolutionary Computing Slides

    24/35

    A.E. Eiben, Introduction to EC II 23 EvoNet Summer School 2002

    Time (number of generations)

       B  e

      s   t   f   i   t  n  e  s  s   i  n

      p  o  p  u   l  a   t   i  o  n

    T: time needed to reach level F after random initialisation

    T

    F: fitness after smart initialisationF

    Smart initialisation?

  • 8/17/2019 Evolutionary Computing Slides

    25/35

    A.E. Eiben, Introduction to EC II 24 EvoNet Summer School 2002

    Scale of “all” problems

       P  e  r   f  o

      r  m  a  n  c  e  o   f  m  e   t   h

      o   d  s  o  n  p  r  o   b   l  e  m  s

    Random search

    Special, problem tailored method

    Evolutionary algorithm

    Goldberg’89 view

  • 8/17/2019 Evolutionary Computing Slides

    26/35

    A.E. Eiben, Introduction to EC II 25 EvoNet Summer School 2002

    EAs and domain knowledge

    Trend in the 90ies: adding problem specific knowledge

    to EAs (special variation operators, repair, etc)

    Result: EA performance curve “deformation”:

    better on problems of the given type

    worse on problems different from given type

     Amount of added knowledge is variable

  • 8/17/2019 Evolutionary Computing Slides

    27/35

    A.E. Eiben, Introduction to EC II 26 EvoNet Summer School 2002

       P  e  r   f  o

      r  m  a  n  c  e  o   f  m  e   t   h  o   d  s  o  n  p  r  o   b   l  e  m  s

    EA 1

    EA 4

    EA 3EA 2

    Scale of “all” problems

    P

    Michalewicz’96 view

  • 8/17/2019 Evolutionary Computing Slides

    28/35

    A.E. Eiben, Introduction to EC II 27 EvoNet Summer School 2002

    General EA framework and dialects

    There is a general, formal EA framework (omitted here)

    In theory:

    every EA is an instantiation of this framework, thus:

    specifying a particular EA or a type of EAs (a “dialect”)needs only filling in the characteristic features

    In practice

    this would be too formalistic

    there are many exceptions (EAs not fitting into thisframework)

    why care about the taxonomy, or label?

  • 8/17/2019 Evolutionary Computing Slides

    29/35

    A.E. Eiben, Introduction to EC II 28 EvoNet Summer School 2002

    Genetic algorithms &

    genetic programming

    Genetic algorithms (USA, 70’s, Holland, DeJong): Typically applied to: discrete optimization

     Attributed features:

    not too fast

    good solver for combinatorial problems

    Special: many variants, e.g., reproduction models, operators

    Genetic programming (USA, 90’s, Koza) Typically applied to: machine learning tasks

     Attributed features:

    competes with neural nets and alike slow

    needs huge populations (thousands)

    Special: non-linear chromosomes: trees, graphs

    &

  • 8/17/2019 Evolutionary Computing Slides

    30/35

    A.E. Eiben, Introduction to EC II 29 EvoNet Summer School 2002

    Evolution strategies &

    evolutionary programming

    Evolution strategies (Germany, 70’s, Rechenberg, Schwefel) Typically applied to:

    numerical optimization

     Attributed features:

    fast & good optimizer for real-valued optimization

    relatively much theory

    Special: self-adaptation of (mutation) parameters standard

    Evolutionary programming (USA, 60’s, Fogel et al.) Typically applied to: machine learning (old EP), optimization

     Attributed features:

    very open framework: any representation and mutation op’s OK

    Special:

    no recombination

    self-adaptation of parameters standard (contemporary EP)

  • 8/17/2019 Evolutionary Computing Slides

    31/35

    A.E. Eiben, Introduction to EC II 30 EvoNet Summer School 2002

    Beyond dialects

    Field merging from the early 1990’s

    No hard barriers between dialects, manyhybrids, outliers

    Choice for dialect should be motivated by givenproblem

    Best practical approach: choose representation,operators, population model, etc. pragmatically(and end up with an “unclassifiable” EA)

    There are general issues for EC as a whole

  • 8/17/2019 Evolutionary Computing Slides

    32/35

    A.E. Eiben, Introduction to EC II 31 EvoNet Summer School 2002

     Advantages of EC

    No presumptions w.r.t. problem space

    Widely applicable

    Low development & application costs

    Easy to incorporate other methods

    Solutions are interpretable (unlike NN) Can be run interactively, accommodate user

    proposed solutions

    Provides many alternative solutions

    Intrinsic parallelism,straightforward parallelimplementations

  • 8/17/2019 Evolutionary Computing Slides

    33/35

    A.E. Eiben, Introduction to EC II 32 EvoNet Summer School 2002

    Disadvantages of EC

    No guarantee for optimal solution within

    finite time

    Weak theoretical basis May need parameter tuning

    Often computationally expensive, i.e. slow

  • 8/17/2019 Evolutionary Computing Slides

    34/35

    A.E. Eiben, Introduction to EC II 33 EvoNet Summer School 2002

    The performance of EC

     Acceptable performance at acceptable costs on a wide rangeof problems

    EC niche (where supposedly superior to other techniques):

    complex problems with one or more of the following features

    many free parameters

    complex relationships between parameters

    mixed types of parameters (integer, real)

    many local optima

    multiple objectives noisy data

    changing conditions (dynamic fitness landscape)

  • 8/17/2019 Evolutionary Computing Slides

    35/35

    A E Eiben Introduction to EC II 34 EvoNet Summer School 2002

    Summary

    Evolutionary Computation:

    is a method, based on biological metaphors,

    of breeding solutions to problems

    has been shown to be useful in a number of

    areas

    could be useful for your problem

    its easy to give it a try

    is FUN