Skip to main content

Uniform Linear Transformation with Repair and Alternation in Genetic Programming

  • Chapter
  • First Online:
Book cover Genetic Programming Theory and Practice XI

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

Abstract

Several genetic programming researchers have argued for the utility of genetic operators that act uniformly. By “act uniformly” we mean two specific things: that the probability of an inherited program component being modified during inheritance is independent of the size and shape of the parent programs beyond the component in question; and that pairs of parents are combined in ways that allow arbitrary combinations of components from each parent to appear in the child. Uniform operators described in previous work have had limited utility, however, because of a mismatch between the relevant notions of uniformity and the hierarchical structure and variable sizes of many genetic programming representations. In this chapter we describe a new genetic operator, ULTRA, which incorporates aspects of both mutation and crossover and acts approximately uniformly across programs of variable sizes and structures. ULTRA treats hierarchical programs as linear sequences and includes a repair step to ensure that syntax constraints are satisfied after variation. We show that on the drug bioavailability and Pagie-1 benchmark problems ULTRA produces significant improvements both in problem-solving power and in program size relative to standard operators. Experiments with factorial regression and with the boolean 6-multiplexer problem demonstrate that ULTRA can manipulate programs that make use of hierarchical structure, but also that it is not always beneficial. The demonstrations evolve programs in the Push programming language, which makes repair particularly simple, but versions of the technique should be applicable in other genetic programming systems as well.

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 EPUB and 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

Notes

  1. 1.

    We make no claims here about the prevalence of “protection from crossover.” This is just one example of the effects that operator uniformity can have on program sizes and on genetic programming search efficacy; other effects may interact with other hypothesized causes of program bloat in other ways.

  2. 2.

    http://hampshire.edu/lspector/push.html

  3. 3.

    Recently, however, concern have been raised about the use of this problem; see http://jmmcd.net/2013/12/19/gp-needs-better-baselines.html

  4. 4.

    http://personal.disco.unimib.it/Vanneschi/bioavailability.txt

  5. 5.

    Note that this work gives an outdated description of ULTRA that does not pad the shorter program before alternation.

