In this lab you will learn how to use Pyro's implementation of various evolutionary algorithms. You will then perform a series of experiments to better understand how the parameters of a GA affect its ability to find solutions. You will also compare a GA to a simpler hill climbing method. These exercises are adapted from Melanie Mitchell's An Introduction to Genetic Algorithms.
Iterate this algorithm for 10,000 steps. This is equal to the number of fitness function evaluations performed by a GA with a population size of 100 that is run for 100 generations. Plot the best fitness found so far at every 100 evaluation steps (equivalent to one GA generation), averaged over 10 runs. Compare this with a plot of the GA's best fitness found so far as a function of generation. Which algorithm finds better performing strategies? Which algorithm finds them faster? Comparisons like these are important if claims are to be made that a GA is a more effective search algorithm than other stochastic methods on a given problem.
Do not use cs63handin this week. Instead print out your results and discussion for each experiment and turn them in to me at the beginning of lab next week.