# CS 5970 Homework 3 — Evolutionary Computation Basics

## 1. Motivation

Crossover is the method by which alleles present in a population are recombined into new genotypes. The generation of new genotypes through crossover should be understood to in order to comprehend complex evolutionary systems in which crossover is combined with other operators, such as mutation and selection.

## 2. Goal

The goal of this assignment is to give you experience with a crossover-only model of evolutionary computation.

## 3. Assignment

Certainly a thorough crossover operator will, over time, produce every possible genotype, assuming that every possible allele is present in the initial population and no alleles are lost through selection. But at what rate? Your job in this assignment is to provide an estimate of that rate, at least for a particular evolutionary computation setup.

Assume that you begin with a population P(0) of 100 individuals. The genotype of each individual consists of a single chromosome of 100 bits. In the initial population P(0), half of the individuals begin with a chromosome of all ones and the other half of the individuals begin with a chromosome of all zeros. Each population member is selected once for reproduction each generation and is paired at random with another population member. Each pair produces two offspring using uniform crossover. Answer the following questions:

1. Given a random target genome, what is the chance that it is present in population P(0)?
2. Given a random target genome, what is the chance that it will be present in the population after a single round of crossover, that is, in population P(1)?
3. After 10 rounds of crossover/in P(10)?
4. After 100 rounds of crossover/in P(100)?
5. After 1000 rounds of crossover/in P(1000)?
6. Given a random target genome, what is the chance that it has been present in any of the populations leading up to P(1000)?

For these questions, assume that the random target genome is equally likely to be any of the possible genomes given a chromosome of 100 bits.

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 via D2L 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 an electronic copy of your code and an electronic copy of all data generated.