Rapid advances in evolutionary computation have opened up a world of applications-a world rapidly growing and evolving. Decision making, neural networks, pattern recognition, complex optimization/search tasks, scheduling, control, automated programming, and cellular automata applications all rely on evolutionary computation.

    Evolutionary Computation presents the basic principles of evolutionary computing: genetic algorithms, evolution strategies, evolutionary programming, genetic programming, learning classifier systems, population models, and applications. It includes detailed coverage of binary and real encoding, including selection, crossover, and mutation, and discusses the (m+l) and (m,l) evolution strategy principles. The focus then shifts to applications: decision strategy selection, training and design of neural networks, several approaches to pattern recognition, cellular automata, applications of genetic programming, and more.

    Principles of Evolutionary Computation
    Genes and chromosomes
    Early EC research
    Basic evolutionary computation models
    Other EC approaches
    Structure of an evolutionary algorithm
    Basic evolutionary algorithm
    Genetic Algorithms
    Problem representation and fitness function
    Search progress
    Basic elements of genetic algorithms
    Canonical genetic algorithm
    Schemata and building blocks
    Basic Selection Schemes in Evolutionary Algorithms
    Selection purposes
    Fitness function
    Selection pressure and takeover time
    Proportional selection
    Selection Based on Scaling and Ranking Mechanisms
    Scale transformation
    Static scaling mechanisms
    Dynamic scaling
    Noisy fitness functions
    Fitness remapping for minimization problems
    Rank-based selection
    Binary tournament
    q-tournament selection
    Further Selection Strategies
    Classification of selection strategies
    Elitist strategies
    Generation gap methods
    Steady-state evolutionary algorithms
    Generational elitist strategies in GAs
    Michalewicz selection
    Boltzmann selection
    Other selection methods
    Genetic drift
    Recombination Operators within Binary Encoding
    One-point crossover
    Two-point crossover
    N-point crossover
    Punctuated crossover
    Segmented crossover
    Shuffle crossover
    Uniform crossover
    Other crossover operators and some comparisons
    Crossover probability
    N-point crossover algorithm
    Selection for survival or replacement
    General remarks about crossover within the framework of binary encoding
    Mutation and other Search Operators
    Mutation with binary encoding
    Strong and weak mutation operators
    Non-uniform mutation
    Adaptive non-uniform mutation
    Self-adaptation of mutation rate
    Crossover versus mutation
    Inversion operator
    Selection versus variation operators
    Simple genetic algorithm revisited
    Schema Theorem, Building Blocks and Related Topics
    Elements characterizing schemata
    Schema dynamics
    Effect of selection on schema dynamics
    Effect of recombination on schema dynamics
    Combined effect of selection and recombination on schema dynamics
    Effect of mutation on schema dynamics
    Schema theorem
    Building block
    Building block hypothesis and linkage problem
    Generalizations of schema theorem
    Deceptive functions
    Real-Valued Encoding
    Real-valued vectors
    Recombination operators for real-valued encoding
    Mutation operators for real-valued encoding
    Hybridization, Parameter Setting and Adaptation
    Specialized representation and hybridization within GAs
    Parameter setting and adaptive GAs
    Adaptive GAs
    Adaptive Representations: Messy Genetic Algorithms, Delta Coding and Diploidic Representation
    Principles of messy genetic algorithms
    Recombination within messy genetic operators
    Computational model and results on messy GAs
    Generalizations of messy GAs
    Other adaptive representation approaches
    Delta coding
    Diploidy and dominance
    Evolution Strategies and Evolutionary Programming
    Evolution strategies
    (1+1) strategy
    Multimembered evolution strategies
    Standard mutation
    Genotypes including covariance matrix. Correlated mutation
    Cauchy perturbations
    Evolutionary programming
    Evolutionary programming using Cauchy perturbation
    Population Models and Parallel Implementations
    Niching methods
    Fitness sharing
    Island and stepping stone models
    Fine-grained and diffusion models
    Baldwin effect
    Parallel implementation of evolutionary algorithms
    Genetic Programming
    Early GP approaches
    Program generating language
    GP program structures
    Initialization of tree structures
    Fitness calculation
    Recombination operators
    Population models
    Parallel implementation
    Basic GP algorithm
    Learning Classifier Systems
    Michigan and Pittsburg families of learning classifier systems
    Michigan classifier systems
    Bucket brigade algorithm
    Pittsburgh classifier systems
    Fuzzy classifier systems
    Applications of Evolutionary Computation
    General applications of evolutionary computation
    Main application areas
    Optimization and search applications
    Choosing a decision strategy
    Neural network training and design
    Pattern recognition applications
    Cellular automata
    Evolutionary algorithms versus other heuristics


    Beatrice Lazzerini, D. Dumitrescu, Lakhmi C. Jain. A. Dumitrescu

    "…offers a presentation of the main ideas, models, and algorithms of evolutionary computation. Anyone who is inspired by the work of L. Davis or D.E. Goldberg to use evolutionary computation as a tool in hos/her daily work will find a complete overview of techniques and strategies…Anyone interested in optimization or search problems can find useful ideas, methods, and algorithms."
    - Journal of Chemometrics, 2002