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.
- The basics of Genetic Algorithms: 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
- 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
- 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.
- Greedy randomized adaptive search procedure
- DNA computing, molecular computing, membrane computing.
- Applications such as engineering optimisation; scheduling and timetabling; data-mining; neural net design.
- Comparisons among metaheuristic algorithms, no-free-lunch theorems
- 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, Lagrange multipliers) and statistics (mean and variance, hypotheses testing, principal component analysis). Some programming (preferably in Matlab) 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, Lagrange multipliers) and statistics (mean and variance, hypotheses testing, principal component analysis). Some programming (preferably in Matlab) will be required.
|High Demand Course?
Course Delivery Information
|Academic year 2019/20, 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
|Additional Information (Learning and Teaching)
10 wkly on-line quizzes 1% each. 1 CW requiring specified tasks using a set of algorithms at 20%.
|Assessment (Further Info)
|Additional Information (Assessment)
||Written Exam 70 %
Coursework 30 %
Practical Exam 0 %
The coursework consists of 10 weekly on-line quizzes 1% each. There is one major piece of CWs requiring you to perform specified tasks using a set of algorithms (Matlab programs will be provided), and to present the results in written reports. The report is marked and is worth 20%.
You should expect to spend approximately 20 hours on the coursework for this course.
Feedback will be given automatically for weekly quizzes and during online chats.
||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||Miss Clara Fraser
Tel: (0131 6)51 4164