cm3020 Topic 01: Genetic Algorithms
Main Info
Title: Genetic Algorithms
Teachers: Matthew Yee King
Semester Taken: October 2021
Parent Module: cm3020 Artificial Intelligence
Description
An introduction to Genetic Algorithms, taught through an implementation of Karl Sims’ work on evolving creatures. Broken into five weeks:
Week One: Intro to bio-inspired computing; intro to evolutionary theory; intro to the evolving creatures work.
Week Two: Start the implementation; URDF file format; joints, links, and motors.
Week Three: Genetic encoding; converting random numbers into recursive; moveable creatures.
Week Four: Fitness functions and population models, complete genetic algorithm that can evolve creatures.
Week Five: State of the art; developments in the field after Sims.
Assigned or Discussed Reading
Week One Introductory Reading
Clegg: An Introduction to Evolution for Computer Scientists (2008)
Goldberg and Holland: Genetic Algorithms and Machine Learning (1988)
Fogel: Nils Barricelli - artificial life, coevolution, self-adaptation (2006)
Week Five: State of the Art
Lipson and Pollack: Automatic Design and Manufacture of Robotic Lifeforms (2000)
Hiller and Lipson: Automatic Design and Manufacture of Soft Robots (2012)
Shah et al: A Soft Robot That Adapts to Environments through Shape Change (2021)
Molina et al: Evolutionary Algorithms for Global Optimization (2018)
Supplemetary Reading (not assigned)
- Russell Norvig Chapter 04: Searching Complex Environments, see especially Evolutionary Algorithms (Russell Norvig). RN situate genetic algorithms in the context of local search algorithms (especially stochastic beam searches). The module kind of does this too, but RN is much clearer.
External Resources
Related Notes
Lecture Summaries
Lecture summaries can be found in cm3020 Lecture Summaries: Topic 01