Evolutionary Design of Arbitrarily Large Sorting Networks Using Development

An evolutionary algorithm is combined with an application-specific developmental scheme in order to evolve efficient arbitrarily large sorting networks. First, a small sorting network (that we call the embryo) has to be prepared to solve the trivial instance of a problem. Then the evolved program (the constructor) is applied on the embryo to create a larger sorting network (solving a larger instance of the problem). Then the same constructor is used to create a new instance of the sorting network from the created larger sorting network and so on. The proposed approach allowed us to rediscover the conventional principle of insertion which is traditionally used for constructing large sorting networks. Furthermore, the principle was improved by means of the evolutionary technique. The evolved sorting networks exhibit a lower implementation cost and delay.

[1]  Sanjeev Kumar,et al.  Investigating computational models of development for the construction of shape and form , 2004 .

[2]  Tughrul Arslan,et al.  Evolvable Components—From Theory to Hardware Implementations , 2005, Genetic Programming and Evolvable Machines.

[3]  Mehrdad Salami,et al.  Evolvable hardware at function level , 1997, Proceedings of 1997 IEEE International Conference on Evolutionary Computation (ICEC '97).

[4]  Günter P. Wagner,et al.  Complex Adaptations and the Evolution of Evolvability , 2005 .

[5]  Hugo de Garis,et al.  ATR's artificial brain ("CAM-Brain") project: A sample of what individual "CoDi-1 Bit" model evolved neural net modules can do with digital and analog I/O , 1999, Proceedings of the First NASA/DoD Workshop on Evolvable Hardware.

[6]  W. Daniel Hillis,et al.  Co-evolving parasites improve simulated evolution as an optimization procedure , 1990 .

[7]  Lukás Sekanina,et al.  Evolving Constructors for Infinitely Growing Sorting Networks and Medians , 2004, SOFSEM.

[8]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[9]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[10]  Axel W. Krings,et al.  The test vector problem and limitations to evolving digital circuits , 2000, Proceedings. The Second NASA/DoD Workshop on Evolvable Hardware.

[11]  Peter J. Bentley,et al.  On Evolvable Hardware , 2001 .

[12]  Lorenz Huelsbergen,et al.  Finding General Solutions to the Parity Problem by Evolving Machine-Language Representations , 2002 .

[13]  Peter J. Bentley,et al.  Evolutionary Design by Computers with CDrom , 1999 .

[14]  D. Fogel Evolutionary algorithms in theory and practice , 1997, Complex..

[15]  Gunnar Tufte,et al.  Bridging the genotype-phenotype mapping for digital FPGAs , 2001, Proceedings Third NASA/DoD Workshop on Evolvable Hardware. EH-2001.

[16]  John R. Koza,et al.  Routine Duplication of Post-2000 Patented Inventions by Means of Genetic Programming , 2002, EuroGP.

[17]  Hugues Juillé Evolution of Non-Deterministic Incremental Algorithms as a New Approach for Search in State Spaces , 1995, ICGA.

[18]  Peter J. Bentley,et al.  Aspects of Evolutionary Design by Computers , 1998, ArXiv.

[19]  Julian Francis Miller,et al.  A Developmental Method for Growing Graphs and Circuits , 2003, ICES.

[20]  B. Alberts,et al.  An Introduction to the Molecular Biology of the Cell , 1998 .

[21]  Peter J. Bentley,et al.  Fractal Proteins , 2004, Genetic Programming and Evolvable Machines.

[22]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[23]  P. Nordin Genetic Programming III - Darwinian Invention and Problem Solving , 1999 .

[24]  Hiroaki Kitano,et al.  Designing Neural Networks Using Genetic Algorithms with Graph Generation System , 1990, Complex Syst..

[25]  Gunnar Tufte,et al.  Shrinking the Genotype: L-systems for EHW? , 2001, ICES.

[26]  Julian Francis Miller,et al.  Principles in the Evolutionary Design of Digital Circuits—Part II , 2000, Genetic Programming and Evolvable Machines.

[27]  Sung-Soon Choi,et al.  A hybrid genetic search for the sorting network problem with evolving parallel layers , 2001 .

[28]  Gianluca Tempesti,et al.  Ontogenetic Development and Fault Tolerance in the POEtic Tissue , 2003, ICES.

[29]  Gregory S. Hornby,et al.  The advantages of generative grammatical encodings for physical design , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[30]  Thomas Bäck,et al.  Evolutionary algorithms in theory and practice - evolution strategies, evolutionary programming, genetic algorithms , 1996 .

[31]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[32]  Peter J. Bentley,et al.  Introduction to creative evolutionary systems , 2001 .

[33]  Jim Tørresen,et al.  A Scalable Approach to Evolvable Hardware , 2002, Genetic Programming and Evolvable Machines.

[34]  Peter J. Bentley,et al.  CREATIVE EVOLUTIONARY SYSTEMS , 2001 .

[35]  L. Altenberg,et al.  PERSPECTIVE: COMPLEX ADAPTATIONS AND THE EVOLUTION OF EVOLVABILITY , 1996, Evolution; international journal of organic evolution.

[36]  Byung Ro Moon,et al.  Isomorphism, Normalization, And A Genetic Algorithm For Sorting Network Optimization , 2002, GECCO.

[37]  Hitoshi Iba,et al.  Evolving hardware with genetic learning: a first step towards building a Darwin machine , 1993 .

[38]  R. Dawkins The Blind Watchmaker , 1986 .

[39]  Peter J. Bentley,et al.  Towards development in evolvable hardware , 2002, Proceedings 2002 NASA/DoD Conference on Evolvable Hardware.

[40]  Michael E. Wall,et al.  Galib: a c++ library of genetic algorithm components , 1996 .

[41]  Isamu Kajitani,et al.  Hardware Evolution at Function Level , 1996, PPSN.

[42]  John R. Koza,et al.  Genetic Programming III: Darwinian Invention & Problem Solving , 1999 .

[43]  James A. Foster,et al.  Co-evolving Faults to Improve the Fault Tolerance of Sorting Networks , 2004, EuroGP.

[44]  Byung Ro Moon,et al.  More Effective Genetic Search For The Sorting Network Problem , 2002, GECCO.

[45]  James A. Foster,et al.  Size versus robustness in evolved sorting networks: is bigger better? , 2000, Proceedings. The Second NASA/DoD Workshop on Evolvable Hardware.

[46]  Wolfgang Banzhaf,et al.  Genetic Programming: An Introduction , 1997 .

[47]  Peter J. Bentley,et al.  Evolutionary Design By Computers , 1999 .