Evolutionary algorithms are a class of optimization techniques that follows some natural selection principles to search for global optimum. These algorithms work iteratively by defining a set of potential candidates (individuals) and transforming them using a set of rules (operators). The most promising solutions according to a predefined quality score (fitness function) are usually fostered somehow on the next iteration (generation). The key advantages of these algorithms are their simplicity (the entire implementation could take just a bunch of computer lines) and their universality (basically they should work over any function that could be easily computable and is not flat). Moreover, they are embarrassingly easy to parallelize. Nevertheless, they also have a large set of disadvantages starting by being a heuristics technique that cannot guarantee convergence or the quality of the solution acquired. Moreover, they have a large set of hyperparameters to be tuned reaching the point that the evolutionary algorithm has to be engineered to the problem at hand.
The Event took place Monday 26th July 11:00 – 14:00 on Zoom.