Module overview
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.
Aims and Objectives
Learning Outcomes
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Experience with computational methods inspired by natural evolution and population dynamics
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- The theory, mechanisms and processes of evolution, and the factors affecting evolvability of complex systems, with a focus on the algorithmic assumptions underlying different aspects of the models and theory
- Computational methods inspired by natural evolution and population dynamics
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Place computational methods inspired by natural evolution and population dynamics within the broader framework of general computational optimization techniques
Syllabus
Introduction to algorithmic concepts of evolution
- What is evolution?
- Natural selection and adaptation
- Evolutionary algorithms
- Algorithm variants (genetic algorithms, evolutionary strategies, etc.)
Computational optimisation methods
- Combinatorial optimisation (e.g. TSP, graph-colouring)
- Heuristic techniques (e.g., Simulated Annealing, gradient ascent)
Evolvability of Complex Systems
- Concepts of evolutionary difficulty (fitness landscapes, epistasis, adaptation and constraint)
- Modularity
- Sexual recombination and evolvability
- Algorithmic possibilities for evolution
- Artificial Life models, open-ended evolution
- Developmental representations
Advanced topics
- Wright versus Fisher (mass selection, shifting balance theory)
- Units of selection
- Interactions among species (coevolution, coadaptation)
- Compositional evolution (hybridisation, major evolutionary transitions)
- Macro-evolution (saltations, gradualism, extinction, trends, diversity, species and speciation)
Learning and Teaching
Type | Hours |
---|---|
Follow-up work | 18 |
Preparation for scheduled sessions | 18 |
Lecture | 36 |
Wider reading or practice | 38.5 |
Revision | 10 |
Completion of assessment task | 29.5 |
Total study time | 150 |
Resources & Reading list
Textbooks
Kauffman, SA (1993). The Origins of Order. Oxford University Press.
Evolution. Interactive tutorial of Ridley' s textbook.
Richard Dawkins (1976). The Selfish Gene.
De Jong, KA, (2006). Evolutionary Computation: A Unified Approach. MIT Press.
Z. Michalewicz and D. B. Fogel (2004). Combinatorial optimisation: How to Solve It: Modern Heuristics. Springer.
Assessment
Formative
Formative assessment description
CourseworkSummative
Summative assessment description
Method | Percentage contribution |
---|---|
Final Assessment | 50% |
Continuous Assessment | 50% |
Referral
Referral assessment description
Method | Percentage contribution |
---|---|
Set Task | 100% |
Repeat
Repeat assessment description
Method | Percentage contribution |
---|---|
Set Task | 100% |
Repeat Information
Repeat type: Internal & External