Homework 4 - Evolutionary Computation Fundamentals Redux

Due Tuesday, March 8, 2022

1. Motivation

Crossover is one of the two primary mechanisms through which evolutionary computation (EC) explores search spaces. (The other is mutation.) Crossover works by recombining alleles that are already present in a population. As noted in class, crossover can result in local search, global search, or both, depending on how homogeneous or heterogeneous the population is. How crossover explores a search space should be understood in order to use it effectively in EC systems.

2. Goal

The goal of this assignment is to give you experience with a crossover-only EC system for either local or global search, or both.

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 different distribution to see the results of crossover on different populations.

In each subsequent generation, each population member is selected once for reproduction. Each individual is paired up and crossed over with one other member of the population. Each of these pairings is determined at random from the entire population, without replacement. Each pairing produces two offspring. In each pair of offspring, one allele from each parent will go to each offspring and the other allele from each parent will go to the other offspring.

This basic crossover operator will be investigated with three initial populations — a rather homogeneous population, a heterogeneous population, and a population that has a combination of homogeneous and heterogeneous characteristics.

Part 1 — Homogeneous Population

To create a homogeneous initial population, generate each allele for each individual in the population individually by sampling from a Gaussian distribution with mean zero and a standard deviation of 20. (If any allele value falls outside the allowable range of -100 to +100, that allele value should be discarded and a new allele value generated.)

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 — Heterogeneous Population

To create a heterogeneous initial population, generate each allele for each individual in the population individually by sampling from a uniform distribution over the entire allowable range.

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 — Mixed Homogeneous and Heterogeneous Population

To create a mixed homogeneous and heterogeneous initial population, generate each allele for each of the first ten individuals in the population individually by sampling from a uniform distribution over the entire allowable range. These ten individuals will effectively be cluster centers for the rest of the individuals in the popultion. For each of these cluster centers, generate an additional nine individuals with similar genes by sampling from a Gaussian distribution with mean zero and a standard deviation of 20 and adding the resulting values to the allele values of the central individual of that cluster. (If any allele value falls outside the allowable range of −100 to +100, that allele value should be discarded and a new allele value generated.)

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.