References

  • Crawford-Marks R, Spector L (2002) Size control via size fair genetic operators in the PushGP genetic programming system. In: GECCO 2002: proceedings of the genetic and evolutionary computation conference, New York. Morgan Kaufmann, pp 733–739

    Google Scholar 

  • D’haeseleer P (1994) Context preserving crossover in genetic programming. In: Proceedings of the 1994 IEEE world congress on computational intelligence, Orlando, vol 1. IEEE, pp 256–261

    Google Scholar 

  • Harper R (2012) Spatial co-evolution: quicker, fitter and less bloated. In: GECCO ’12: proceedings of the fourteenth international conference on genetic and evolutionary computation conference, Philadelphia. ACM, pp 759–766

    Google Scholar 

  • Helmuth T, Spector L (2013) Evolving a digital multiplier with the PushGP genetic programming system. In: Workshop on stack-based genetic programming, Amsterdam. ACM, pp 1627–1634

    Google Scholar 

  • Kennedy CJ, Giraud-Carrier C (1999) A depth controlling strategy for strongly typed evolutionary programming. In: Proceedings of the genetic and evolutionary computation conference, Orlando, vol 1. Morgan Kaufmann, pp 879–885

    Google Scholar 

  • Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection. MIT, Cambridge

    MATH  Google Scholar 

  • Langdon WB (2000) Size fair and homologous tree genetic programming crossovers. Genet Program Evolvable Mach 1(1/2):95–119

    Article  MATH  Google Scholar 

  • Langdon WB, Poli R (2002) Foundations of genetic programming. Springer. http://www.cs.ucl.ac.uk/staff/W.Langdon/FOGP/

  • Luke S, Panait L (2002) Is the perfect the enemy of the good? In: GECCO 2002: proceedings of the genetic and evolutionary computation conference, New York. Morgan Kaufmann, pp 820–828

    Google Scholar 

  • Luke S, Panait L (2006) A comparison of bloat control methods for genetic programming. Evol Comput 14(3):309–344

    Article  Google Scholar 

  • McDermott J, White DR, Luke S, Manzoni L, Castelli M, Vanneschi L, Jaskowski W, Krawiec K, Harper R, De Jong K, O’Reilly UM (2012) Genetic programming needs better benchmarks. In: GECCO ’12: proceedings of the fourteenth international conference on genetic and evolutionary computation conference, Philadelphia. ACM, pp 791–798

    Google Scholar 

  • Moraglio A, Krawiec K, Johnson CG (2012) Geometric semantic genetic programming. In: Parallel problem solving from nature, PPSN XII (Part 1), Taormina. Lecture notes in computer science, vol 7491. Springer, pp 21–31

    Google Scholar 

  • Niehaus J, Banzhaf W (2003) More on computational effort statistics for genetic programming. In: Genetic programming, proceedings of EuroGP’2003, Essex. Lecture notes in computer science, vol 2610. Springer, pp 164–172

    Google Scholar 

  • O’Neill M, Ryan C (2001) Grammatical evolution. IEEE Trans Evol Comput 5(4):349–358. doi:10.1109/4235.942529

    Article  Google Scholar 

  • Page J, Poli R, Langdon WB (1998) Smooth uniform crossover with smooth point mutation in genetic programming: a preliminary study. Technical report CSRP-98-20, School of Computer Science, University of Birmingham. ftp://ftp.cs.bham.ac.uk/pub/tech-reports/1998/CSRP-98-20.ps.gz

  • Pagie L, Hogeweg P (1997) Evolutionary consequences of coevolving targets. Evol Comput 5(4):401–418

    Article  Google Scholar 

  • Perkis T (1994) Stack-based genetic programming. In: Proceedings of the 1994 IEEE world congress on computational intelligence, Orlando, vol 1. IEEE, pp 148–153

    Google Scholar 

  • Poli R, Langdon WB (1998) On the search properties of different crossover operators in genetic programming. In: Genetic programming 1998: proceedings of the third annual conference, University of Wisconsin, Madison. Morgan Kaufmann, pp 293–301

    Google Scholar 

  • Poli R, Page J (2000) Solving high-order Boolean parity problems with smooth uniform crossover, sub-machine code GP and demes. Genet Program Evolvable Mach 1(1/2):37–56

    Article  MATH  Google Scholar 

  • Poli R, Langdon WB, McPhee NF (2008) A field guide to genetic programming. Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk, http://www.gp-field-guide.org.uk, (With contributions by J. R. Koza)

  • Schoenauer M, Sebag M, Jouve F, Lamy B, Maitournam H (1996) Evolutionary identification of macro-mechanical models. In: Angeline PJ, Kinnear KE Jr (eds) Advances in genetic programming 2. MIT, Cambridge, chap 23, pp 467–488

    Google Scholar 

  • Semenkin E, Semenkina M (2012) Self-configuring genetic programming algorithm with modified uniform crossover. In: Proceedings of the 2012 IEEE congress on evolutionary computation, Brisbane, pp 2501–2506

    Google Scholar 

  • Silva S, Vanneschi L (2009) Operator equalisation, bloat and overfitting: a study on human oral bioavailability prediction. In: GECCO ’09: proceedings of the 11th annual conference on genetic and evolutionary computation, Montreal. ACM, pp 1115–1122

    Google Scholar 

  • Silva S, Vanneschi L (2010) State-of-the-art genetic programming for predicting human oral bioavailability of drugs. In: Advances in bioinformatics. Springer, 74:165–173. doi:10.1007/978-3-642-13214-8. http://dblp.uni-trier.de/db/conf/isami/iwpacbb2010.html#SilvaV10

  • Spector L (2001) Autoconstructive evolution: Push, PushGP, and pushpop. In: Proceedings of the genetic and evolutionary computation conference (GECCO-2001), San Francisco. Morgan Kaufmann, pp 137–146

    Google Scholar 

  • Spector L (2012) Assessment of problem modality by differential performance of lexicase selection in genetic programming: a preliminary report. In: 1st workshop on understanding problems (GECCO-UP), Philadelphia. ACM, pp 401–408

    Google Scholar 

  • Spector L, Robinson A (2002) Genetic programming and autoconstructive evolution with the Push programming language. Genet Program Evolvable Mach 3(1):7–40

    Article  MATH  Google Scholar 

  • Spector L, Klein J, Keijzer M (2005) The push3 execution stack and the evolution of control. In: GECCO 2005: proceedings of the 2005 conference on genetic and evolutionary computation, Washington, vol 2. ACM, pp 1689–1696

    Google Scholar 

  • Van Belle T, Ackley DH (2002) Uniform subtree mutation. In: Foster JA, Lutton E, Miller J, Ryan C, Tettamanzi AGB (eds) Genetic programming, proceedings of the 5th European conference, EuroGP 2002, Kinsale. Lecture notes in computer science, vol 2278. Springer, pp 152–161

    Google Scholar 

  • White DR, McDermott J, Castelli M, Manzoni L, Goldman BW, Kronberger G, Jaskowski W, O’Reilly UM, Luke S (2013) Better GP benchmarks: community survey results and proposals. Genet Program Evolvable Mach 14(1):3–29

    Article  Google Scholar 

Download references

Acknowledgements

Thanks to Micah Savitzky for exploratory work that later led to the ideas in this paper, to Emma Tosch and Kyle Harrington for discussions and code, to Josiah Erikson for systems support, and to Hampshire College for support for the Hampshire College Institute for Computational Intelligence. This material is based upon work supported by the National Science Foundation under Grant Nos. 1017817 and 1129139. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the National Science Foundation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lee Spector .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer Science+Business Media New York

About this chapter

Cite this chapter

Spector, L., Helmuth, T. (2014). Uniform Linear Transformation with Repair and Alternation in Genetic Programming. In: Riolo, R., Moore, J., Kotanchek, M. (eds) Genetic Programming Theory and Practice XI. Genetic and Evolutionary Computation. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-0375-7_8

Download citation

  • DOI: https://doi.org/10.1007/978-1-4939-0375-7_8

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4939-0374-0

  • Online ISBN: 978-1-4939-0375-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics