Evolutionary Computation
A Unified Approach
Kenneth A. De Jong
A Bradford Book
The MIT Press
Cambridge, Massachusetts
London, England
Contents
 Introduction
                                                           2
 1.1 Basic Evolutionary Processen
                                                            3
 1.2 EV: A Simple Evolutionary System
 1.3 E V oii a Simple Fitness Landscape                ö
 1.4 EV on a Morc Complcx Fitness Landscape           15
                                                      19
 1.5 Evolutionary Systems as Problem Solvers
                                                      Ol
 1.6    Exerciscs
                                                      2 3
 A Historical Perspective
 2.1 Early Algorithmic Views                          -'^
                                                       24
 2.2 T h e Catalytie 1960s
                                                      2r
 2.3 T h e Explorativc 1970s                            >
                                                       2o
     2.3.1 Evolutionary P r o g r a m m i n g
                                                      2,r
     2.3.2 Evolution Strategies                            >
                                                       26
     2.3.3 Genetic Algorithms
                                                       27
 2.4 T h e Exploitativc 1980s
                                                       27
     2.4.1. Optimization Applications
                                                       28
     2.4.2 Other E A Applications
     2.4.3 S u m m a r y
                                                       29
 2.5 T h e Unifying 1990s
                                                       2
 2.6 The Twenty-hrst Century: M a t u r e Expansion         9
 2.7 Summary
                                                       3 3
 Canonical Evolutionary Algorithms
                                                       33
 3.1 Introduction
                                                       33
 3.2 EV(m.n)
 3.3 Evolutionary P r o g r a m m i n g                '"
                                                       A6
 3.4 Evolution Strategies
                                                       40
 3.5 Genetic Algorithms
     3.5.1 Multi-parcnt Rcproduction                   41
                                                        43
     3.5.2 Universal Genetic Codes
                                                       47
  3.6    Summary
                                                                                          CONTENTS
 A Unifled View of Simple EAs                                                                     49
 4.1 A Common Framework                                                                            jo
 4.2 Population Sizc                                                                              r ,,
     4.2.1 Parcnt Population Sine m                                                               50
     4.2.2 Oftspring Population Sizc n                                                            52
 4.3 Sclection                                                                                    -,,
                                                                                                  o4
      4.3.1 Choosing Selection MechaiÜHins                                                        5g
      4.3.2 Survival Sclection: A Special Gase                                                    59
      4.3.3 Sclection Summary                                                                     gg
 4.4 Repioductive Mechanisms                                                                      ßi
      4.4.1 Mutation                                                                            ,.-,
      4.4.2 Recombinatiou                                                                        £•>
      4.4.3 Crossover or Mutation?                                                               gg
      4.4.4 Representation Lssucs                                                                57
      4.4.5 Clioosiiig Effeetivc Repioductive Meclianisms                                        68
 4.5 Summary                                                                                    f.q
Evolutionary Algorithms as Problem Solvers                                                      71
5.1 Simple EAs as Parallel Adaptive Search                                                       j[
     5.1.1 Representation                                                                        72
            5.1.1.1 Fixed-Length Linear Objects                                                 73
            5.1.1.2 Nonlincar Objects                                                           73
            5.1.1.3 Variable-Length Objects                                                     74
            5.1.1.4 Nonlinear, Variable-Lcngth Objects                                          75
     5.1.2 Reproductive Operators                                                               7,5
     5.1.3 Objective Fitness Evaluation                                                         7g
     5.1.4 Population Sizes and Dynamics                                                        77
     5.1.5 Convergcnce and Stopphig Criteria                                                    78
     5.1.6 Retuniing an Answer                                                                  70
     5.1.7 Summary                                                                              on
5.2 EA-based Optimization                                                                       on
     5.2.1   O P T - E A s                       '•'.'•'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.          W
             5.2.1.1 Fitness Scaling                                                             ^1
             5.2.1.2 Convergcnce and Elitism                                                     g2
             5.2.1.3 Summary                                                                     ^3
    5.2.2    Parameter Optimization                                                              ^3
             5.2.2.1 Pheiiotypic Representations and Operators                                  84
             5.2.2.2 Genotypic Representations and Operators                                    $4
             5.2.2.3 Clioosiiig Representations and Operators                                   85
             5.2.2.4 Beal-Valued Parameter Optimization                                         85
             5.2.2.5 Integer-Valued Parameter Optimization                                      93
             5.2.2.6 Symbolic Parameter Optimization                                            95
             5.2.2.7 Non-liomogencons Parameter Optimization                                    97
    5.2.3    Constraiiied Optimization                                                          97
    5.2.4    Data Structure Optimization                                                       1 Q.Q
                                                                                 vii
CONTENTS
            5.2.4.1 Variablc-Length Data Structurcs                             102
      5.2.5 Multi-objective Optlmization                                        103
      5.2.6 Summary                                                             LM
  5.3 EA-Based Soarch                                                           1()5
                                                                                ]
  5.4 EA-Based Macliine Learning                                                  07
  5.5 EA-Based Automatcd Programming                                            109
      5.5.1 Represcntmg Programs                                                109
      5.5.2 Evaluatmg Programm                                                  HO
      5.5.3 Summary                                                              H2
  5.6 EA-Bascd Adaptation                                                        H2
  5.7 Summary                                                                     H3
6 Evolutionary Computation Theory                                               115
                                                                                 u
  6.1 Inlroductioii                                                                5
  6.2 Analyzing EA Dynamics                                                       H'
  6.3 Sclcction-Only Models                                                      120
       6.3.1 Noii-overlapping-Gencration Models                                  120
               6.3.1.1 Uniform (Neutral) Selection                               121
               6.3.1.2 Fitness-Biased Selection                                  123
               6.3.1.3 Non-overlapping-Generation Models with n ^ m              132
       6.3.2 Ovcrlapping-Generation Models                                       134
               6.3.2.1 Uniform (Neutral) Selection                               135
               6.3.2.2 Fitness-Biased Selection                                  136
       6.3.3 Selection in Standard EAs                                           137
       6.3.4 Reduciug Selection Sampling Variance                                138
       6.3.5 Selection Summary                                                   140
  6.4 Reproduction-Oiüy Models                                                   141
       6.4.1 Noii-oveiiapping-Gcucration Models                                  141
               6.4.1.1 Reproduction for Fixed-Length Discrete Linear Gcnomes . . 143
               6.4.1.2 Reproduction for Othcr Genome Types                       152
       6.4.2 Ovcrlapping-Generation Models                                       158
       6.4.3 Reproduction Summary                                                159
   6.5 Selection and Reproduction Interactions                                   160
       6.5.1 Evolvability and Priee's Theorem                                    160
       6.5.2 Selection and Discrete Recombination                                162
               6.5.2.1 Discrete Recombination from a Schema Perspective          162
               6.5.2.2 Crossover-Induced Diversity                               163
                6.5.2.3 Crossovcr-lndueed Fitness Improvements                   166
        6.5.3 Selection and Other Recombination Operators                        169
        6.5.4 Selection and Mutation                                             1"!
                6.5.4.1 Mutation from a Schema Perspective                       172
                6.5.4.2 Mutation-Indueed Diversity                                172
                6.5.1.3 Mutation-Indueed Fitness Improvements                     175
        6.5.5 Selection and Other Mutation Operators                              177
        6.5.6 Selection and Multiple Reproduetive Operators                       177
