skip to main content
10.1145/3583131.3590507acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

Comparing the expressive power of Strongly-Typed and Grammar-Guided Genetic Programming

Published:12 July 2023Publication History

ABSTRACT

Since Genetic Programming (GP) has been proposed, several flavors of GP have arisen, each with their own strengths and limitations. Grammar-Guided and Strongly-Typed GP (GGGP and STGP, respectively) are two popular flavors that have the advantage of allowing the practitioner to impose syntactic and semantic restrictions on the generated programs. GGGP makes use of (traditionally context-free) grammars to restrict the generation of (and the application of genetic operators on) individuals. By guiding this generation according to a grammar, i.e. a set of rules, GGGP improves performance by searching for an good-enough solution on a subset of the search space. This approach has been extended with Attribute Grammars to encode semantic restrictions, while Context-Free Grammars would only encode syntactic restrictions. STGP is also able to restrict the shape of the generated programs using a very simple grammar together with a type system. In this work, we address the question of which approach has more expressive power. We demonstrate that STGP has higher expressive power than Context-Free GGGP and less expressive power than Attribute Grammatical Evolution.

References

  1. Milad Taleby Ahvanooey, Qianmu Li, Ming Wu, and Shuo Wang. 2019. A Survey of Genetic Programming and Its Applications. KSII Trans. Internet Inf. Syst. 13, 4 (2019), 1765--1794. Google ScholarGoogle ScholarCross RefCross Ref
  2. Franck Binard and Amy P. Felty. 2008. Genetic programming with polymorphic types and higher-order functions. In Genetic and Evolutionary Computation Conference, GECCO 2008, Proceedings, Atlanta, GA, USA, July 12--16, 2008, Conor Ryan and Maarten Keijzer (Eds.). ACM, 1187--1194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Pablo Ramos Criado. 2017. New techniques for Grammar Guided Genetic Programming: dealing with large derivation trees and high cardinality terminal symbol sets. Ph.D. Dissertation. Universidad Politécnica de Madrid.Google ScholarGoogle Scholar
  4. Marina de la Cruz, Alfonso Ortega de la Puente, and Manuel Alfonseca. 2005. Attribute Grammar Evolution. In Artificial Intelligence and Knowledge Engineering Applications: A Bioinspired Approach: First International Work-Conference on the Interplay Between Natural and Artificial Computation, IWINAC 2005, Las Palmas, Canary Islands, Spain, June 15--18, 2005, Proceedings, Part II (Lecture Notes in Computer Science, Vol. 3562), José Mira and José R. Álvarez (Eds.). Springer, 182--191. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Péricles B. C. de Miranda and Ricardo B. C. Prudêncio. 2017. Generation of Particle Swarm Optimization algorithms: An experimental study using Grammar-Guided Genetic Programming. Appl. Soft Comput. 60 (2017), 281--296. Google ScholarGoogle ScholarCross RefCross Ref
  6. Atze Dijkstra and S. Doaitse Swierstra. 2004. Typing Haskell with an Attribute Grammar. In Advanced Functional Programming, 5th International School, AFP 2004, Tartu, Estonia, August 14--21, 2004, Revised Lectures (Lecture Notes in Computer Science, Vol. 3622), Varmo Vene and Tarmo Uustalu (Eds.). Springer, 1--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Sophocles Ephremidis, Christos H. Papadimitriou, and Martha Sideri. 1987. Complexity characterizations of attribute grammar languages. In Proceedings of the Second Annual Conference on Structure in Complexity Theory, Cornell University, Ithaca, New York, USA, June 16--19, 1987. IEEE Computer Society.Google ScholarGoogle Scholar
  8. Guilherme Espada, Leon Ingelse, Paulo Canelas, Pedro Barbosa, and Alcides Fonseca. 2022. Data Types as a More Ergonomic Frontend for Grammar-Guided Genetic Programming. In Proceedings of the 21st ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2022, Auckland, New Zealand, December 6--7, 2022, Bernhard Scholz and Yukiyoshi Kameyama (Eds.). ACM, 86--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Alcides Fonseca, Paulo Santos, and Sara Silva. 2020. The Usability Argument for Refinement Typed Genetic Programming. In Parallel Problem Solving from Nature - PPSN XVI - 16th International Conference, PPSN 2020, Leiden, The Netherlands, September 5--9, 2020, Proceedings, Part II (Lecture Notes in Computer Science, Vol. 12270), Thomas Bäck, Mike Preuss, André H. Deutz, Hao Wang, Carola Doerr, Michael T. M. Emmerich, and Heike Trautmann (Eds.). Springer, 18--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Stefan Forstenlechner, David Fagan, Miguel Nicolau, and Michael O'Neill. 2017. A Grammar Design Pattern for Arbitrary Program Synthesis Problems in Genetic Programming. In Genetic Programming - 20th European Conference, EuroGP 2017, Amsterdam, The Netherlands, April 19--21, 2017, Proceedings (Lecture Notes in Computer Science, Vol. 10196), James McDermott, Mauro Castelli, Lukás Sekanina, Evert Haasdijk, and Pablo García-Sánchez (Eds.). 262--277. Google ScholarGoogle ScholarCross RefCross Ref
  11. Stefan Forstenlechner, David Fagan, Miguel Nicolau, and Michael O'Neill. 2018. Extending Program Synthesis Grammars for Grammar-Guided Genetic Programming. In Parallel Problem Solving from Nature - PPSN XV - 15th International Conference, Coimbra, Portugal, September 8--12, 2018, Proceedings, Part I (Lecture Notes in Computer Science, Vol. 11101), Anne Auger, Carlos M. Fonseca, Nuno Lourenço, Penousal Machado, Luís Paquete, and L. Darrell Whitley (Eds.). Springer, 197--208. Google ScholarGoogle ScholarCross RefCross Ref
  12. Thomas Helmuth and Peter Kelly. 2021. PSB2: the second program synthesis benchmark suite. In GECCO '21: Genetic and Evolutionary Computation Conference, Lille, France, July 10--14, 2021, Francisco Chicano and Krzysztof Krawiec (Eds.). ACM, 785--794. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Ted Kaminski and Eric Van Wyk. 2011. Integrating Attribute Grammar and Functional Programming Language Features. In Software Language Engineering - 4th International Conference, SLE 2011, Braga, Portugal, July 3--4, 2011, Revised Selected Papers (Lecture Notes in Computer Science, Vol. 6940), Anthony M. Sloane and Uwe Aßmann (Eds.). Springer, 263--282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Sven Karol. 2006. An introduction to attribute grammars. Department of Computer Science. Technische Universitat Dresden, Germany (2006).Google ScholarGoogle Scholar
  15. Mohammad Wahab Khan and Mansaf Alam. 2012. A survey of application: Genomics and genetic programming, a new frontier. Genomics 100, 2 (2012), 65--71. Google ScholarGoogle ScholarCross RefCross Ref
  16. Donald E. Knuth. 1968. Semantics of Context-Free Languages. Math. Syst. Theory 2, 2 (1968), 127--145. Google ScholarGoogle ScholarCross RefCross Ref
  17. Krzysztof Krawiec, Iwo Bladek, and Jerry Swan. 2017. Counterexample-driven genetic programming. In Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2017, Berlin, Germany, July 15--19, 2017, Peter A. N. Bosman (Ed.). ACM, 953--960. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Tomás Kren, Josef Moudrík, and Roman Neruda. 2017. Combining top-down and bottom-up approaches for automated discovery of typed programs. In 2017 IEEE Symposium Series on Computational Intelligence, SSCI 2017, Honolulu, HI, USA, November 27 - Dec. 1, 2017. IEEE, 1--8. Google ScholarGoogle ScholarCross RefCross Ref
  19. Tomás Kren and Roman Neruda. 2014. Generating lambda term individuals in typed genetic programming using forgetful A*. In Proceedings of the IEEE Congress on Evolutionary Computation, CEC 2014, Beijing, China, July 6--11, 2014. IEEE, 1847--1854. Google ScholarGoogle ScholarCross RefCross Ref
  20. Nuno Lourenço, Filipe Assunção, Francisco B. Pereira, Ernesto Costa, and Penousal Machado. 2018. Structured Grammatical Evolution: A Dynamic Approach. In Handbook of Grammatical Evolution, Conor Ryan, Michael O'Neill, and J. J. Collins (Eds.). Springer, 137--161. Google ScholarGoogle ScholarCross RefCross Ref
  21. Robert I. McKay, Nguyen Xuan Hoai, Peter Alexander Whigham, Yin Shan, and Michael O'Neill. 2010. Grammar-based Genetic Programming: a survey. Genet. Program. Evolvable Mach. 11, 3--4 (2010), 365--396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. David J. Montana. 1995. Strongly Typed Genetic Programming. Evol. Comput. 3, 2 (1995), 199--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Miguel Nicolau. 2004. Automatic grammar complexity reduction in grammatical evolution. In The 3rd Grammatical Evolution Workshop: A workshop of the 2004 Genetic and Evolutionary Computation Conference (GECCO-2004), Seattle, Washington, USA, 26--30 June 2004.Google ScholarGoogle Scholar
  24. Miguel Nicolau and Alexandros Agapitos. 2018. Understanding Grammatical Evolution: Grammar Design. In Handbook of Grammatical Evolution, Conor Ryan, Michael O'Neill, and J. J. Collins (Eds.). Springer, 23--53. Google ScholarGoogle ScholarCross RefCross Ref
  25. Adam Nohejl. 2011. Grammar-based genetic programming. (2011).Google ScholarGoogle Scholar
  26. Alfonso Ortega, Marina de la Cruz, and Manuel Alfonseca. 2007. Christiansen Grammar Evolution: Grammatical Evolution With Semantics. IEEE Trans. Evol. Comput. 11, 1 (2007), 77--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Benjamin C Pierce. 2002. Types and programming languages. MIT press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Nadia Polikarpova and Armando Solar-Lezama. 2015. Program Synthesis from Polymorphic Refinement Types. CoRR abs/1510.08419 (2015). arXiv:1510.08419 http://arxiv.org/abs/1510.08419Google ScholarGoogle Scholar
  29. Conor Ryan, J. J. Collins, and Michael O'Neill. 1998. Grammatical Evolution: Evolving Programs for an Arbitrary Language. In Genetic Programming, First European Workshop, EuroGP'98, Paris, France, April 14--15, 1998, Proceedings (Lecture Notes in Computer Science, Vol. 1391), Wolfgang Banzhaf, Riccardo Poli, Marc Schoenauer, and Terence C. Fogarty (Eds.). Springer, 83--96. Google ScholarGoogle ScholarCross RefCross Ref
  30. Michael Sipser. 1996. Introduction to the Theory of Computation. ACM Sigact News 27, 1 (1996), 27--29.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Athanasios Tsakonas. 2006. A comparison of classification accuracy of four genetic programming-evolved intelligent structures. Inf. Sci. 176, 6 (2006), 691--724. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Silvia Regina Vergilio and Aurora Trinidad Ramirez Pozo. 2006. A Grammar-guided Genetic Programming Framework Configured for Data Mining and Software Testing. Int. J. Softw. Eng. Knowl. Eng. 16, 2 (2006), 245--268. Google ScholarGoogle ScholarCross RefCross Ref
  33. Stefan Wappler and Joachim Wegener. 2006. Evolutionary unit testing of object-oriented software using strongly-typed genetic programming. In Genetic and Evolutionary Computation Conference, GECCO 2006, Proceedings, Seattle, Washington, USA, July 8--12, 2006, Mike Cattolico (Ed.). ACM, 1925--1932. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Peter A Whigham et al. 1995. Grammatically-based genetic programming. In Proceedings of the workshop on genetic programming: from theory to real-world applications, Vol. 16. 33--41.Google ScholarGoogle Scholar
  35. Peter A. Whigham, Grant Dick, James MacLaurin, and Caitlin A. Owen. 2015. Examining the "Best of Both Worlds" of Grammatical Evolution. In Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2015, Madrid, Spain, July 11--15, 2015, Sara Silva and Anna Isabel Esparcia-Alcázar (Eds.). ACM, 1111--1118. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Comparing the expressive power of Strongly-Typed and Grammar-Guided Genetic Programming

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        GECCO '23: Proceedings of the Genetic and Evolutionary Computation Conference
        July 2023
        1667 pages
        ISBN:9798400701191
        DOI:10.1145/3583131

        Copyright © 2023 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 12 July 2023

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate1,669of4,410submissions,38%

        Upcoming Conference

        GECCO '24
        Genetic and Evolutionary Computation Conference
        July 14 - 18, 2024
        Melbourne , VIC , Australia
      • Article Metrics

        • Downloads (Last 12 months)49
        • Downloads (Last 6 weeks)7

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader