Admission requirements
Assumed prior knowledge
Prior to taking the course, students are suggested to obtain a good understanding of Statistics, Probability Theory and simple Linear Algebra (both from bachelor level).
Description
Swarm based computing is a modern artificial intelligence discipline that is concerned with the design of multi-agent systems with applications. It is embedded in the biological study of self-organized behaviors in social animals, e.g., the collective behavior of social insects such as ants and bees, as well as flocks of birds and schools of fish. Instead of a sophisticated controller that governs the global behavior of the system, the swarm intelligence principle is based on many unsophisticated entities that cooperate in order to exhibit a desired behavior (self-organization). For example, without any master blueprint bees are able to build complex hive in cooperation.
Scientists have applied these principles to new approaches, for instance, optimization and swarm robotics. Through this research seminar, we will provide an overview of swarm intelligence as well as a collection of some of the most interesting up-to-date applications from different domains. Furthermore, students will learn studying, processing and presenting scientific material about swarm intelligence through this seminar.
Techniques from swarm based computing considered in the seminar include the following:
Ant Colony Optimization
Artificial Bee Colonies
Particle Swarm Optimization
Swarm Robotics
Firefly algorithms
Division of Labor Models
Principles of Self-Organization in Social Insects
Agent Based Modeling and its Relation to Swarm Based Computing
Differential Evolution, Gravitational Search and Related Metaheuristics
Application areas include specific bioinformatics applications, such that bioinformatics students can specialize on an application in their field of interest. Selected applications include, e.g., sequence alignment and protein folding.
Prior to taking the course, students are suggested to obtain a good understanding of Statistics, Probability Theory and simple Linear Algebra (both from bachelor level).
Course objectives
Comprehend the basic principle of swarm computing and understand the working mechanism of some algorithms in swarm computing, e.g., Ant Colony Optimization
Study and understand scientific literature reflecting state-of-the-art work in swarm computing approaches and related fields
Work in groups and conduct group discussions including critical reflections about the subject matter
Write a scientific essay summarizing the literature read about a particular topic swarm based computing
Prepare and give a presentation about a particular topic in swarm based computing
Understand and implement specific swarm based computing algorithm and, if possible, apply it to a small test problem in the relevant application area chosen.
Timetable
The most recent timetable can be found at the students' website.
Mode of instruction
Writing a scientific essay/project report
Oral presentation
Group discussion
Collaboration with other students
Practical work with software (implementations of swarm based algorithms)
Course Load
Hours of Study: 168 (= 6 EC)
Lectures: 10
Literature research: 48
Presentation and preparations: 10
Practical work: 40
Report: 60
Assessment method
The final grade consists of
The project report (50%)
The presentation slides and oral presentation (50%)
Reading list
The following books are recommended reading but not mandatory for the course:
Ant Colony Optimization, Marco Dorigo and Thomas Stützle, the MIT press, 2004
Swarm Intelligence, James Kennedy, Russell C. Eberhart, and Yuhui Shi, Academic press, 2001
Metaheuristics: from design to implementation, Talbi, El-Ghazali, Vol. 74. John Wiley & Sons, 2009
Slides will be provided for download.
Registration
You have to sign up for courses and exams (including retakes) in uSis. Check this link for information about how to register for courses.
Please also register for the course in Blackboard.
Contact information
Lecturer: dr. Hao Wang
Website: Swarm-based Computation