## Evolving efficient recursive sorting algorithms (2006)

Venue: | in Proceedings of the 2006 IEEE Congress on Evolutionary Computation |

Citations: | 3 - 1 self |

### BibTeX

@INPROCEEDINGS{Agapitos06evolvingefficient,

author = {Alexandros Agapitos},

title = {Evolving efficient recursive sorting algorithms},

booktitle = {in Proceedings of the 2006 IEEE Congress on Evolutionary Computation},

year = {2006},

pages = {6--21},

publisher = {IEEE Press}

}

### OpenURL

### Abstract

is applied to the task of evolving general recursive sorting algorithms. We studied the effects of language primitives and fitness functions on the success of the evolutionary process. For language primitives, these were the methods of a simple list processing package. Five different fitness functions based on sequence disorder were evaluated. The time complexity of the successfully evolved algorithms was measured experimentally in terms of the number of method invocations made, and for the best evolved individuals this was best approximated as O(n × log(n)). This is the first time that sorting algorithms of this complexity have been evolved. I.

### Citations

46 | Evolving turing-complete programs for a register machine with self-modifying code, in Genetic Algorithms
- Nordin, Banzhaf
- 1995
(Show Context)
Citation Context ...perations, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], [5], [6], [7], [8], =-=[9]-=-, [10], [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computational process of ... |

41 | Generality and difficulty in genetic programming: Evolving a sort - Kinnear - 1993 |

33 |
The art of computer programming, volume 3: (2nd ed.) sorting and searching
- Knuth
- 1998
(Show Context)
Citation Context ...gent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computational process of rearranging the items of a given sequence into ascending or descending order =-=[15]-=-. It has a long history in computer science and is a process that requires considerably complex control structures and algorithmic sophistication. There is a plethora of solutions to this problem doma... |

29 | The push3 execution stack and the evolution of control
- Spector, Klein, et al.
- 2005
(Show Context)
Citation Context ... manipulated via application-dependent operations, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research =-=[1]-=-, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. ... |

29 |
Evolving recursive programs for tree search
- Brave
- 1996
(Show Context)
Citation Context ...or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], =-=[11]-=-, [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computational process of rearranging ... |

28 | Fitness landscapes and difficulty in genetic programming
- Jr, E
- 1994
(Show Context)
Citation Context ... observed performance and search heuristics used, we employ adaptive walks to analyze the structure of the landscapes resulting from the different objective functions.sAdaptive walks has been used in =-=[24]-=-, showing good correlation with problem difficulty, over the entire range of problems examined. The mean walk length at the end of an adaptive walk on a landscape indicates the number of steps require... |

26 |
Measures of presortedness and optimal sorting algorithms
- Mannila
- 1985
(Show Context)
Citation Context ...st to the measures of sequence disorder is the number of operations (exchanges) required to rearrange a sequence into sorted order. This measure is defined as the minimum number of exchanges required =-=[23]-=-. MNE is calculated for each induced list. Number of Elements to Remove (REM): One possible reason for disorder is the insertion of incorrect elements. REM is defined as the minimum number of elements... |

25 |
Evolving recursive functions for the even-parity problem using genetic programming
- Wong, Leung
- 1996
(Show Context)
Citation Context ...ion-dependent operations, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], [5], =-=[6]-=-, [7], [8], [9], [10], [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computatio... |

15 | An experimental perspective on genetic programming, in Parallel Problem Solving from Nature 2
- O’Reilly, Oppacher
- 1992
(Show Context)
Citation Context ...y function in order to discourage the individuals’ increasing size as well as a disorder penalty, in the case where the remaining disorder was greater than the initial disorder. O’Reilly and Oppacher =-=[18]-=-, [19] also investigated ways of evolving iterative sorting algorithms. Their first attempt [18] failed to produce a 100% correct individual. The representational constructs and fitness function used ... |

14 |
Recursion, lambda abstractions and genetic programming. Genetic Programming 1998
- Yu, Clack
- 1998
(Show Context)
Citation Context ...ependent operations, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], [5], [6], =-=[7]-=-, [8], [9], [10], [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computational p... |

12 |
Learning recursive sequences via evolution of machine-language programs
- Huelsbergen
- 1997
(Show Context)
Citation Context ...pulated via application-dependent operations, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], =-=[2]-=-, [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorti... |

11 | Genetic approaches to learning recursive relations
- Whigham, McKay
- 1995
(Show Context)
Citation Context ...lication-dependent operations, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], =-=[5]-=-, [6], [7], [8], [9], [10], [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the compu... |

9 | Performance enhanced genetic programming
- Clack, Yu
- 1997
(Show Context)
Citation Context ...a application-dependent operations, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], =-=[4]-=-, [5], [6], [7], [8], [9], [10], [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the ... |

8 | Evolving hierarchical and recursive teleo-reactive programs through genetic programming
- Kochenderfer
- 2003
(Show Context)
Citation Context ...ent operations, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], [5], [6], [7], =-=[8]-=-, [9], [10], [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computational proces... |

8 | Evolving recursive programs by using adaptive grammar based genetic programming - Wong |

7 | S.M.: Learning recursive functions with object oriented genetic programming
- Agapitos, Lucas
- 2006
(Show Context)
Citation Context ...plex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], =-=[13]-=-, [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computational process of rearranging the items of... |

6 | Guided genetic programming
- Abbott, Guo, et al.
- 2003
(Show Context)
Citation Context ...o functions: First-Wrong and Next-Lowest that return the index of the first element that is out of order and the index of the smallest element after a particular indexed position respectively. Abbott =-=[20]-=- used an Object Oriented Genetic Programming system to generate an insertion sort of quadratic complexity.sHe defined a List class of Integer object as a subclass of Java’s ArrayList class. His system... |

6 |
A new measure of presortedness
- Estivill-Castro, Wood
- 1989
(Show Context)
Citation Context ...presents, the significance of a disorder pair lies in the distance between its constituent elements. One measure of this kind of disorder is defined as the largest distance determined by an inversion =-=[21]-=-, [22]. The sequence’s inversion pairs are determined and MID is based on the average, over the inversion set, of the absolute distances determined by the inversions. Mean Sorted Position Distance (MS... |

3 |
Evolution of recursive programs with multi-niche genetic programming (mnGP
- Nishiguchi, Fujimoto
- 1998
(Show Context)
Citation Context ...ions, or where complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], [5], [6], [7], [8], [9], =-=[10]-=-, [11], [12], [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computational process of rearra... |

2 |
Iteration over vectors in genetic programming,” HP Laboratories
- Kirshenbaum
- 2001
(Show Context)
Citation Context ...re complex behavior needs to be abstracted in the form of procedures that have sophisticated flow of control. A significant amount of research [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], =-=[12]-=-, [13], [14] has been devoted towards the direction of emergent computational complexity in GP, either in the form of iteration or recursion. Sorting is the computational process of rearranging the it... |

1 |
comparative analysis of GP,” in Advances in Genetic Programming 2
- “A
- 1996
(Show Context)
Citation Context ...tion in order to discourage the individuals’ increasing size as well as a disorder penalty, in the case where the remaining disorder was greater than the initial disorder. O’Reilly and Oppacher [18], =-=[19]-=- also investigated ways of evolving iterative sorting algorithms. Their first attempt [18] failed to produce a 100% correct individual. The representational constructs and fitness function used were d... |

1 |
survey of adaptive sorting algorithms
- “A
- 1992
(Show Context)
Citation Context ...ts, the significance of a disorder pair lies in the distance between its constituent elements. One measure of this kind of disorder is defined as the largest distance determined by an inversion [21], =-=[22]-=-. The sequence’s inversion pairs are determined and MID is based on the average, over the inversion set, of the absolute distances determined by the inversions. Mean Sorted Position Distance (MSPD): O... |