Homework 3 - Evolutionary Computation Fundamentals

Due Tuesday, March 9, 2021

1. Motivation

Mutation is one of the two primary mechanisms through which evolutionary computation (EC) explores search spaces. (The other is crossover.) Mutation works by introducing into the population allele variants that might not already be present. As noted in class, mutation can be used for local search, global search, or both. How these processes work individually and together to explore a search space should be understood in order to use them effectively in EC systems.

2. Goal

The goal of this assignment is to give you experience with a mutation-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 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 — local search only, global search only, and local and global search together. You must use the same initial population for each variant. In all variants, the population reproduces using only cloning (that is, with no crossover) and all variation from generation to generation comes from mutation.

Part 1 — Local Search Only

Determine and implement an appropriate mutation mechanism for local search (e.g., additive, replacing) incuding distribution type and parameters for searching primarily in the neighborhood of the parent individual. (I'll leave it to you to determine what it means to be "primarily in the neighborhood of the parent individual," but you should aim to demonstrate much different exploratory behavior for local and global search.)

Complete the following exercises:
  1. Describe the mutation mechanism and parameters chosen.
  2. 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)
  3. Describe the change in the distribution over generations.

Part 2 — Global Search Only

Determine and implement an appropriate mutation mechanism for global search (e.g., additive, replacing) incuding distribution type and parameters for searching throughout the whole search space. (Again, you should aim to demonstrate much different exploratory behavior for local and global search.)

Complete the following exercises:
  1. Describe the mutation mechanism and parameters chosen.
  2. 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)
  3. Describe the change in the distribution over generations.

Part 3 — Local and Global Search

On a single population, use both the local and global search mechanisms that you previously implemented.

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.