Skip to main content

The Elephant in the Room: Towards the Application of Genetic Programming to Automatic Programming

  • Chapter
  • First Online:

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

Abstract

We outline a research journey which set out to tackle automatic programming and got distracted by success in a series of real-World applications including Software-defined Cellular Communications Networks, Design, Engineering, Business Analytics and Finance and Search-based Software Engineering. In particular the domain of software-defined communications networks represents a significant opportunity for the application of automatic programming and will be the focus of this chapter. When one takes a problem, as opposed to method, perspective what becomes important is finding the best method or combination of methods to extract the best performance in the problem domain of interest. We propose that the field of Genetic Programming needs to take a broader perspective, to return to its roots in the problem domain of Automatic Programming, redefine itself to this end, and embrace a wider set of methods in order to achieve success in this holy grail problem.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   119.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   159.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

Learn about institutional subscriptions

References

  1. Bierman A.W., Guiho G., Kodratoff Y. (Ed’s) (1984). Automatic Program Construction Techniques. Macmillan Publishing Company.

    Google Scholar 

  2. Rich C., Waters R. (1988). Automatic Programming: Myths and prospects. IEEE Computer 21(8):40–51.

    Article  Google Scholar 

  3. Koza J.R. (1989). Hierarchical genetic algorithms operating on populations of computer programs. In Proceedings of the Eleventh International Joint Conference on Artificial Intelligence IJCAI-89, Detroit, MI, pp.768–774. Morgan Kaufmann.

    Google Scholar 

  4. Koza J.R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press

    Google Scholar 

  5. Koza J.R. (1994). Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press

    Google Scholar 

  6. Koza J.R., Andre D., Bennet III Forrest H., Keane M. (1999). Genetic Programming III: Darwinian Invention and Problem Solving. Morgan Kaufmann

    Google Scholar 

  7. Koza J.R., Keane M., Streeter M.J., Mydlowec W., Yu J., Lanza G. (2003). Genetic Programming IV: Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers.

    Google Scholar 

  8. Samuel A.L. (1959). Some studies in machine learning using the game of checkers. IBM Journal of Research and Development, 3(3):210–229.

    Article  MathSciNet  Google Scholar 

  9. Austel V., et al. (2017). Globally Optimal Symbolic Regression. In Interpretable ML Symposium, 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA.

    Google Scholar 

  10. McConaghy T.(2011). FFX: Fast, Scalable, Deterministic Symbolic Regression Technology. Genetic Programming Theory and Practice IX, Edited by R. Riolo, E. Vladislavleva, and J. Moore. Springer.

    Google Scholar 

  11. Moraglio A., Krawiec K., Johnson C.G. (2012). Geometric Semantic Genetic Programming. In LNCS 7491 Proceedings of the International Conference on Parallel Problem Solving from Nature PPSN 2012, pp.21–31. Springer.

    Google Scholar 

  12. O’Neill M., Vanneschi L., Gustafson S., Banzhaf W. (2010). Open Issues in Genetic Programming. Genetic Programming and Evolvable Machines, 11(4):339–363

    Article  Google Scholar 

  13. O’Neill M., Nicolau M. (2017). Distilling the salient features of natural systems: Commentary on “On the mapping of genotype to phenotype in evolutionary algorithms” by Whigham, Dick and Maclaurin. Genetic Programming and Evolvable Machines, 18(3):379–383

    Article  Google Scholar 

  14. Friedberg R. (1958). A Learning Machine: Part 1. IBM Journal of Research and Development. 2(1):2–13.

    Article  MathSciNet  Google Scholar 

  15. Friedberg R., Dunham B., North J. (1959). A Learning Machine: Part 2. IBM Journal of Research and Development pp282–287.

    Google Scholar 

  16. White, D.R., McDermott, J., Castelli, M. et al. (2013). Better GP benchmarks: community survey results and proposals. Genetic Programming and Evolvable Machines, 14(1):3–29.

    Article  Google Scholar 

  17. O’Neill M., Vanneschi L., Gustafson S., Banzhaf W. (2013). Tutorial on Open Issues in Genetic Programming. In the GECCO 2013 Companion Proceedings, Amsterdam, The Netherlands. ACM Press.

    Google Scholar 

  18. Helmuth T., and Spector L. (2015). General Program Synthesis Benchmark Suite. In GECCO ’15: Proceedings of the 17th annual conference on Genetic and Evolutionary Computation. July 2015. ACM

    Google Scholar 

  19. Helmuth T., and Spector L. https://thelmuth.github.io/GECCO_2015_Benchmarks_Materials/

  20. Krawiec K., Bladek I., Swan J. (2017). Counterexample-driven Genetic Programming. In Proceedings of the Genetic and Evolutionary Computation Conference, pp.953–960, Berlin, Germany, 2017. ACM

    Google Scholar 

  21. McKay R.I., Nguyen X.H., Whigham P.A., Shan Y., O’Neill M. (2010). Grammar-based Genetic Programming - A Survey. Genetic Programming and Evolvable Machines, 11(4):365–396

    Article  Google Scholar 

  22. O’Neill M., Ryan C. (2003). Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers.

    Google Scholar 

  23. Brabazon A., O’Neill M. (2006). Biologically Inspired Algorithms for Financial Modelling. Springer.

    Google Scholar 

  24. Dempsey I., Brabazon A., O’Neill M. (2009). Foundations in Grammatical Evolution for Dynamic Environments. Springer.

    Google Scholar 

  25. Brabazon A., McGarraghy S., O’Neill M. (2015). Natural Computing Algorithms. Springer.

    Google Scholar 

  26. Ryan C., O’Neill M., Collins J.J. (Ed’s) (2018). Handbook of Grammatical Evolution. Springer

    Google Scholar 

  27. O’Neill M. (2001). Automatic Programming in an Arbitrary Language: Evolving Programs with Grammatical Evolution. PhD Thesis. University of Limerick, Ireland.

    Google Scholar 

  28. O’Neill M., Ryan C. (1999). Automatic Generation of Caching Algorithms. In Proceedings of EUROGEN 1999, Short Course on Evolutionary Algorithms in Engineering and Computer Science, University of Jyvaskyla, Jyvaskyla, Finland.

    Google Scholar 

  29. O’Neill M., Nicolau M., Agapitos A. (2014). Experiments in Program Synthesis with Grammatical Evolution: a focus on Integer Sorting. In Proceedings of IEEE Congress on Evolutionary Computation, Beijing. IEEE Press.

    Google Scholar 

  30. O’Neill M., Ryan C. (1999). Evolving Multi-Line Compilable C Code. In LNCS 1598 Proceedings of the Second European Workshop on Genetic Programming EuroGP 1999, pp.83–92, Goteborg, Sweden. Springer.

    Google Scholar 

  31. O’Neill M., Brabazon A., Ryan C., Collins J.J. (2001). Developing a Market Timing System using Grammatical Evolution Genetic and Evolutionary Computation Conference GECCO 2001, pp.1375–1381, San Francisco, CA, USA. Morgan Kaufmann.

    Google Scholar 

  32. Brabazon A., O’Neill M. (2004). Evolving Technical Trading Rules for Spot Foreign-Exchange Markets Using Grammatical Evolution. Computational Management Science, 1(3–4):311–328

    Article  Google Scholar 

  33. Brabazon A., O’Neill M. (2004). Diagnosing Corporate Stability using Grammatical Evolution. International Journal of Applied Mathematics and Computer Science, 14(3):363–374

    MATH  Google Scholar 

  34. Brabazon A., O’Neill M. (2004). Bond Issuer Credit Rating with Grammatical Evolution Applications of Evolutionary Computing. In LNCS 3005 Proceedings of EvoIASP 2004, pp. 270–279, Coimbra, Portugal. Springer.

    Google Scholar 

  35. Cui W., Brabazon A., O’Neill M. (2011). Adaptive Trade Execution: A Grammatical Evolution Approach. International Journal of Financial Markets and Derivatives, 2(1–2):4–31

    Article  Google Scholar 

  36. S. Forstenlechner, D. Fagan, M. Nicolau and M. O’Neill (2018). “Towards Understanding and Refining the General Program Synthesis Benchmark Suite with Genetic Programming,” 2018 IEEE Congress on Evolutionary Computation (CEC), Rio de Janeiro, 2018, pp. 1–6.

    Google Scholar 

  37. Forstenlechner S., Fagan D., Nicolau M., O’Neill M. (2018). Towards Effective Semantic Operators for Program Synthesis in Genetic Programming, In Proceedings of ACM GECCO 2018, Kyoto, Japan. pp. 1119–1126, ACM Press.

    Google Scholar 

  38. Forstenlechner S., Fagan D., Nicolau M., O’Neill M. (2017). A Grammar Design Pattern for Arbitrary Program Synthesis Problems in Genetic Programming. In Proceedings of EuroGP 2017 European Conference on Genetic Programming, Amsterdam. Springer.

    Google Scholar 

  39. Forstenlechner S., Fagan D., Nicolau M., O’Neill M. (2017). Semantics-based Crossover for Program Synthesis in Genetic Programming. In Proceedings of EA2017, Paris, France. Springer.

    Google Scholar 

  40. Fenton M., McNally C., Byrne J., Hemberg E., McDermott J., O’Neill M. (2016). Discrete Planar Truss Optimization by Node Position Variation using Grammatical Evolution. IEEE Transactions on Evolutionary Computation, 20(4):577–589

    Article  Google Scholar 

  41. Nicolau M., Perez-Liebana D., O’Neill M., Brabazon A. (2016). Evolutionary Behaviour Tree Approaches for Navigating Platform Games. IEEE Transactions on Computational Intelligence and AI in Games, 9(3):227–238

    Article  Google Scholar 

  42. Byrne J., Fenton M., Hemberg E., McDermott J., O’Neill M. (2014). Optimising Complex Pylon Structures with Grammatical Evolution. Information Sciences, 316:582–597

    Article  Google Scholar 

  43. Fenton M., McNally C., Byrne J., Hemberg E., McDermott J., O’Neill M. (2014). Automatic innovative truss design using grammatical evolution. Automation in Construction, 39:59–69

    Article  Google Scholar 

  44. Byrne J., Cardiff P., Brabazon A., O’Neill M. (2014). Evolving Parametric Aircraft Models for Design Exploration and Optimisation. Neurocomputing, 142:39–47.

    Article  Google Scholar 

  45. Cody-Kenny B., Fenton M., Ronayne A., Considine E., McGuire T, O’Neill M. (2017). A Search for Improved Performance in Regular Expressions, In Proceedings of the GECCO 2017 Conference Companion, Berlin, Germany. ACM

    Google Scholar 

  46. Cody-Kenny B., Manganielloa U., Farrelly J., Ronanye A., Considine E., McGuire T., O’Neill M. (2018). Investigating the Evolvability of Web Page Load Time, In Proceedings of the European Conference on the Applications of Evolutionary Computation, Parma, Italy. Springer.

    Google Scholar 

  47. Borlikova G., Phillips M., Smith L., O’Neill M. (2016). Evolving classification models for prediction of patient recruitment in multi centre clinical trials using grammatical evolution, In Proceedings of EvoAPP 2016, pp.46–57, Porto, Portugal. Springer.

    Google Scholar 

  48. Borlikova G., Phillips M., Smith L., O’Neill M. (2016). Alternative fitness functions in the development of models for prediction of patient recruitment in multicentre clinical trials, In Proceedings of OR 2016, Hamburg, Germany. Springer.

    Google Scholar 

  49. Borlikova G., O’Neill M., Phillips M., Smith L. (2017). Development of a multi-model system to accommodate unknown misclassification costs in prediction of patient recruitment in multicentre clinical trials, In Proceedings of GECCO 2017, Berlin, Germany. ACM.

    Google Scholar 

  50. Hemberg E., Ho L., O’Neill M., Claussen H. (2013). A comparison of grammatical genetic programming grammars for controlling femtocell network coverage. Genetic Programming and Evolvable Machines 14(1):65–93

    Article  Google Scholar 

  51. Hemberg E., Ho L., O’Neill M., Claussen H. (2012). Representing Communication and Learning in Femtocell Pilot Power Control Algorithms. In Rick Riolo and Ekaterina Vladislavleva and Marylyn D. Ritchie and Jason H. Moore editors, Genetic Programming Theory and Practice X, chapter 15, pages 223–238. Springer, Ann Arbor, USA, 2012

    Google Scholar 

  52. Hemberg E., Ho L., O’Neill M., Claussen H. (2012). Comparing the robustness of grammatical genetic programming solutions for femtocell algorithms. In GECCO Companion ’12: Proceedings of the fourteenth international conference on Genetic and evolutionary computation conference companion, pages 1525–1526, Philadelphia, Pennsylvania, USA, 2012. ACM.

    Google Scholar 

  53. Hemberg E., Ho L., O’Neill M., Claussen H. (2011). A symbolic regression approach to manage femtocell coverage using grammatical genetic programming. In 3rd symbolic regression and modeling workshop for GECCO 2011, pages 639–646, Dublin, Ireland, 2011. ACM.

    Google Scholar 

  54. Fenton M., Lynch D., Fagan D., Kucera S., Claussen H., O’Neill M. (2018). Towards Automation & Augmentation of the Design of Schedulers for Cellular Communications Networks. Evolutionary Computation (online first)

    Google Scholar 

  55. Fenton M., Lynch D., Kucera S., Claussen H., O’Neill M. (2017). Multilayer Optimization of Heterogeneous Networks Using Grammatical Genetic Programming. IEEE Transactions on Cybernetics, 47(9):2938–2950

    Article  Google Scholar 

  56. Fagan D., Fenton M., Lynch D., Kucera S., Claussen H., O’Neill M. (2017). Deep Learning through Evolution: A Hybrid Approach to Scheduling in a Dynamic Environment International Joint Conference on Neural Networks, In Proceedings of IJCNN 2017, Anchorage, Alaska. IEEE Press

    Google Scholar 

  57. Lynch D., Fagan D., Kucera S., Claussen H., O’Neill M. (2018). Managing Quality of Service through Intelligent Scheduling in Heterogeneous Wireless Communications Networks. In Proceedings of the 2018 IEEE Congress on Evolutionary Computation, Rio de Janeiro, Brazil. IEEE Press.

    Google Scholar 

  58. Gottschlich J., et al (2018). The Three Pillars of Machine-Based Programming. arXiv preprint arXiv:1803.07244. https://arxiv.org/pdf/1803.07244.pdf

  59. Muggleton, S.H. (1991). Inductive logic programming. New Generation Computing. 8 (4): 295–318

    Article  Google Scholar 

  60. Krawiec K. (2016). Behavioral Program Synthesis with Genetic Programming. Springer.

    Google Scholar 

Download references

Acknowledgements

We would like to acknowledge and thank the significant contributions of members, past and present, of the UCD Natural Computing Research & Applications Group to the body of work, which this chapter represents. This research is based upon works supported by Science Foundation Ireland under grants 08/IN.1/I1868, 13/IA/1850 and 13/RC/2094.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael O’Neill .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

O’Neill, M., Fagan, D. (2019). The Elephant in the Room: Towards the Application of Genetic Programming to Automatic Programming. In: Banzhaf, W., Spector, L., Sheneman, L. (eds) Genetic Programming Theory and Practice XVI. Genetic and Evolutionary Computation. Springer, Cham. https://doi.org/10.1007/978-3-030-04735-1_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-04735-1_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-04734-4

  • Online ISBN: 978-3-030-04735-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics