Exam format and requirements

The exam consists of two parts. In the first part you have to solve a given problem using the techniques covered in the course. It can be, for example, an optimization problem solvable using evolutionary algorithms, or a machine learning problem solvable with neural networks. In the former case, you need to design the whole evolutionary algorithm (individual encoding, operators), in the latter case, you need to describe a suitable architecture of neural networks and describe, how to train it (what is the loss function). In both cases, I expect that you will be able to explain your choices and discuss what other possible ways of solving the problem there are.

In the second part of the exam, you will get two questions covering the topics from the lecture.

You will have enough time to solve the first part (at least 30 minutes), in the second part, you will also have time to prepare you answers. The second part follows directly after the first one.

Detailed list of requirements

  1. Basics of machine learning
  1. Reinforcement learning
  1. A simple genetic algorithm
  1. Evolutionary algorithms for continuous optimization
  1. Evolutionary algorithms for combinatorial optimization
  1. Linear and Cartesian GP, grammatical evolution
  1. Tree-based genetic programming
  1. Perceptron neural networks
  1. RBF networks
  1. Convolutional networks
  1. Recurrent neural networks
  1. Neuroevolution
  1. Deep reinforcement learning
  1. Particle Swarm Optimization
  1. Ant Colony Optimization
  1. Artificial Life