Evolutionary Computing course at VU Amsterdam for MSc AI
This course is about constructing, applying and studying algorithms based on the Darwinian evolution theory. Driven by selection (survival of the fittest) and randomised reproduction, an evolution process is being emulated and solutions for a given problem are being "bred".
During this course various flavours within evolutionary computing are treated, including genetic algorithms, evolution strategies, evolutionary programming, genetic programming, differential evolution, particle swarm optimisation.
Applications in optimisation, constraint handling, machine learning, and robotics are discussed.
Specific subjects handled include: genetic structures (representations), selection techniques, sexual and asexual variation operators, (self-)adaptivity and methodological aspects, such as algorithm design and tuning.
Special attention is paid to the field of evolutionary robotics where the bodies (morphology, hardware) and the brains (controller, software) are evolved simultaneously. Hands-on-experience with evolutionary algorithms is gained through a compulsory programming assignment.
Textbook: Eiben, A.E., Smith, J.E., Introduction to Evolutionary Computing., Springer, 2015, 2nd edition, ISBN 978-3-662-44873-1.