Edge recombination operator


The edge recombination operator is an operator that creates a path that is similar to a set of existing paths by looking at the edges rather than the vertices. The main application of this is for crossover in genetic algorithms when a genotype with non-repeating gene sequences is needed such as for the travelling salesman problem. It was described by Darrell Whitley and others in 1989.

Algorithm

ERO is based on an adjacency matrix, which lists the neighbors of each node in any parent.
For example, in a travelling salesman problem such as the one depicted, the node map for the parents CABDEF and ABCEFD is generated by taking the first parent, say, 'ABCEFD' and recording its immediate neighbors, including those that roll around the end of the string.
Therefore;
... -> <-> <-> <-> <-> <-> <-...
...is converted into the following adjacency matrix by taking each node in turn, and listing its connected neighbors;
A: B D
B: A C
C: B E
D: F A
E: C F
F: E D
With the same operation performed on the second parent, the following is produced:
A: C B
B: A D
C: F A
D: B E
E: D F
F: E C
Followed by making a union of these two lists, and ignoring any duplicates. This is as simple as taking the elements of each list and appending them to generate a list of unique link end points. In our example, generating this;
A: B C D = ∪
B: A C D = ∪
C: A B E F = ∪
D: A B E F = ∪
E: C D F = ∪
F: C D E = ∪
The result is another adjacency matrix, which stores the links for a network described by all the links in the parents. Note that more than two parents can be employed here to give more diverse links. However, this approach may result in sub-optimal paths.
Then, to create a path K, the following algorithm is employed:
algorithm ero is
let K be the empty list
let N be the first node of a random parent.
while length < length do
K := K, N
Remove N from all neighbor lists
if Ns neighbor list is non-empty then
let
N* be the neighbor of N with the fewest neighbors in its list
else'
let N* be a randomly chosen node that is not in K
N := N*
To step through the example, we randomly select a node from the parent starting points,.
Note that the only edge introduced in ABDFCE is AE.

Comparison with other operators

Edge recombination is generally considered a good option for problems like the travelling salesman problem. In a 1999 study at the University of the Basque Country, edge recombination provided better results than all the other crossover operators including partially mapped crossover and cycle crossover.

Implementations