This repository contains the code examples and content of the lectures. I will be uploading rendered versions as PDF files to StudIP, and include rendered Markdown versions in this repository. If you want to run the notebooks yourself, you will need to install Jupyter. If you need help with setting up Jupyter, here's a tutorial on how to install jupyter notebook on your machine.
The first chapter covers the coding examples from the first two weeks, on basic random search and local search algorithms. Markdown Export
This chapter covers basic evolutionary strategies and genetic algorithms. Markdown Export
This chapter looks into the various search operators of a genetic algorithm: Survivor selection, parent selection, crossover, mutation, and the population itself. We also look at memetic algorithms, which combine global and local search.
This chapter covers the basics of Pareto optimality, NSGA-II, and comparison of multi-objective search algorithms. Markdown Export
This chapter covers several alternative multi-objective search algorithms: A random baseline, PAES, SPEA2, TwoArchives, and SMS-EMOA. Markdown Export
This chapter looks at how the problem of test input generation can be cast as a search problem, and how to automatically instrument programs for fitness generation. Markdown Export
This chapter continues whole test suite generation, and then moves on to many objective optimisation for test generation.
This chapter considers how to choose values for the many parameters that we have introduced in our evolutionary algorithms, how to optimise these values, and how to adapt them to new problems.