vm                                                                                CONTENTS
       6.5.7Selcction. Reproduction, and Population Size                                     180
            6.5.7.1       Non-overlapphig-Gcncration Models                                  181
            6.5.7.2       Overlapping-Generation Models                                      183
      6.5.8 Summary                                                                          185
 6.6 Representation                                                                          185
      6.6.1 Capturing I m p o r t a n t Application Features                                 185
      6.6.2 Defining Effective Reproduction Operator«                                        186
            6.6.2.1       Effective M u t a t i o n Operators                                187
            6.6.2.2       Effective Recombination O p e r a t o r s                          187
 6.7 Landscape Aiialysis                                                                     188
 6.8 Models of Canonical EAs                                                                 189
      6.8.f Infinite Population Models for Simple GAs                                        189
      6.8.2 Expected Value Models of Simple GAs                                              191
            6.8.2.1       GA Schema Theory                                                   192
            6.8.2.2       Summary                                                            199
      6.8.3 Markov Models                                                                    199
            6.8.3.1       Markov Models of Finitc Population EAs                             200
            6.8.3.2       Markov Models of Simple GAs                                        201
            6.8.3.3       Summary                                                            203
      6.8.4 Statistical Meclianics Models                                                    203
      6.8.5 S u m m a r y                                                                    205
 6.9 Application-Oriented Theories                                                           205
      6.9.1 Optimization-Oriented Theorics                                                   205
            6.9.1.1       Convergence and R a t e s of Coiivergence                          206
            6.9.1.2       ESs and Real-Valucd P a r a m e t e r Optiinization Problems . . . 206
            6.9.1.3       Simple EAs and Discrete Optimization Problems                      207
            6.9.1.4       Optimizing with Genetic Algorithms                                 208
 6.10 Summary                                                                                209
 A d v a n c e d E C Topics                                                                211
 7.1 Self-adapting EAs                                                                     211
        7.1.1 A d a p t a t i o n at EA Design Time                                        212
        7.1.2 A d a p t a t i o n over Multiple EA Runs                                    212
        7.1.3 A d a p t a t i o n during an EA R u n                                       213
        7.1.4 S u m m a r y                                                                213
 7.2 Dynamic Landscapes                                                                    213
        7.2.1 S t a n d a r d EAs on Dynamic Landscapes                                    214
        7.2.2 Modificd EAs for Dynamic Landscapes                                          215
        7.2.3 Categorizing Dynamic Landseapes                                              216
        7.2.4 T h e Iinportance of the R a t e of Change                                   216
        7.2.5 T h e Iniportance of Diversity                                               217
        7.2.6 Summary                                                                      219
 7.3 Exploiting Parallelism                                                                219
        7.3.1 Coarse-Gralncd Parallel EAs                                                  220
        7.3.2 Finc-Graiiied Models                                                         220
                                                                      ix
CONTENTS
        7.3.3 Snmmary                                            221
    7.4 Evolving Executable Objecto                              221
        7.4.1 Representation of Bchaviors                        22 L
        7.4.2 Summary                                            223
    7.5 Mnlti-objective EAs                                      223
    7.6 Hybrid EAs                                               224
    7.7 Biologically lnspired Extensions                         225
        7.7.1 Non-raudom Mating and Spcciation                   225
        7.7.2 Coevolutioiiary Systems                            226
                7.7.2.1 CoEC Architectures                       227
                7.7.2.2 CoEC Dynamics                            227
        7.7.3 Generative Represcntations and Morphogenesis       228
        7.7.4 Inclusion of Lamarekian Propcrties                 229
        7.7.5 Agent-Orient.ed Models                             229
        7.7.6 Snmmary                                            230
    7.8 Snmmary                                                  230
                                                                 231
8   The   Road Ahead
    8.1   Modeling General Evolutionary Systems                  231
                                                                 2;
    8.2   Morc Unification                                   •    ^2
    8.3   Snmmary                                                232
                                                                 233
Appendix A: Source Code Overview
  A.l EC1: A Vcry Simple EC System                               233
      A.l.l EC1 Code Structnre                                   234
      A.1.2 EC1 Parameters                                       235
  A.2 EC2: A Morc Interestmg EC System                           236
  A.3 EC3: A Morc Flexible EC System                             237
  A.4 EC4: An EC Research System                                 240
                                                                 24
Bibliography                                                           1
                                                                 253
Index