Evolutionary Computing

2024-2025

Algemene informatie

Vakcode X_400111
Studiepunten 6 EC
Periode P1
Vakniveau 400
Onderwijstaal Engels
Faculteit Faculteit der Bètawetenschappen
Vakcoördinator prof. dr. A.E. Eiben
Examinator prof. dr. A.E. Eiben
Docenten dr. K. da Silva Miras de Araujo
dr. K. da Silva Miras de Araujo
prof. dr. A.E. Eiben
Onderdeel van opleiding(en)

Praktische informatie

Voor dit vak moet je zelf intekenen. De inteken- en afmeldtermijnen staan op VU.nl

Onderwijsvorm Werkcollege, Hoorcollege

Doelgroepen

Dit vak is ook toegankelijk als:

Dit vak wordt in het Engels aangeboden. Omschrijvingen kunnen daardoor mogelijk alleen in het Engels worden weergegeven.

Doel vak

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.

Inhoud vak

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.

Aanvullende informatie onderwijsvormen

Oral lectures and compulsory Python programming assignment (in teams of
3 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.

Toetsvorm

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.

Literatuur

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.

Aanvullende informatie doelgroep

MSc Artificial Intelligence

MSc Econometrics and Operations Research

MSc Finance

MSc Business Analytics

MSc Computer Science

MSc Computer Security

Overige informatie

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!

Toelichting 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.

Aanbevolen voorkennis

Python programming skills are necessary to do the practical assignment. If you cannot program, you cannot complete this course.