CS 5970 Homework 3 — Evolutionary Computation Basics

Due Monday, October 16, 2017

1. Motivation

It is known that in evolutionary systems with only selection and no mechanism for introducing variation, populations will shift composition, monotonically losing diversity (as measured by total distinct genomes), until they converge to a fixed point in which all members of the population are identical. Moreover, convergence is likely to happen more quickly if selection pressure is higher. The question, however, is how much more quickly? Convergence is an important feature of selection-only evolutionary systems that should be understood to comprehend more complex evolutionary systems in which variation can take place.

2. Goal

The goal of this assignment is to give you experience with selection-only models of evolutionary computation.

3. Assignment

Determine the rates at which convergence occurs for two different explicitly-specified selection pressures by using tournament selection with tournament sizes 2 and 4.

For each selection pressure (tournament size) value, assume that you begin with a population P(0) of 100 individuals, each with its own unique genotype and fitness. Assume further that fitness evaluations are deterministic, so for a given genotype the fitness value will always be the same. For each selection pressure, answer the following questions:

  1. How many unique genotypes would you expect there to be in the population after one generation, that is, in population P(1)?
  2. After 10 generations/P(10)?
  3. After 100 generations/P(100)?
  4. After 200 generations/P(200)?
You may use either a mathematical/logical or an empirical approach to answering these questions. In addition to answering the questions, you will need to explain your approach and justify it.

4. What to Turn In

You will turn in a machine readable electronic copy of your homework that answers the questions above, including your explanation and justification. If your approach is empirical, you will also need to submit electronic copies of your code and all data generated.