Evolutionary and Swarm Design in Science, Art, and Music

  • Christian Jacob
  • Gerald Hushlak
Part of the Natural Computing Series book series (NCS)


Evolutionary Design Evolutionary design can take many forms. In this chapter, we describe how different evolutionary techniques — such as genetic programming and evolution strategies — can be applied to a wide variety of nature-inspired designs. We will show how techniques of interactive evolutionary breeding can facilitate the creative processes of design. As practical examples we demonstrate how to use implicit surface modeling to create virtual sculptures, and furniture designs through evolutionary breeding.

Rather than creating variations of blueprints through an evolutionary process, we then focus on the evolution of ‘design programs’. That is, instead of a static description (blueprint) of an object, we evolve recipes or algorithms to build objects. This leads to a much wider repertoire of variability on the designer’s side and can be implemented in a straightforward manner using genetic programming. Starting with a simple breeding approach of fractals, we give examples of how to — either automatically or interactively — evolve growth programs for plants with particular characteristics, which we illustrate using a garden of artificial flowers. We use evolvable Lindenmayer systems (L-systems) to capture growth processes.

The evolution of choreographic swarm interactions leads to new ways of ‘swarm programming’, where changes in control parameters result in emergent agent behaviours. Swarm grammars, as we will show, combine swarming agents with developmental programs as an extension of L-systems. We demonstrate how to use this technique to generate virtual paintings on 2D and 3D canvases. These SwarmArt implementations have also been exhibited in various museums as interactive computer installations, which we will use to describe how to integrate music and sound generation into evolutionary swarm systems.


Swarm Intelligence Implicit Surface Evolutionary Design Replacement Rule Evolutionary Design System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kwong, H. (2003). Evolutionary Design of Implicit Surfaces and Swarm Dynamics. Master’s thesis. Department of Computer Science, University of Calgary. Calgary, AB, CanadaGoogle Scholar
  2. 2.
    Jacob, C. (2001). Illustrating Evolutionary Computation with Mathematica. Morgan Kaufmann PublishersGoogle Scholar
  3. 3.
    Bentley, P. (1999). From coffee tables to hospitals: Generic evolutionary design. In Bentley, P., ed.: Evolutionary Design by Computers. Morgan Kaufmann, San Francisco, CAGoogle Scholar
  4. 4.
    Bentley, P. (2001). Generic Evolutionary Design of Solid Objects Using a Genetic Algorithm. PhD thesis. University of HuddersfieldGoogle Scholar
  5. 5.
    Bloomenthal, J., Bajaj, C., Blinn, J., Cani-Gasuel, M., Rockwook, A., Wyvill, B. (1998). Introduction to Implicit Surfaces. Morgan Kaufmann, San Francisco, CAGoogle Scholar
  6. 6.
    Bedwell, E., Ebert, D. (1998). Artificial evolution of implicit surfaces. In: ACM SIGGRAPH Technical Sketch Google Scholar
  7. 7.
    Tigges, M., Wyvill, B. (2000). Python for scene and model description for computer graphics. In: Proc. IPC 2000 Google Scholar
  8. 8.
    Wyvill, B., Galin, E., Guy, A. (1999). Extending the CSG tree. Warping, blending and boolean operations in an implicit surface modeling system. Computer Graphics Forum, 18(2): 149–158CrossRefGoogle Scholar
  9. 9.
    Fox, M. (2001). Animated Blobtrees for the Impatient. Master’s thesis. University of Calgary. Calgary, AB, CanadaGoogle Scholar
  10. 10.
    Koza, J.R., Keane, M.A., Streeter, M.J., Mydlowec, W., Yu, J., Lanza, G. (2003). Genetic Programming IV — Routine Human–Competitive Machine Intelligence. Kluwer Academic Publishers. Norwell, MAzbMATHGoogle Scholar
  11. 11.
    Wolfram, S. (1996). The Mathematica Book. 3rd edn. Cambridge University Press. CambridgezbMATHGoogle Scholar
  12. 12.
    Lindenmayer, A. (1968). Mathematical models for cellular interaction in development, parts I and II. Journal of Theoretical Biology, 18: 280–315Google Scholar
  13. 13.
    Prusinkiewicz, P., Hanan, J. (1989). Lindenmayer Systems, Fractals, and Plants. Vol. 79 of Lecture Notes in Biomathematics. Springer. New YorkGoogle Scholar
  14. 14.
    Prusinkiewicz, P., Lindenmayer, A. (1990). The Algorithmic Beauty of Plants. Springer. New YorkzbMATHGoogle Scholar
  15. 15.
    Yu, J. (2004). Evolutionary Design of 2D Fractals and 3D Plant Structures for Computer Graphics. Master’s thesis. Department of Computer Science, University of CalgaryGoogle Scholar
  16. 16.
    von Mammen, S. (2006). Swarm Grammars. A New Approach to Dynamic Growth. Technical Report 2006-835-28. Department of Computer Science, University of Calgary. Calgary, AB, CanadaGoogle Scholar
  17. 17.
    Jacob, C., von Mammen, S. (2007). Swarm grammars: Growing dynamic structures in 3D agent spaces. Digital Creativity, 18(1)Google Scholar
  18. 18.
    Reynolds, C.W. (1987). Flocks, herds and schools: A distributed behavioral model. In: Int. Conference on Computer Graphics and Interactive Techniques, SIGGRAPH. ACM, 25–34Google Scholar
  19. 19.
    Suen, G. (2004). Modelling and Simulating Army Ant Raids. Master’s thesis. University of Calgary, Dept. of Computer Science. Calgary, CanadaGoogle Scholar
  20. 20.
    Hoar, R., Penner, J., Jacob, C. (2002). Evolutionary swarm traffic: If ant roads had traffic lights. In: IEEE World Congress on Computational Intelligence. Honolulu, Hawaii. IEEE PressGoogle Scholar
  21. 21.
    Penner, J., Hoar, R., Jacob, C. (2002). Swarm-based traffic simulation with evolutionary traffic light adaptation. In Ubertini, L., ed.: Applied Simulation and Modelling. International Association of Science and Technology for Development, IASTED. Crete, Greece. ACTA Press, Zurich, 289–294Google Scholar
  22. 22.
    Jacob, C., Burleigh, I. (2004). Biomolecular swarms: An agent-based model of the lactose operon. Natural Computing, 3(4): 361–376CrossRefMathSciNetGoogle Scholar
  23. 23.
    Jacob, C., Barbasiewicz, A., Tsui, G. (2006). Swarms and genes: Exploring λ-switch gene regulation through swarm intelligence. In: IEEE Congress on Evolutionary Computation Google Scholar
  24. 24.
    Jacob, C., Litorco, J., Lee, L. (2004). Immunity through swarms: Agent-based simulations of the human immune system. In: Artificial Immune Systems, ICARIS 2004, Third International Conference. Catania, Italy. LNCS 3239, SpringerGoogle Scholar
  25. 25.
    Penner, J., Hoar, R., Jacob, C. (2003). Bacterial chemotaxis in silico. In: ACAL 2003, First Australian Conference on Artificial Life. Canberra, AustraliaGoogle Scholar
  26. 26.
    Hoar, R., Penner, J., Jacob, C. (2003). Transcription and evolution of a virtual bacteria culture. In: IEEE Congress on Evolutionary Computation. Canberra, Australia. IEEE PressGoogle Scholar
  27. 27.
    Kwong, H., Jacob, C. (2003). Evolutionary exploration of dynamic swarm behaviour. In: IEEE Congress on Evolutionary Computation. Canberra, Australia. IEEE PressGoogle Scholar
  28. 28.
    Boyd, J., Hushlak, G., Jacob, C. (2004). SwarmArt: Interactive art from swarm intelligence. In: ACM Multimedia. ACM Multimedia. ACMGoogle Scholar
  29. 29.
    Jacob, C., Burleigh, I. (2005). Genetic programming inside a cell. In Yu, T., Riolo, R.L., Worzel, B., eds.: Genetic Programming Theory and Practice III. SpringerGoogle Scholar
  30. 30.
    Jacob, C., Steil, S., Bergmann, K. (2006). The swarming body: Simulating the decentralized defenses of immunity. In: Artificial Immune Systems, ICARIS 2006, 5th International Conference. Oeiras, Portugal. SpringerGoogle Scholar
  31. 31.
    Nguyen, Q., Novakowski, S., Boyd, J., Jacob, C., Hushlak, G. (2006). Motion swarms: Video interaction for art in complex environments. In: ACM Multimedia. ACMGoogle Scholar
  32. 32.
    Jacob, C., Hushlak, G., Boyd, J., Nuytten, P., Sayles, M., Pilat, M. (2007). SwarmArt: Interactive art from swarm intelligence. Leonardo, 40(3): 248–254CrossRefGoogle Scholar
  33. 33.
    Novakowski, S. (2005). Interactive swarm music. CPSC 503 Project Report, Department of Computer Science, University of CalgaryGoogle Scholar
  34. 34.
    Unemi, T., Bisig, D. (2004). Playing music by conducting boid agents. In Pollack, J., et al., eds.: Proceedings of the Ninth International Conference on the Simulation and Synthesis of Living Systems. Boston, MA. MIT Press, 546–550Google Scholar
  35. 35.
    Surowiecki, J. (2005). The Wisdom of Crowds. Anchor BooksGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Christian Jacob
    • 1
    • 2
  • Gerald Hushlak
    • 3
  1. 1.Department of Computer ScienceUniversity of CalgaryCanada
  2. 2.Department of Biochemistry&Molecular BiologyUniversity of CalgaryCanada
  3. 3.Department of ArtUniversity of CalgaryCanada

Personalised recommendations