Advertisement

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

  • Michael O’NeillEmail author
  • David Fagan
Chapter
Part of the Genetic and Evolutionary Computation book series (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.

Notes

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.

References

  1. 1.
    Bierman A.W., Guiho G., Kodratoff Y. (Ed’s) (1984). Automatic Program Construction Techniques. Macmillan Publishing Company.Google Scholar
  2. 2.
    Rich C., Waters R. (1988). Automatic Programming: Myths and prospects. IEEE Computer 21(8):40–51.CrossRefGoogle Scholar
  3. 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. 4.
    Koza J.R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT PressGoogle Scholar
  5. 5.
    Koza J.R. (1994). Genetic Programming II: Automatic Discovery of Reusable Programs. MIT PressGoogle Scholar
  6. 6.
    Koza J.R., Andre D., Bennet III Forrest H., Keane M. (1999). Genetic Programming III: Darwinian Invention and Problem Solving. Morgan KaufmannGoogle Scholar
  7. 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. 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.MathSciNetCrossRefGoogle Scholar
  9. 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. 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. 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. 12.
    O’Neill M., Vanneschi L., Gustafson S., Banzhaf W. (2010). Open Issues in Genetic Programming. Genetic Programming and Evolvable Machines, 11(4):339–363CrossRefGoogle Scholar
  13. 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–383CrossRefGoogle Scholar
  14. 14.
    Friedberg R. (1958). A Learning Machine: Part 1. IBM Journal of Research and Development. 2(1):2–13.MathSciNetCrossRefGoogle Scholar
  15. 15.
    Friedberg R., Dunham B., North J. (1959). A Learning Machine: Part 2. IBM Journal of Research and Development pp282–287.Google Scholar
  16. 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.CrossRefGoogle Scholar
  17. 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. 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. ACMGoogle Scholar
  19. 19.
  20. 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. ACMGoogle Scholar
  21. 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–396CrossRefGoogle Scholar
  22. 22.
    O’Neill M., Ryan C. (2003). Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers.Google Scholar
  23. 23.
    Brabazon A., O’Neill M. (2006). Biologically Inspired Algorithms for Financial Modelling. Springer.Google Scholar
  24. 24.
    Dempsey I., Brabazon A., O’Neill M. (2009). Foundations in Grammatical Evolution for Dynamic Environments. Springer.Google Scholar
  25. 25.
    Brabazon A., McGarraghy S., O’Neill M. (2015). Natural Computing Algorithms. Springer.Google Scholar
  26. 26.
    Ryan C., O’Neill M., Collins J.J. (Ed’s) (2018). Handbook of Grammatical Evolution. SpringerGoogle Scholar
  27. 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. 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. 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. 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. 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. 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–328CrossRefGoogle Scholar
  33. 33.
    Brabazon A., O’Neill M. (2004). Diagnosing Corporate Stability using Grammatical Evolution. International Journal of Applied Mathematics and Computer Science, 14(3):363–374zbMATHGoogle Scholar
  34. 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. 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–31CrossRefGoogle Scholar
  36. 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. 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. 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. 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. 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–589CrossRefGoogle Scholar
  41. 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–238CrossRefGoogle Scholar
  42. 42.
    Byrne J., Fenton M., Hemberg E., McDermott J., O’Neill M. (2014). Optimising Complex Pylon Structures with Grammatical Evolution. Information Sciences, 316:582–597CrossRefGoogle Scholar
  43. 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–69CrossRefGoogle Scholar
  44. 44.
    Byrne J., Cardiff P., Brabazon A., O’Neill M. (2014). Evolving Parametric Aircraft Models for Design Exploration and Optimisation. Neurocomputing, 142:39–47.CrossRefGoogle Scholar
  45. 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. ACMGoogle Scholar
  46. 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. 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. 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. 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. 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–93CrossRefGoogle Scholar
  51. 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, 2012Google Scholar
  52. 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. 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. 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. 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–2950CrossRefGoogle Scholar
  56. 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 PressGoogle Scholar
  57. 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. 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. 59.
    Muggleton, S.H. (1991). Inductive logic programming. New Generation Computing. 8 (4): 295–318CrossRefGoogle Scholar
  60. 60.
    Krawiec K. (2016). Behavioral Program Synthesis with Genetic Programming. Springer.Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Natural Computing Research & Applications Group, School of BusinessUniversity College DublinDublinIreland

Personalised recommendations