Recombination (evolutionary algorithm)
In evolutionary algorithms, recombination is the generation of a new genome (also known as a branch genome ) from (usually) two parent genomes (parental genomes). A function that maps a permissible set of parental genomes to a set of subsidiary genomes is called a recombination function. A recombination function is a genetic operator .
The aim of recombination is to transfer the good qualities of two different parents to one child. Compared to algorithms that only use the mutation to change the genome, individuals with two good qualities A and B can possibly be found more quickly if there were previously only individuals who only had either A or B.
Good recombination functions are characterized by the fact that they at least retain the good properties of the parents and do not recombine in such a way that these properties are destroyed.
Different recombination types are differently suitable for different genome and problem types:
Recombination of binary numbers (bit strings)
When recombining binary numbers, the parental genomes are subdivided at one or more places and the subsidiary genome is assembled from these parts.
An example is the recombination of two parent genomes, which are divided in two places:
Procedure | example |
|
and |
|
, , |
|
Recombination of Permutations
The recombination of permutations is specially designed for genomes that are themselves permutations of a set .
An example of a recombination of permutations is the following procedure:
Procedure | example |
|
and |
|
|
|
|
|
|
|
One can create a second (somewhat inverse) child in this way by inverting the list and applying the procedure again.
Edge recombination
Another variant of the recombination of permutations is the edge recombination, in which the neighborhood relationships between the elements of the parent genomes are preserved as well as possible. In Edge-2 recombination, preference is given to compounds that occur in both parent genomes. The Edge-3 and Edge-4 recombination also try, by inversion of the genomes, to exploit additional neighborhoods that were lost in the Edge-2 recombination. This method is particularly well suited for combinatorial optimization problems such as the traveling salesman problem .
Recombination of trees
The recombination of trees is specifically designed for genomes that are themselves trees .
An example of a recombination of trees is the following procedure:
- Two parent trees (parent genomes) are given.
- Select a subtree in each parent tree.
- Swap these two subtrees.
The two newly created trees are now the two child genomes.
literature
- Hartmut Pohlheim : Evolutionary Algorithms. Procedures, operators and tips for practice. Springer, Berlin 1999, ISBN 3540664130 .
- Karsten Weicker : Evolutionary Algorithms. Teubner, Stuttgart 2002, ISBN 3519003627 .