
crossover.py
************


crossOnes(p1, p2, chrom)
========================

Take two individuals ("p1" and "p2" ) and a chromosome number
("chrom"). Crossover the "chrom" th chromosome of "p1" and "p2".
Return two new individuals that are the same as "p1" and "p2" , but
with the "chrom" th chromosome replaced with one of the children from
the crossover


injectionco(p1, p2, chrom)
==========================

Take two individuals ("p1" and "p2" ) and a chromosome number
("chrom"). Crossover the "chrom" th chromosome of "p1" and "p2" as
follows:

1. Select distinct points A < B between 0 and
   "len(p1.chromosomes[chrom])"

2. Make an empty child chromosome of length
   "len(p1.chromosomes[chrom])"

3. Copy over the genes of "p1" from A to (but not including) B into
   the corresponding genes of the child

4. Fill in the rest of the genes of the child with the genes from
   "p2", in the order in which they appear in "p2", making sure not to
   include alleles that already exist in the child

Return a new individual that are the same as "p1" , but with the
"chrom" th chromosome replaced with the child from the crossover
