Undergraduate Course: Natural Computing (INFR11161)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||This module teaches you about bio-inspired algorithms for optimisation and search problems. The algorithms are based on simulated evolution (including Genetic algorithms and Genetic programming), particle swarm optimisation, ant colony optimisation as well as systems made of membranes or biochemical reactions among molecules. These techniques are useful for searching very large spaces. For example, they can be used to search large parameter spaces in engineering design and spaces of possible schedules in scheduling. However, they can also be used to search for rules and rule sets, for data mining, for good feed-forward or recurrent neural nets and so on. The idea of evolving, rather than designing, algorithms and controllers is especially appealing in AI. In a similar way it is tempting to use the intrinsic dynamics of real systems consisting e.g. of quadrillions of molecules to perform computations for us. The course includes technical discussions about the applicability and a number of practical applications of the algorithms.
In this module, students will learn about
- The practicalities of natural computing methods: How to design algorithms for particular classes of problems.
- Some of the underlying theory: How such algorithms work and what is provable about them.
- Issues of experimental design: How to decide whether an metaheuristic algorithm works well.
- Current commercial applications.
- Current research directions.
The lectures will cover the following subjects:
- Computational aspects of animal behaviour and of biological, chemical or physical systems
- Genetic and Evolutionary Algorithms: Selection, recombination and mutation, fitness and objective functions
- Swarm intelligence, particle swarms, differential evolution, robot swarms
- Theory: the schema theorem and its flaws; convergence, statistical mechanics approaches
- Comparisons among various metaheuristic algorithms, No-Free-Lunch theorems
- Hybrid, hyperheuristic, and memetic algorithms
- Multi-objective optimisation
- Genetic programming
- Applications such as engineering optimisation; scheduling; data-mining; neural net design
- Experimental issues: Design and analysis of sets of experiments
Relevant QAA Computing Curriculum Sections: Artificial Intelligence, Data Structures and Algorithms, Simulation and Modelling
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser (lecturer).
Mathematical background, at the level of undergraduate informatics, particularly linear algebra (vector spaces, subspaces, eigenvalues), calculus (partial derivation, extrema, concavity) and statistics (mean and variance, hypotheses testing, principal component analysis). Some programming will be required.
Information for Visiting Students
|Pre-requisites||Mathematical background, at the level of undergraduate informatics, particularly linear algebra (vector spaces, subspaces, eigenvalues), calculus (partial derivation, extrema, concavity) and statistics (mean and variance, hypotheses testing, principal component analysis). Some programming will be required.
|High Demand Course?
Course Delivery Information
|Academic year 2022/23, Available to all students (SV1)
|Course Start Date
|Learning and Teaching activities (Further Info)
Lecture Hours 16,
Online Activities 8,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||The coursework consists of 10 weekly on-line quizzes, 10% in total. There is one major piece of CW requiring you to perform specified tasks using a set of algorithms, and to present the results in written reports. The report is marked and is worth 40%.
You should expect to spend approximately 25 hours on the coursework for this course.
||Students will get formative feedback through weekly tests via automatic evaluation of test questions, and the VLE's online discussion forum.
The tutors will give feedback on the 5 non-assessed drill exercises. Summative feedback will occur through written feedback on the assignment and the exams. The assignment will also be prepared and evaluated in the inverse class room meetings.
Additionally, we will monitor class issues through the use of a class student representative, and also occasional SurveyMonkey (or equivalent) polls.
Engagement of students with the course will be tracked continuously and compared to patterns that are reported in the online education literature.
||Hours & Minutes
|Main Exam Diet S1 (December)||2:00|
On completion of this course, the student will be able to:
- Understanding of natural computation techniques in theory and in their broad applicability to a range of hard problems in search, optimisation and machine learning.
- To know when a natural computing technique is applicable, which one to choose and how to evaluate the results.
- To know how to apply a natural computing technique to a real problem and how to choose the parameters for optimal performance.
- Matching techniques with problems, evaluating results, tuning parameters, creating (memetic) algorithms by evolution.
|- Melanie Mitchell: An Introduction to Genetic Algorithms. MIT Press, 1998.|
- Xin-She Yang: Nature-Inspired Metaheuristic Algorithms. Luniver, 2010.
- Brabazon, O'Neill, McGarraghy: Natural Computing Algorithms. Springer, 2015.
|Graduate Attributes and Skills
|Course organiser||Dr Michael Herrmann
Tel: (0131 6)51 7177
|Course secretary||Ms Lindsay Seal
Tel: (0131 6)50 2701