# Homework 3 and 4 - Evolutionary Computation Fundamentals

## 1. Motivation

Mutation and crossover are the two primary mechanisms through which evolutionary computation (EC) explores search spaces. Mutation works by introducing into the population allele variants that might not already be present. Crossover, on the other hand, works by recombining existing alleles into possibly novel chromosomes. These processes are fundamentally different and (hopefully) complementary. How these processes work individually and together to explore a search space should be understood in order to use them effectively in EC systems. These EC fundamentals — mutation and crossover — are the topics of this homework.

## 2. Goal

The goal of this assignment is to give you experience with a variation-only EC system using either or both mutation and crossover.

## 3. Assignment

Assume that you have a two-dimensional search space of real values ranging from −100.0 to +100.0. This will be explored using a generational EC system with a population of 100 individuals, each with a single chromosome consisting of two genes, one for each dimension of the search space, where each gene is a single floating point value. In the initial population P(0), each allele of each individual is randomly initialized from a uniform distribution over the entire allowable range. In each subsequent generation, each population member is selected once for reproduction.

This basic setup will be explored with three variants — mutation only, crossover only, and mutation and crossover together. You must use the same initial population for each variant.

### Part 1 — Mutation Only

In this variant, the population reproduces using only cloning (that is, with no crossover) and all variation from generation to generation comes from mutation. Assume that the mutation rate is 50% per gene and that mutations that do occur are additive with the original allele value and sampled from a normal distribution with mean 0.0 and variance 1.0. Values beyond the range limits are set equal to the nearest limit.

Complete the following exercises:
1. Plot the cumulative search space explored at the following generations:
1. P(0)
2. P(1)
3. P(10)
4. P(100)
5. P(1000)
2. Describe the change in the distribution over generations.

### Part 2 — Crossover Only

In this variant, the population reproduces using only crossover (that is, with no cloning) and all variation from generation to generation comes from the recombination of existing genes into new chromosomes (that is, there are no mutations). Assume that for each pair of individuals selected for reproduction, two offspring are produced using uniform crossover.

Complete the following exercises:
1. Plot the cumulative search space explored at the following generations:
1. P(0)
2. P(1)
3. P(10)
4. P(100)
5. P(1000)
2. Describe the change in the distribution over generations.

### Part 3 — Mutation and Crossover Only

In this variant, the population reproduces using only crossover (that is, with no cloning) but variation from generation to generation comes from both mutation and crossover. The mutation rate and mechanisms are exactly as described in Part 1 and the crossover mechanisms are exactly as described in Part 2.

Complete the following exercises:
1. Plot the cumulative search space explored at the following generations:
1. P(0)
2. P(1)
3. P(10)
4. P(100)
5. P(1000)
2. Describe the change in the distribution over generations.

## 4. What to Turn In

Turn in to the appropriate dropbox in Canvas a machine-readable electronic copy of your answers to the exercises for this assignment, as well as all code used to generate and plot the data and instructions for the use of the code.