General Information
| Course Code | X_400111 |
|---|---|
| Credits | 6 EC |
| Period | P1 |
| Course Level | 400 |
| Language of Tuition | English |
| Faculty | Faculty of Science |
| Course Coordinator | prof. dr. A.E. Eiben |
| Examiner | prof. dr. A.E. Eiben |
| Teaching Staff |
dr. K. da Silva Miras de Araujo dr. K. da Silva Miras de Araujo prof. dr. A.E. Eiben |
|
Part of programme(s)
Use the arrow keys to navigate the list, Enter to select, and Escape to close.
|
|
Practical Information
You need to register for this course yourself. The (de)registration deadlines can be found on VU.nl
| Teaching Methods | Seminar, Lecture |
|---|
Target audiences
This course is also available as:
Course Objective
This course has a threefold objective:
1) (Knowledge & Understanding) To learn about computational methods based on Darwinian principles of evolution.
2) (Applying knowledge and understanding, Communication) To use such methods as problem solvers and as simulation tools; to determine adequate algorithm setups depending on the problem at hand.
3) (Applying knowledge and understanding, Lifelong learning skills) To gain hands-on experience in performing computational experiments with evolutionary algorithms.
Course Content
This course is about constructing, applying and studying algorithms based on the Darwinian evolution theory. Driven by selection (survival of the fittest, mating of the fittest) and randomised reproduction (mutation, recombination), an evolutionary process is being emulated and solutions for a given problem are being "bred". During this course, various flavours within evolutionary computing are treated, including genetic algorithms, evolution strategies, evolutionary programming, genetic programming, differential evolution, particle swarm optimisation. Applications in optimisation, constraint handling, machine learning, and robotics are discussed. Specific subjects handled include: genetic structures (representations), selection techniques, sexual and asexual reproduction operators, (self-)adaptivity and methodological aspects, such as algorithm design & tuning, and performance assessment. Special attention is paid to the field of evolutionary robotics where the bodies (morphology, hardware) and the brains (controller, software) of robots are evolved simultaneously. Hands-on-experience with evolutionary algorithms is gained through a compulsory programming assignment.
Additional Information Teaching Methods
Oral lectures and compulsory Python programming assignment (in teams of3 to 5). A limited number of highly motivated students can replace the
programming assignment by a special research assignment under the
personal supervision of the lecturer(s). These research projects aim at
publications with the students as first authors of the paper.
Method of Assessment
Written exam and programming assignment (in teams of 3 to 5). To pass the course as a whole, you must pass both the exam and the programming assignment. For the final grade they will count with the same weight:
Grade = 0.5 x Exam_Grade + 0.5 x Assignment_Grade.
Note that:
- The exam is multiple choice, taken on the campus in an electronic form. There is a resit in case you cannot attend or fail.
- The programming assignment is graded based on your code, the quality of the solution your algorithm finds, and a short report. No resit is possible for the programming assignment.
- If you pass one component (Exam or Assignment), but fail the other, then you can keep the grade of the passed component for next year or later. Then you can pass the course by getting a good grade (> 5.5) for the missing component and using the old grade in the averaging formula.
Literature
The course is based on the textbook A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing, Springer, 2015, 2nd edition, ISBN 978-3-662-44873-1. The lectures and the book chapters are synchronised to a great extent. In addition, a number of carefully selected papers to provide extra information on specific topics are available via Canvas.
Additional Information Target Audience
MSc Artificial Intelligence
MSc Econometrics and Operations Research
MSc Finance
MSc Business Analytics
MSc Computer Science
MSc Computer Security
Additional Information
Attending the lectures in real life is not mandatory, but highly recommended. Active participation in the team work for the programming assignment is a must!
Explanation Canvas
The complete schedule of the course, organised by the chapters of the textbook, will be made available at the beginning of the course. Students are assumed to consult the course schedule to keep up with the progress, as Canvas rubrics are not used. Video recordings of the lectures made during the COVID period are still available on Canvas for self-study.
Recommended background knowledge
Python programming skills are necessary to do the practical assignment. If you cannot program, you cannot complete this course.