Undergraduate Course: Natural Computing (INFR09038)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 9 (Year 3 Undergraduate)
||Availability||Available to all students
|Summary||This module teaches you about bio-inspired algorithms for optimisation and search problem. 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 huge 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.
- The basics of biological evolution: genes, selection, DNA, genetic drift, adaptation etc.
- The basics of GAs: selection, recombination and mutation. Fitness and objective functions
- Variants of GAs: different types of crossover and mutation, of selection and replacement. Inversion and other operators, crowding, niching, island and cellular models
- Some theory: the schema theorem and its flaws; selection takeover times; statistical mechanics approaches as a theoretical basis for studying GA issues
- Hybrid algorithms, memetic algorithms
- Pareto optimisation
- Genetic programming: Evolving programs, controlling complexity of the solutions, applications
- Ant Colony Optimisation: Basic method for the travelling salesperson problem, local search, application to bin packing, tuning, convergence issues and complexity.
- Swarm intelligence, particle swarms, differential evolution.
- DNA computing, molecular computing, membrane computing.
- Applications such as engineering optimisation; scheduling and timetabling; data-mining; neural net design.
- Comparisons among metaheuristic algorithms. Experimental issues: design and analysis of sets of experiments.
Information for Visiting Students
Course Delivery Information
|Not being delivered|
| - Understanding of natural computation techniques and 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 algorithms using inspiration from natural systems.
|- Melanie Mitchell: An Introduction to Genetic Algorithms. MIT Press, 1996.|
A Field Guide to Genetic Programming, R.Poli et al, Lulu
Bio-Inspired Artificial Intlligence, Floreano & Mattiussi, MIT PRess
Ant Colony Optimization, Dorigo & Stuetzle, MIT Press
|Course organiser||Dr Nigel Goddard
Tel: (0131 6)51 3091
|Course secretary||Mrs Victoria Swann
Tel: (0131 6)51 7607