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
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
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
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 |
---|---|
Revision | 10 |
Preparation for scheduled sessions | 18 |
Completion of assessment task | 29.5 |
Follow-up work | 18 |
Wider reading or practice | 38.5 |
Lecture | 36 |
Total study time | 150 |
Resources & Reading list
Textbooks
Z. Michalewicz and D. B. Fogel (2004). Combinatorial optimisation: How to Solve It: Modern Heuristics. Springer.
Richard Dawkins (1976). The Selfish Gene.
De Jong, KA, (2006). Evolutionary Computation: A Unified Approach. MIT Press.
Kauffman, SA (1993). The Origins of Order. Oxford University Press.
Evolution. Interactive tutorial of Ridley' s textbook.
Assessment
Formative
This is how we’ll give you feedback as you are learning. It is not a formal test or exam.
Set Task CourseworkSummative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Continuous Assessment | 50% |
Final Assessment | 50% |
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
Method | Percentage contribution |
---|---|
Set Task | 100% |
Repeat
An internal repeat is where you take all of your modules again, including any you passed. An external repeat is where you only re-take the modules you failed.
Method | Percentage contribution |
---|---|
Set Task | 100% |
Repeat Information
Repeat type: Internal & External