The course aims at Introducing the main concepts, techniques and applications in the field of evolutionary computation and to inputs on when evolutionary computation techniques are useful. On completion of this course, students should be able to understand relations between evolutionary algorithms presented in the course and other search and optimization techniques, understand the implementation issues of evolutionary algorithms, determine appropriate parameter settings to make different evolutionary algorithms work well and to design new evolutionary operators
Introduction to Evolutionary Computation (EC): Biological and artificial evolution, A historical perspective, Evolutionary computation and AI, Introduction to different branches of EC: Genetic Algorithms, Evolutionary Programming, Evolutionary Strategies and Genetic Programming, A simple evolutionary algorithm: basic structure, A Unified View of Simple EAs: A Common Framework, Population Size- Parent Population Size, Offspring Population Size, Selection- Choosing Selection Mechanisms, Reproductive Mechanisms- Mutation, Recombination, Crossover or Mutation?, Representation Issues, Choosing Effective Reproduction Mechanisms.
Search Operators and Representations: The importance of representation, e.g., binary vs. Gray coding, Different search operators, Adaptive representations, Recombination/Crossover for strings (e.g., binary strings), e.g., one-point, multi-point, and uniform crossover operators, Mutation for strings, e.g., bit-flipping, Recombination/Crossover and mutation rates, Recombination for real-valued representations, e.g., discrete and intermediate recombination, Mutation for real-valued representations, e.g., Gaussian and Cauchy mutations, self-adaptive mutations, etc., Why and how a recombination or mutation operator works
Selection Schemes: Fitness proportional selection and fitness scaling, Ranking, including linear, power, exponential and other ranking methods, Tournament selection, Selection pressure and its impact on evolutionary search
Evolutionary Combinatorial Optimization and Comparison of branches of EC: Evolutionary algorithms for TSPs, Differences and similarities between Genetic Algorithms, Evolutionary Programming, Evolutionary Strategies and Genetic Programming, When to use which EC technique? Theoretical Analysis of Evolutionary Algorithms (EA): Schema theorems, Convergence of EAs, Computational time complexity of EAs, No free lunch theorem.
Genetic Programming: Trees as individuals, Major steps of genetic programming, e.g., functional and terminal sets, initialization, crossover, mutation, fitness evaluation, etc., Search operators on trees, automatically defined functions, Issues in genetic programming, e.g., bloat, scalability.
1.D E Goldberg, “Genetic Algorithms in Search, Optimisation & Machine Learning”, Addison-Wesley, 1989.
2.W Banzhaf, P Nordin, R E Keller & Frank D Francone, “Genetic Programming: An Introduction” Morgan Kaufmann, 1999.
3.X. Yao, “Evolutionary Computation: Theory and Applications”, World Scientific Publ. Co., Singapore, 1999.