Evolution by natural selection has created amazingly complex and sophisticated solutions to some very difficult problems - how exactly does it achieve this, and how can we harness this capability for engineering artificial systems and computational problem solving?
The content includes key concepts, tools and approaches in:
- Basic aspects of evolutionary biology,
- Techniques in artificial evolutionary computation,
- Scientific exchange between the two disciplines: e.g. how artificial evolutionary algorithms help us understand the capabilities and limitations of biological evolution, and how current topics in evolutionary biology inspire new solutions to evolvability and scalability in engineering.
This module is intended as an optional module for appropriate part 4 undergraduates and MSc students. Prior completion of specific modules is not a prerequisite for enrolment. This unit introduces basic biological topics to a computer science/numerate audience and assumes no biological background/pre-requisites. However, the module does involve considerable biological as well as computational material, and would suit students with an interest in the theory of evolution and competence in programming.