HOME

TheInfoList



OR:

The edge recombination operator (ERO) is an operator that creates a
path A path is a route for physical travel – see Trail. Path or PATH may also refer to: Physical paths of different types * Bicycle path * Bridle path, used by people on horseback * Course (navigation), the intended path of a vehicle * Desire p ...
that is similar to a set of existing paths (parents) by looking at the edges rather than the vertices. The main application of this is for
crossover Crossover may refer to: Entertainment Albums and songs * ''Cross Over'' (Dan Peek album) * ''Crossover'' (Dirty Rotten Imbeciles album), 1987 * ''Crossover'' (Intrigue album) * ''Crossover'' (Hitomi Shimatani album) * ''Crossover'' (Yoshino ...
in
genetic algorithms In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to gene ...
when a genotype with non-repeating gene sequences is needed such as for the
travelling salesman problem The travelling salesman problem (also called the travelling salesperson problem or TSP) asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each cit ...
. It was described by Darrell Whitley and others in 1989.


Algorithm

ERO is based on an
adjacency matrix In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not in the graph. In the special case of a finite simp ...
, 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 (see illustration) 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 In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not in the graph. In the special case of a finite simp ...
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 (CABDEF), 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 Union commonly refers to: * Trade union, an organization of workers * Union (set theory), in mathematics, a fundamental operation on sets Union may also refer to: Arts and entertainment Music * Union (band), an American rock group ** ''Un ...
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 In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not in the graph. In the special case of a finite simp ...
, 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 , 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(''K'') < length(Parent) do ''K'' := ''K'', ''N'' (append ''N'' to ''K'') 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 (or a random one, should there be multiple) 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, . * () -> A. We remove A from all the neighbor sets, and find that the smallest of B, C and D is B=. * AB. The smallest sets of C and D are C= and D=. We randomly select D. * ABD. Smallest are E=, F=. We pick F. * ABDF. C=, E=. We pick C. * ABDFC. The smallest set is E=. * ABDFCE. The length of the child is now the same as the parent, so we are done. 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 The University of the Basque Country ( eu, Euskal Herriko Unibertsitatea, ''EHU''; es, Universidad del País Vasco, ''UPV''; UPV/EHU) is a Spanish public university of the Basque Autonomous Community. Heir of the University of Bilbao, initially ...
, edge recombination provided better results than all the other crossover operators including partially mapped crossover and cycle crossover.P. Larrañaga et al: ''Genetic Algorithms for the Travelling Salesman Problem: A Review of Representations and Operators''. Artificial Intelligence Review, Volume 13, Number 2, April 1999, p. 129−170


References

{{Reflist Genetic algorithms