Skip to main content

Exploiting Subprograms in Genetic Programming

  • 496 Accesses

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

Abstract

Compelled by the importance of subprogram behavior, we investigate how much Behavioral Genetic Programming is sensitive to model bias. We experimentally compare two different decision tree algorithms analyzing whether it is possible to see significant performance differences given that the model techniques select different subprograms and differ in how accurately they can regress subprogram behavior on desired outputs. We find no remarkable difference between REPTree and CART in this regard, though for a modest fraction of our datasets we find that one algorithm results in superior error reduction than the other. We also investigate alternative ways to identify useful subprograms beyond examining those within one program. We propose a means of identifying subprograms from different programs that work well together. This method combines behavioral traces from multiple programs and uses the information derived from modeling the combined program traces.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-319-90512-9_1
  • Chapter length: 16 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   84.99
Price excludes VAT (USA)
  • ISBN: 978-3-319-90512-9
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   109.99
Price excludes VAT (USA)
Hardcover Book
USD   109.99
Price excludes VAT (USA)
Fig. 1.1

Notes

  1. 1.

    http://scikit-learn.org/stable/modules/tree.html#tree-algorithms-id3-c4-5-c5-0-and-cart.

  2. 2.

    Note that for our implementation of ∕, if the denominator is less than 10−6 we return 1, and for our implementation of \(\log \), if the argument is less than 10−6 we return 0.

  3. 3.

    https://github.com/flexgp/BehavioralGP.

References

  1. David Basin, Yves Deville, Pierre Flener, Andreas Hamfelt, and Jürgen Fischer Nilsson. Synthesis of programs in computational logic. In PROGRAM DEVELOPMENT IN COMPUTATIONAL LOGIC, pages 30–65. Springer, 2004.

    CrossRef  Google Scholar 

  2. Robyn Ffrancon and Marc Schoenauer. Memetic semantic genetic programming. In Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO ’15, pages 1023–1030, New York, NY, USA, 2015. ACM.

    Google Scholar 

  3. Alex Graves, Greg Wayne, Malcolm Reynolds, Tim Harley, Ivo Danihelka, Agnieszka Grabska-Barwińska, Sergio Gómez Colmenarejo, Edward Grefenstette, Tiago Ramalho, John Agapiou, et al. Hybrid computing using a neural network with dynamic external memory. Nature, 538(7626):471–476, 2016.

    CrossRef  Google Scholar 

  4. Sumit Gulwani. Dimensions in program synthesis. In Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming, pages 13–24. ACM, 2010.

    Google Scholar 

  5. Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, and Ian H. Witten. The weka data mining software: An update. SIGKDD Explor. Newsl., 11(1):10–18, November 2009.

    CrossRef  Google Scholar 

  6. Thomas Haynes. On-line adaptation of search via knowledge reuse. Genetic Programming 1997: Proceedings of the Second Annual Conference, pages 156–161. Morgan Kaufmann Publishers Inc., 1997.

    Google Scholar 

  7. John R Koza. Genetic programming: on the programming of computers by means of natural selection, volume 1. MIT press, 1992.

    Google Scholar 

  8. Krzysztof Krawiec. Behavioral Program Synthesis with Genetic Programming, volume 618 of Studies in Computational Intelligence. Springer International Publishing, 2015.

    Google Scholar 

  9. Krzysztof Krawiec and Una-May O’Reilly. Behavioral programming: a broader and more detailed take on semantic gp. In Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, pages 935–942. ACM, 2014.

    Google Scholar 

  10. Krzysztof Krawiec and Jerry Swan. Pattern-guided genetic programming. In Proceedings of the 15th annual conference on Genetic and evolutionary computation, pages 949–956. ACM, 2013.

    Google Scholar 

  11. Paweł Liskowski and Krzysztof Krawiec. Online discovery of search objectives for test-based problems. Evolutionary Computation, 25:375–406, 2016.

    CrossRef  Google Scholar 

  12. James McDermott, David R White, Sean Luke, Luca Manzoni, Mauro Castelli, Leonardo Vanneschi, Wojciech Jaskowski, Krzysztof Krawiec, Robin Harper, Kenneth De Jong, et al. Genetic programming needs better benchmarks. In Proceedings of the 14th annual conference on Genetic and evolutionary computation, pages 791–798. ACM, 2012.

    Google Scholar 

  13. Robert I McKay. Fitness sharing in genetic programming. In Proceedings of the 2nd Annual Conference on Genetic and Evolutionary Computation, pages 435–442. Morgan Kaufmann Publishers Inc., 2000.

    Google Scholar 

  14. Nicholas Freitag McPhee, Brian Ohs, and Tyler Hutchison. Semantic building blocks in genetic programming. In European Conference on Genetic Programming, pages 134–145. Springer, 2008.

    Google Scholar 

  15. Martin C Rinard. Example-driven program synthesis for end-user programming: technical perspective. Communications of the ACM, 55(8):96–96, 2012.

    CrossRef  Google Scholar 

  16. Armando Solar-Lezama. Program synthesis by sketching. PhD Thesis, University of California, Berkeley, 2008.

    Google Scholar 

  17. Saurabh Srivastava, Sumit Gulwani, and Jeffrey S Foster. From program verification to program synthesis. In ACM Sigplan Notices, volume 45, pages 313–326. ACM, 2010.

    Google Scholar 

  18. Leonardo Vanneschi, Mauro Castelli, and Sara Silva. A survey of semantic methods in genetic programming. Genetic Programming and Evolvable Machines, 15(2):195–214, 2014.

    CrossRef  Google Scholar 

  19. Westley Weimer, Stephanie Forrest, Claire Le Goues, and ThanhVu Nguyen. Automatic program repair with evolutionary computation. Communications of the ACM, 53(5):109–116, 2010.

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Una-May O’Reilly .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Fine, S.B., Hemberg, E., Krawiec, K., O’Reilly, UM. (2018). Exploiting Subprograms in Genetic Programming. In: Banzhaf, W., Olson, R., Tozier, W., Riolo, R. (eds) Genetic Programming Theory and Practice XV. Genetic and Evolutionary Computation. Springer, Cham. https://doi.org/10.1007/978-3-319-90512-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-90512-9_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-90511-2

  • Online ISBN: 978-3-319-90512-9

  • eBook Packages: Computer ScienceComputer Science (R0)