Skip to main content

What’s in an Evolved Name? The Evolution of Modularity via Tag-Based Reference

  • Chapter
  • First Online:
Genetic Programming Theory and Practice IX

Part of the book series: Genetic and Evolutionary Computation ((GEVO))

Abstract

Programming languages provide a variety of mechanisms to associate names with values, and these mechanisms play a central role in programming practice. For example, they allow multiple references to the same storage location or function in different parts of a complex program. By contrast, the representations used in current genetic programming systems provide few if any naming mechanisms, and it is therefore generally not possible for evolved programs to use names in sophisticated ways. In this chapter we describe a new approach to names in genetic programming that is based on Holland’s concept of tags. We demonstrate the use of tag-based names, we describe some of the ways in which they may help to extend the power and reach of genetic programming systems, and we look at the ways that tag-based names are actually used in an evolved program that solves a robot navigation problem.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Angeline, Peter J. and Pollack, Jordan (1993). Evolutionary module acquisition. In Fogel, D. and Atmar,W., editors, Proceedings of the Second Annual Conference on Evolutionary Programming, pages 154–163, La Jolla, CA, USA.

    Google Scholar 

  • Bruce, Wilker Shane (1997). The lawnmower problem revisited: Stack-based genetic programming and automatically defined functions. In Koza, John R. et al., editors, Genetic Programming 1997: Proceedings of the Second AnnualConference, pages 52–57, StanfordUniversity, CA,USA.MorganKaufmann.

    Google Scholar 

  • Curry, H.B. and Feys, R. (1958). Combinatory Logic, 1.

    Google Scholar 

  • Hemberg, Erik, Gilligan, Conor, O’Neill, Michael, and Brabazon, Anthony (2007). A grammatical genetic programming approach to modularity in genetic algorithms. In Ebner, Marc et al., editors, Proceedings of the 10th European Conference on Genetic Programming, volume 4445 of Lecture Notes in Computer Science, pages 1–11, Valencia, Spain. Springer.

    Google Scholar 

  • Holland, J. (1993). The effect of labels (tags) on social interactions. Technical Report Working Paper 93-10-064, Santa Fe Institute, Santa Fe, NM.

    Google Scholar 

  • Holland, J. H. (1995). Hidden Order: How Adaptation Builds Complexity. Perseus Books.

    Google Scholar 

  • Hornby, G.S. (2007). Modularity, reuse, and hierarchy: measuring complexity by measuring structure and organization. Complexity, 13(2):50–61.

    Article  MathSciNet  Google Scholar 

  • Jonyer, Istvan and Himes, Akiko (2006). Improving modularity in genetic programming using graph-based data mining. In Sutcliffe, Geoff C. J. and Goebel,RandyG., editors,Proceedings of theNineteenth InternationalFlorida Artificial Intelligence Research Society Conference, pages 556–561, Melbourne Beach, Florida, USA. American Association for Artificial Intelligence.

    Google Scholar 

  • Kinnear, Jr., Kenneth E. (1994). Alternatives in automatic function definition: A comparison of performance. In Kinnear, Jr., Kenneth E., editor, Advances in Genetic Programming, chapter 6, pages 119–141. MIT Press.

    Google Scholar 

  • Koza, J. (1990). Genetic programming: A paradigm for genetically breeding populations of computer programs to solve problems.TechnicalReportSTANCS- 90-1314, Dept. of Computer Science, Stanford University.

    Google Scholar 

  • Koza, John R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA.

    Google Scholar 

  • Koza, JohnR. (1994).GeneticProgramming II:AutomaticDiscovery ofReusable Programs. MIT Press, Cambridge Massachusetts.

    Google Scholar 

  • Koza, John R., Andre, David, Bennett III, Forrest H, and Keane, Martin (1999). Genetic Programming 3:Darwinian Invention and Problem Solving.Morgan Kaufman. Kripke, S. A. (1972). Naming and Necessity. Harvard University Press.

    Google Scholar 

  • Li,Xin, Zhou, Chi,Xiao,Weimin, and Nelson, Peter C. (2005). Direct evolution of hierarchical solutions with self-emergent substructures. In The Fourth International Conference onMachine Learning and Applications (ICMLA’05), pages 337–342, Los Angeles, California. IEEE press.

    Google Scholar 

  • Racine, Alain, Schoenauer, Marc, and Dague, Philippe (1998). A dynamic lattice to evolve hierarchically shared subroutines: DL’GP. In Banzhaf, Wolfgang, Poli, Riccardo, Schoenauer, Marc, and Fogarty, Terence C., editors, Proceedings of the First European Workshop on Genetic Programming, volume 1391 of LNCS, pages 220–232, Paris. Springer-Verlag.

    Google Scholar 

  • Ray, Thomas S. (1991). Is it alive or is it GA? In Belew, Richard K. and Booker, Lashon B., editors, Proceedings of the Fourth International Conference on Genetic Algorithms (ICGA’91), pages 527–534, SanMateo, California.Morgan Kaufmann Publishers.

    Google Scholar 

  • Riolo, R. L., Cohen, M. D., and Axelrod, R. (2001). Evolution of cooperation without reciprocity. Nature, 414:441–443.

    Article  Google Scholar 

  • Roberts, Simon C., Howard, Daniel, and Koza, John R. (2001). Evolving modules in genetic programming by subtree encapsulation. In Miller, Julian F. et al., editors, Genetic Programming, Proceedings of EuroGP’2001, volume 2038 of LNCS, pages 160–175, Lake Como, Italy. Springer-Verlag.

    Google Scholar 

  • Sch¨onfinkel, M. (1924). ¨Uber die bausteine der mathematischen logik. Mathematische Annalen, 92:307–316.

    Article  MathSciNet  Google Scholar 

  • Shirakawa, Shinichi and Nagao, Tomoharu (2009). Graph structured program evolution with automatically defined nodes. In Raidl, Guenther et al., editors, GECCO ’09: Proceedings of the 11th Annual conference on Genetic and evolutionary computation, pages 1107–1114, Montreal. ACM.

    Google Scholar 

  • Simon, H.A. (1969). The architecture of complexity. In Simon, Herbert A., editor, The Sciences of the Artificial, pages 84–118. The MIT Press.

    Google Scholar 

  • Soule, T. (2011). Evolutionary dynamics of tag mediated cooperation with multilevel selection. Evolutionary Computation, 19(1):25–43.

    Article  Google Scholar 

  • Spector, Lee (1996). Simultaneous evolution of programs and their control structures. In Angeline, Peter J. and Kinnear, Jr., K. E., editors, Advances in Genetic Programming 2, chapter 7, pages 137–154. MIT Press, Cambridge, MA, USA.

    Google Scholar 

  • Spector, Lee (2001). Autoconstructive evolution: Push, pushGP, and pushpop. In Spector, Lee et al., editors, Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2001), pages 137–146, San Francisco, California, USA. Morgan Kaufmann.

    Google Scholar 

  • Spector, Lee (2004). Automatic Quantum Computer Programming: A Genetic Programming Approach, volume 7 of Genetic Programming. Kluwer Academic Publishers, Boston/Dordrecht/New York/London.

    Google Scholar 

  • Spector, Lee, Clark, David M., Lindsay, Ian, Barr, Bradford, and Klein, Jon (2008). Genetic programming for finite algebras. In Keijzer, Maarten et al., editors, GECCO ’08: Proceedings of the 10th annual conference on Genetic and evolutionary computation, pages 1291–1298, Atlanta, GA, USA. ACM.

    Google Scholar 

  • Spector, Lee and Klein, Jon (2006). Multidimensional tags, cooperative populations, and genetic programming. In Riolo, Rick L., Soule, Terence, and Worzel, Bill, editors, Genetic Programming Theory and Practice IV, volume 5 ofGenetic andEvolutionaryComputation, chapter 15, pages –. Springer, Ann Arbor.

    Google Scholar 

  • Spector, Lee, Klein, Jon, and Keijzer, Maarten (2005). The push3 execution stack and the evolution of control. In Beyer, Hans-Georg et al., editors, GECCO 2005: Proceedings of the 2005 conference on Genetic and evolutionary computation, volume 2, pages 1689–1696, Washington DC, USA. ACM Press.

    Google Scholar 

  • Spector, Lee, Martin, Brian, Harrington, Kyle, and Helmuth, Thomas (2011). Tag-based modules in genetic programming. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2011). To appear.

    Google Scholar 

  • Spector, Lee, Perry, Chris, Klein, Jon, and Keijzer, Maarten (2004). Push 3.0 programming language description. Technical Report HC-CSTR-2004-02, School of Cognitive Science, Hampshire College, USA.

    Google Scholar 

  • Spector, Lee and Robinson, Alan (2002a). Genetic programming and autoconstructive evolution with the push programming language. Genetic Programming and Evolvable Machines, 3(1):7–40.

    Article  MATH  Google Scholar 

  • Spector, Lee and Robinson, Alan (2002b). Multi-type, self-adaptive genetic programming as an agent creation tool. In Barry, AlwynM., editor, GECCO 2002: Proceedings of the Bird of a Feather Workshops, Genetic and Evolutionary Computation Conference, pages 73–80, New York. AAAI.

    Google Scholar 

  • Teller,Astro (1994).The evolution ofmentalmodels. InKinnear,KennethE., editor, Advances in Genetic Programming, Complex Adaptive Systems, pages 199–220, Cambridge. MIT Press.

    Google Scholar 

  • Walker, James Alfred and Miller, Julian Francis (2008). The automatic acquisition, evolution and reuse ofmodules in cartesian genetic programming. IEEE Transactions on Evolutionary Computation, 12(4):397–417.

    Article  Google Scholar 

  • Wijesinghe, Gayan and Ciesielski, Vic (2010). Evolving programs with parameters and loops. In IEEE Congress on Evolutionary Computation (CEC 2010), Barcelona, Spain. IEEE Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Spector, L., Harrington, K., Martin, B., Helmuth, T. (2011). What’s in an Evolved Name? The Evolution of Modularity via Tag-Based Reference. In: Riolo, R., Vladislavleva, E., Moore, J. (eds) Genetic Programming Theory and Practice IX. Genetic and Evolutionary Computation. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-1770-5_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-1770-5_1

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-1769-9

  • Online ISBN: 978-1-4614-1770-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics