Evolutionary Algorithms

The goal of the seminar is to experiment with the evolutionary algorithms and find out how they behave while solving simple tasks. To this end, we will use a simple Java or Python library. Your goal will be to augment/create an operator to make the algorithm perform better. You will not need a deep understanding of Java or Python - only the basics which are similar in most modern languages are required.

Submit the solutions to the assignments in Moodle.

Credit requirements

There will be 12 lessons during the term. In 11 of them lesson, there will be an assignment and it will be possible to get 5 points for each assignment, i.e. 55 points for the whole term. Additionally, many of the assignments will contain bonus questions (e.g. for solving an extended version of the assignments, or for having a good solution compared to the rest of the class).

The practicals will be divided into groups of 1-3 lessons on a similar topic. You will submit the solutions to the assignment always after the group is finished. The deadline for the submission of the solution to the assignment will be 2 weeks after the last lesson in the group. In order to get the full amount of points, you need to submit the solution before the deadline. If you submit the solution less than two weeks after the deadline, you can still get half the points. Some of the bonus assignments will have shorter deadlines (typically one week).

In order to get the credit for the seminar, you need to have at least 36 points.

Materials and previous lessons

The materials for the seminar are available in Moodle.