Crossover
The Crossover function, also known as recombination, mimics the genetic recombination during natural evolution. It combines the genetic information(chromosomes) of the parents to create one or more new children.
Crossover Functions
GeneticAlgorithm.single_point_crossover — Functionsingle_point_crossover(gene1::Union{AbstractVector, AbstractMatrix}, gene2::Union{AbstractVector, AbstractMatrix})Recombinate two units by exchanging their genes from a random index onward.
Arguments
gene1: Parent unit 1.gene2: Parent unit 2.
Returns
- Two recombined child units.
GeneticAlgorithm.k_point_crossover — Functionk_point_crossover(gene1::Union{AbstractVector, AbstractMatrix}, gene2::Union{AbstractVector, AbstractMatrix}, k::Integer)Recombinate two units by exchanging their genes at k random points
Arguments
gene1: Parent unit 1.gene2: Parent unit 2.k: # of crossover points.
Returns
- Two recombined child units.
GeneticAlgorithm.uniform_crossover — Functionuniform_crossover(gene1::Union{AbstractVector, AbstractMatrix}, gene2::Union{AbstractVector, AbstractMatrix})Recombinate two units by iterating a gene and swapping the values with a 50% chance
Arguments
gene1: Parent unit 1.gene2: Parent unit 2.
Returns
- Two recombined child units.