Genetic Programming and Evolvable Machines

, Volume 6, Issue 3, pp 319–347 | Cite as

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.


evolutionary algorithm development sorting network scalability 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    B. Alberts, et al., Essential Cell Biology—An Introduction to the Molecular Biology of the Cell, Garland Publishing: New York, 1998.Google Scholar
  2. 2.
    T. Bäck, Evolutionary Algorithms in Theory and Practice, Oxford University Press: New York, Oxford, 1996.Google Scholar
  3. 3.
    W. Banzhaf, P. Nordin, R. E. Keller, and F. D. Francone, Genetic Programming—An Introduction. Morgan Kaufmann Publishers: San Francisco, CA, 1998.Google Scholar
  4. 4.
    P. Bentley, (ed.), Evolutionary Design by Computers, Morgan Kaufmann Publisher, 1999.Google Scholar
  5. 5.
    P. Bentley, “Fractal proteins,” Genetic Programming and Evolvable Machines, vol. 5, no. 1, pp. 71–101, 2004.CrossRefGoogle Scholar
  6. 6.
    P. Bentley and D. W. Corne, (eds.), Creative Evolutionary Systems, Morgan Kaufmann, 2001.Google Scholar
  7. 7.
    E. J. W. Boers and H. Kuiper, “Biological Metaphors and the Design of Artificial Neural Networks. Master Thesis,” Departments of Computer Science and Experimental and Theoretical Psychology, Leiden University, 1992.Google Scholar
  8. 8.
    S. Choi and B. Moon, “A hybrid genetic search for the sorting network problem with evolving parallel layers,” in Genetic and Evolutionary Computation Conference, San Francisco, 2001, pp. 258–265.Google Scholar
  9. 9.
    S. Choi and B. Moon, “More effective genetic search for the sorting network problem,” in Genetic and Evolutionary Computation Conference, New York, 2002, pp. 335–342.Google Scholar
  10. 10.
    S. Choi and B. Moon, “Isomorphism, normalization, and a genetic algorithm for sorting network optimization,” in Genetic and Evolutionary Computation Conference, New York, 2002, pp. 327–334.Google Scholar
  11. 11.
    R. Dawkins, The Blind Watchmaker. Penguin Books: London, 1991.Google Scholar
  12. 12.
    H. 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,” in Proc. of the 1st NASA/DoD Workshop on evolvable hardware, IEEE Computer Society Press, 1999, pp. 102–110.Google Scholar
  13. 13.
    T. Gordon and P. Bentley, “On evolvable hardware. In Soft Computing in Industrial Electronics, Ovaska, S. and Sztandera, L. (eds.), Physica-Verlag: Heidelberg 2001, pp. 279–323.Google Scholar
  14. 14.
    T. Gordon and P. Bentley, “Towards development in evolvable hardware,” in Proc. of the 4th NASA/DoD Conference on Evolvable Hardware, A. Stoica, et al. (eds.), Alexandria, Virginia, USA, IEEE Computer Society: Los Alamitos, 2002, pp. 241–250.Google Scholar
  15. 15.
    F. Gruau, “Neural Network Synthesis Using Cellular Encoding and the Genetic Algorithm,” PhD thesis, l’Universite Claude Bernard Lyon I, 1994, p. 159.Google Scholar
  16. 16.
    P. Haddow and G. Tufte, “Bridging the genotype–phenotype mapping for digital FPGAs,” in Proc. of the 3rd NASA/DoD Workshop on Evolvable Hardware, Long Beach, CA, USA, 2001, IEEE Computer Society, Los Alamitos, 2001, pp. 109–115.Google Scholar
  17. 17.
    P. Haddow, G. Tufte and P. van Remortel, “Shrinking the Genotype: L-systems for EHW?” in Proc. of the 4th International Conference on Evolvable Systems: From Biology to Hardware, LNCS 2210, Springer–Verlag, 2001, pp. 128–139.Google Scholar
  18. 18.
    M. L. Harrison and J. A. Foster, Co-evolving faults to improve the fault-tolerance of sorting networks,” in Proc. of the 7th European conference on Genetic Programming, LNCS 3003, Springer Verlag: Berlin, 2004, pp. 57–66.Google Scholar
  19. 19.
    T. Higuchi, et al., “Evolving hardware with genetic learning: A first step towards building a darwin machine,” in Proc. of the 2nd International Conference on Simulated Adaptive Behaviour, MIT Press: Cambridge MA 1993, pp. 417–424.Google Scholar
  20. 20.
    W. D. Hillis, “Co-evolving parasites improve simulated evolution as an optimization procedure: Physica D,” vol. 42, pp. 228–234, 1990.Google Scholar
  21. 21.
    G. S. Hornby and J. B. Pollack, “The advantages of generative grammatical encodings for physical design,” in. Proc. of the 2001 Congress on Evolutionary Computation CEC2001, IEEE Computer Society Press: pp. 600–607, 2001.Google Scholar
  22. 22.
    L. Huelsbergen, “Finding general solutions to the parity problem by evolving machine-language representations,” in Proc. of Conf. on Genetic Programming, 1998, pp. 158–166.Google Scholar
  23. 23.
    K. Imamura, J. A. Foster and A. W. Krings, “The test vector problem and limitations to evolving digital circuits,” in: Proc. of the 2nd NASA/DoD Workshop on Evolvable Hardware, IEEE Computer Society Press: pp. 75–79, 2000.Google Scholar
  24. 24.
    H. Juillé,“Evolution of non-deterministic incremental algorithms as a new approach for search in state spaces,” in Proc. of 6th Int. Conf. on Genetic Algorithms, Morgan Kaufmann, 1995, pp. 351–358.Google Scholar
  25. 25.
    H. Kitano, “Designing neural networks using genetic algorithms with graph generation system,” Complex Systems, 4, pp. 461–476, 1990.Google Scholar
  26. 26.
    D. E. Knuth, The Art of Computer Programming: Sorting and Searching, 2nd edition, Addison Wesley, 1998.Google Scholar
  27. 27.
    J. R. Koza, et al., Genetic Programming III: Darwinian Invention and Problem Solving. Morgan Kaufmann Publishers: San Francisco, CA, 1999.Google Scholar
  28. 28.
    S. Kumar, “Investigating Computational Models of Development for the Construction of Shape and Form. PhD thesis,” University of London, UK, 2004.Google Scholar
  29. 29.
    J. Masner, J. Cavalieri, J. Frenzel and J. Foster, “Size versus robustness in evolved sorting networks: Is Bigger Better?” in Proc. of the 2nd NASA/DoD Workshop on Evolvable Hardware, IEEE Computer Press, 2000, pp. 81–90.Google Scholar
  30. 30.
    J. Miller, D. Job and V. Vassilev, “Principles in the evolutionary design of digital circuits—Part I. genetic programming and evolvable machines,” vol. 1, no. 1, pp. 8–35, 2000.CrossRefGoogle Scholar
  31. 31.
    J. Miller and P. Thomson, “A developmental method for growing graphs and circuits,” in Proc. of the 5th Conf. on Evolvable Systems: From Biology to Hardware ICES 2003, LNCS 2606, Springer–Verlag, 2003, pp. 93–104.Google Scholar
  32. 32.
    M. Murakawa, et al., “Evolvable hardware at function level. In: Proc. of the Parallel Problem Solving from Nature Conference. LNCS 1141, Springer Verlag, 1996, pp. 62–71.Google Scholar
  33. 33.
    C. L. Nehaniv, “Evolvability,” Biosystems. vol. 69, no. 2-3, pp. 77–81, 2003.CrossRefGoogle Scholar
  34. 34.
    L. Sekanina, “Evolvable Components: From Theory to Hardware Implementations. Natural Computing Series, Springer Verlag: Berlin, 2003.Google Scholar
  35. 35.
    L. Sekanina, “Evolving constructors for infinitely growing sorting networks and medians,” in Proc. of the Conference on Current Trends in Theory and Practice of Computer Science SOFSEM 2004. LNCS 2932, Springer Verlag, 2004, pp. 314–323.Google Scholar
  36. 36.
    M. J. Streeter, M. A. Keane and J. R. Koza, “Routine duplication of post-2000 patented inventions by means of genetic programming,” in Proc. of the 5th European Conference on Genetic Programming. Kinsale, Ireland, 2002, LNCS 2278, Springer: Berlin, 2002, pp. 26–36.Google Scholar
  37. 37.
    G. Tempesti, et al., “Ontogenetic development and fault tolerance in the poetic tissue,” in Proc. of the 5th Conf. on Evolvable Systems: From Biology to Hardware ICES 2003, LNCS 2606, Springer-Verlag, 2003, pp. 141–152.Google Scholar
  38. 38.
    J. Torresen, “A scalable approach to evolvable hardware,” Genetic Programming and Evolvable Machines. vol. 3, no. 3, pp. 259–282, 2002.CrossRefMATHGoogle Scholar
  39. 39.
    G. Wagner and L. Altenberg, Complex adaptations and the evolution of evolvability. evolution, vol. 50, no. 3, pp. 967–976, 1996.Google Scholar
  40. 40.
    M. Wall, GAlib: A C++ Library of Genetic Algorithm Components, version 2.4. Massachusetts Institute of Technology, 1996,

Copyright information

© Springer Science + Business Media, Inc 2005

Authors and Affiliations

  1. 1.Faculty of Information TechnologyBrno University of TechnologyBrnoCzech Republic

Personalised recommendations