Skip to main content
Log in

Tag-based regulation of modules in genetic programming improves context-dependent problem solving

  • Published:
Genetic Programming and Evolvable Machines Aims and scope Submit manuscript

Abstract

We introduce and experimentally demonstrate the utility of tag-based genetic regulation, a new genetic programming (GP) technique that allows programs to dynamically adjust which code modules to express.Tags are evolvable labels that provide a flexible mechanism for referencing code modules. Tag-based genetic regulation extends existing tag-based naming schemes to allow programs to “promote” and “repress” code modules in order to alter expression patterns. This extension allows evolution to structure a program as a gene regulatory network where modules are regulated based on instruction executions. We demonstrate the functionality of tag-based regulation on a range of program synthesis problems. We find that tag-based regulation improves problem-solving performance on context-dependent problems; that is, problems where programs must adjust how they respond to current inputs based on prior inputs. Indeed, the system could not evolve solutions to some context-dependent problems until regulation was added. Our implementation of tag-based genetic regulation is not universally beneficial, however. We identify scenarios where the correct response to a particular input never changes, rendering tag-based regulation an unneeded functionality that can sometimes impede adaptive evolution. Tag-based genetic regulation broadens our repertoire of techniques for evolving more dynamic genetic programs and can easily be incorporated into existing tag-enabled GP systems.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Data availability

Our experimental data is publicly available as an Open Science Framework repository at https://osf.io/928fx/.

Code availability

Our source code is publicly available on GitHub at https://github.com/amlalejini/Tag-based-Genetic-Regulation-for-LinearGP [40].

Notes

  1. Alternatively, allowing programs to inherit their parent’s regulatory modifiers can provide a simple model of epigenetics.

  2. We make a slight modification to Downing’s matching procedure due to an error in its mathematical derivation, as detailed in the supplement [40].

  3. We use the testing set only to determine if a program can be categorized as a solution. The testing set is never used by the parent-selection algorithm to determine reproductive success.

  4. We verified this claim by hand-coding solutions that rely on global memory and flow-control instructions (supplemental Section 12 [40]).

References

  1. M. Aldana, E. Balleza, S. Kauffman, O. Resendiz, Robustness and evolvability in genetic regulatory networks. J. Theor. Biol. 245(3), 433–448 (2007)

    Article  MathSciNet  Google Scholar 

  2. J.J. Allaire, Y. Xie, J. McPherson, J. Luraschi, K. Ushey, A. Atkins, H. Wickham, J. Cheng, W. Chang, R. Iannone, rmarkdown: Dynamic Documents for R (R package version 2.6, 2020)

  3. M. Allen, D. Poggiali, K. Whitaker, T.R. Marshall, R.A. Kievit, Raincloud plots: a multi-platform tool for robust data visualization. Wellcome Open Res. 4, 63 (2019)

    Article  Google Scholar 

  4. P.J. Angeline, J.B. Pollack, The evolutionary induction of subroutines, in Proceedings of the Fourteenth Annual Conference of the Cognitive Science Society (Lawrence Erlbaum, Bloomington, 1992), pp. 236–241

  5. D. Banscherus, W. Banzhaf, P. Dittrich, Hierarchical genetic programming using local modules. Technical report, Universität Dortmund, October 2001. Publication Title: Reihe Computational Intelligence; 56

  6. W. Banzhaf, Artificial regulatory networks and genetic programming, in Genetic Programming Theory and Practice, ed. by R. Riolo, B. Worzel (Springer, US, Boston, 2003), pp. 43–61

    Chapter  Google Scholar 

  7. W. Banzhaf, L. Yamamoto, Artificial chemistries (The MIT Press, Cambridge, 2015)

    Book  Google Scholar 

  8. J. Bender, Plant epigenetics. Curr. Biol. 12(12), R412–R414 (2002)

    Article  Google Scholar 

  9. F. Binard, A. Felty, An abstraction-based genetic programming system, in Late breaking paper at Genetic and Evolutionary Computation Conference (GECCO’2007), ed by P.A.N. Bosman (ACM Press, London), pp. 2415–2422

  10. C.G. Cassandras, The event-driven paradigm for control, communication and optimization. J. Control Decis. 1(1), 3–17 (2014)

    Article  Google Scholar 

  11. N.L. Cramer, A representation for the adaptive generation of simple sequential programs, in Proceedings of the 1st International Conference on Genetic Algorithms, USA (L. Erlbaum Associates Inc, 1985), pp. 183–187

  12. A. Crombach, P. Hogeweg, Evolution of evolvability in gene regulatory networks. PLoS Computat. Biol. 4(7), e1000112 (2008)

    Article  MathSciNet  Google Scholar 

  13. G. Csardi, T. Nepusz, The igraph software package for complex network research. InterJournal Complex Syst. 1695 (2006)

  14. S. Cussat-Blanc, K. Harrington, W. Banzhaf, Artificial gene regulatory networks. A review. Artif. Life 24(4), 296–328 (2019)

    Article  Google Scholar 

  15. K.L. Downing, Intelligence emerging: adaptivity and search in evolving neural systems (The MIT Press, Cambridge, 2015)

    Book  Google Scholar 

  16. J. Draghi, G.P. Wagner, The evolutionary dynamics of evolvability in a gene network model. J. Evol. Biol. 22(3), 599–611 (2009)

    Article  Google Scholar 

  17. K.O. Ellefsen, J.-B. Mouret, J. Clune, Neural modularity helps organisms evolve to learn new skills without forgetting old skills. PLOS Comput. Biol. 11(4), e1004128 (2015)

    Article  Google Scholar 

  18. R. Forsyth, BEAGLE–a Darwinian approach to pattern recognition. Kybernetes 10(3), 159–166 (1981)

    Article  Google Scholar 

  19. S. Garnier, viridis: Default Color Maps from matplotlib (R package version 0.5.1, 2018)

  20. G. Gibson, I. Dworkin, Uncovering cryptic genetic variation. Nat. Rev. Genet. 5(9), 681–690 (2004)

    Article  Google Scholar 

  21. M. Harrower, C.A. Brewer, ColorBrewer.org: an online tool for selecting colour schemes for maps. Cartogr. J. 40(1), 27–37 (2003)

    Article  Google Scholar 

  22. T. Helmuth, L. Spector, General program synthesis benchmark suite, in Proceedings of the 2015 on Genetic and Evolutionary Computation Conference–GECCO’15, Madrid, Spain (ACM Press, 2015), pp. 1039–1046

  23. T. Helmuth, L. Spector, J. Matheson, Solving uncompromising problems with lexicase selection. IEEE Trans. Evol. Comput. 19(5), 630–643 (2015)

    Article  Google Scholar 

  24. J.G. Hernandez, A. Lalejini, E. Dolson, C. Ofria, Random subsampling improves performance in lexicase selection, in Proceedings of the Genetic and Evolutionary Computation Conference Companion on–GECCO’19, Prague, Czech Republic (ACM Press, 2019), pp. 2028–2031

  25. A. Hintze, J. Schossau, C. Bohm, The evolutionary buffet method, in Genetic Programming Theory and Practice XVI, ed. by W. Banzhaf, L. Spector, L. Sheneman. Genetic and Evolutionary Computation (Springer, Cham, 2019), pp. 17–36

  26. J.H. Holland, Concerning the emergence of tag-mediated lookahead in classifier systems. Physica D 42(1–3), 188–201 (1990)

    Article  Google Scholar 

  27. J.H. Holland, The effect of labels (tags) on social interactions. Technical report, Santa Fe Institute Working Paper 93-10-064. Santa Fe, NM (1993)

  28. J. Huizinga, J.-B. Mouret, J. Clune, Does aligning phenotypic and genotypic modularity improve the evolution of neural networks? in Proceedings of the Genetic and Evolutionary Computation Conference 2016, GECCO ’16, New York, NY, USA (Association for Computing Machinery. Event-place, Denver, 2016)

  29. E. Jablonka, G. Raz, Transgenerational epigenetic inheritance: prevalence, mechanisms, and implications for the study of heredity and evolution. Q. Rev. Biol. 84(2), 131–176 (2009)

    Article  Google Scholar 

  30. G. Karlebach, R. Shamir, Modelling and analysis of gene regulatory networks. Nat. Rev. Mol. Cell Biol. 9(10), 770–780 (2008)

    Article  Google Scholar 

  31. M. Keijzer, C. Ryan, M. Cattolico, Run transferable libraries ’learning functional Bias in problem domains, in Genetic and Evolutionary Computation ‘GECCO 2004 ed. by T. Kanade, J. Kittler, J.M. Kleinberg, F. Mattern, J.C. Mitchell, M. Naor, O. Nierstrasz, C.P. Rangan, B. Steffen, M. Sudan, D. Terzopoulos, D. Tygar, M.Y. Vardi, G. Weikum, K. Deb. Lecture Notes in Computer Science, vol. 3103 (Springer, Berlin, 2004), pp. 531–542

  32. M. Keijzer, C. Ryan, G. Murphy, M. Cattolico (2005) Undirected Training of Run Transferable Libraries, in Genetic Programming ed. by D. Hutchison, T. Kanade, J. Kittler, J.M. Kleinberg, F. Mattern, J.C. Mitchell, M. Naor, O. Nierstrasz, C.P. Rangan, B. Steffen, M. Sudan, D. Terzopoulos, D. Tygar, M.Y. Vardi, G. Weikum, M. Keijzer, A. Tettamanzi, P. Collet, J. van Hemert, M. Tomassini. Lecture Notes in Computer Science, vol 3447. (Springer, Berlin, 2005), pp. 361–370

  33. J.R. Koza, Hierarchical genetic algorithms operating on populations of computer programs, in Proceedings of the Eleventh International Joint Conference on Artificial Intelligence IJCAI-89, Detroit, MI, USA ed. by N.S. Sridharan, vol. 1 (Morgan Kaufmann, 1989), pp. 768–774

  34. J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection Complex adaptive systems (MIT Press, Cambridge, 1992)

  35. J.R. Koza, Genetic Programming II: Automatic Discovery of Reusable Programs Complex adaptive systems (MIT Press, Cambridge, 1994)

  36. K. Krawiec, B. Wieloch, Functional modularity for genetic programming, in Proceedings of the 11th Annual conference on Genetic and evolutionary computation—GECCO’09, Montreal, Québec, Canada (ACM Press, 2009) p. 995

  37. W. La Cava, T. Helmuth, L. Spector, K. Danai, Genetic programming with epigenetic local search, in Proceedings of the 2015 on Genetic and Evolutionary Computation Conference–GECCO’15, Madrid, Spain (ACM Press, 2015), pp. 1055–1062

  38. W. La Cava, L. Spector, Inheritable epigenetics in genetic programming, in Genetic Programming Theory and Practice XII ed. by R. Riolo, W.P. Worzel, M. Kotanchek. Genetic and Evolutionary Computation (Springer, Cham, 2015), pp. 37–51

  39. A. Lalejini, M.A. Moreno, C. Ofria, Case study of adaptive gene regulation in dishtiny. OSF (2020). https://doi.org/10.17605/OSF.IO/KQVMN

    Article  Google Scholar 

  40. A. Lalejini, M.A. Moreno, C. Ofria, Supplemental material (GitHub Repository) (2021). https://doi.org/10.5281/zenodo.4316015

  41. A. Lalejini, C. Ofria, Evolving event-driven programs with SignalGP, in Proceedings of the Genetic and Evolutionary Computation Conference on–GECCO’18, Kyoto, Japan (ACM Press, 2018), pp. 1135–1142

  42. A. Lalejini, C. Ofria, Tag-accessed memory for genetic programming, in Proceedings of the Genetic and Evolutionary Computation Conference Companion on–GECCO’19, Prague, Czech Republic (ACM Press, 2019), pp. 346–347

  43. A. Lalejini, C. Ofria, What else is in an evolved name? Exploring evolvable specificity with SignalGP, in Genetic Programming Theory and Practice XVI, ed. by W. Banzhaf, L. Spector, L. Sheneman (Springer, Cham, 2019), pp. 103–121

    Chapter  Google Scholar 

  44. A. Lalejini, M.J. Wiser, C. Ofria, Gene duplications drive the evolution of complex traits and regulation, in Proceedings of the 14th European Conference on Artificial Life ECAL 2017, Lyon, France (MIT Press, 2017), pp. 257–264

  45. S. Londe, T. Monnin, R. Cornette, V. Debat, B.L. Fisher, M. Molet, Phenotypic plasticity and modularity allow for the production of novel mosaic phenotypes in ants. EvoDevo 6(1), 36 (2015)

    Article  Google Scholar 

  46. M.A. Lones, L.A. Fuente, A.P. Turner, L.S.D. Caves, S. Stepney, S.L. Smith, A.M. Tyrrell, Artificial biochemical networks: evolving dynamical systems to control dynamical systems. IEEE Trans. Evol. Comput. 18(2), 145–166 (2014)

    Article  Google Scholar 

  47. M.A. Lones, A.P. Turner, L.A. Fuente, S. Stepney, L.S.D. Caves, A.M. Tyrrell, Biochemical connectionism. Nat. Comput. 12(4), 453–472 (2013)

    Article  MathSciNet  Google Scholar 

  48. M.A. Lones, A.M. Tyrrell, Modelling biological evolvability: implicit context and variation filtering in enzyme genetic programming. Biosystems 76(1–3), 229–238 (2004)

    Article  Google Scholar 

  49. R.L. Lopes, E. Costa, The regulatory network computational device. Genet. Program. Evolvable Mach. 13(3), 339–375 (2012)

    Article  Google Scholar 

  50. F. Mohn, D. Schübeler, Genetics and epigenetics: stability and plasticity during cellular differentiation. Trends Genet. 25(3), 129–136 (2009)

    Article  Google Scholar 

  51. E. Neuwirth, RColorBrewer: ColorBrewer Palettes (R package version 1.1-2, 2014)

  52. C. Ofria, M.A. Moreno, E. Dolson, A. Lalejini, S. Rodriguez-Papa, J. Fenton, K. Perry, S. Jorgensen, R. Hoffman, R. Miller, O.B. Edwards, J. Stredwick, C.G. Nitash, R. Clemons, A. Vostinar, R. Moreno, J. Schossau, L. Zaman, D. Rainbow, Empirical: a scientific software library for research, education, and public engagement (2020). https://doi.org/10.5281/zenodo.4141943

  53. M. O’Neill, C. Ryan, Grammar based function definition in grammatical evolution, in Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2000), Las Vegas, Nevada, USA ed. by D. Whitley, D. Goldberg, E. Cantu-Paz, L. Spector, I. Parmee, H.-G. Beyer (Morgan Kaufmann, 2000), pp. 485–490

  54. A.B. Paaby, M.V. Rockman, Cryptic genetic variation: evolution’s hidden substrate. Nat. Rev. Genet. 15(4), 247–258 (2014)

    Article  Google Scholar 

  55. R Core Team, R: A Language and Environment for Statistical Computing (R Foundation for Statistical Computing, Vienna, 2020)

  56. S. Rasmussen, C. Knudsen, R. Feldberg, M. Hindsholm, The coreworld: Emergence and evolution of cooperative structures in a computational chemistry. Physica D 42(1), 111–134 (1990)

    Article  Google Scholar 

  57. E. Ricalde, W. Banzhaf, Evolving adaptive traffic signal controllers for a real scenario using genetic programming with an epigenetic mechanism, in 2017 16th IEEE International Conference on Machine Learning and Applications (ICMLA), Cancun (IEEE, 2017), pp. 897–902

  58. J.P. Rosca, D.H. Ballard, Learning by adapting representations in genetic programming, in Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence, Orlando, FL, USA (IEEE, 1994), pp. 407–412

  59. A.K. Saini, L. Spector, Modularity metrics for genetic programming, in Proceedings of the Genetic and Evolutionary Computation Conference Companion on–GECCO’19, Prague, Czech Republic (ACM Press, 2019), pp. 2056–2059

  60. A.K. Saini, L. Spector, Using modularity metrics as design features to guide evolution in genetic programming, in Genetic Programming Theory and Practice XVII ed. by W. Banzhaf, E. Goodman, L. Sheneman, L. Trujillo, B. Worzel. Genetic and Evolutionary Computation (Springer, Cham, 2020), pp. 165–180

  61. K.G. Skocelas, B. DeVries, Test data generation for recurrent neural network implementations, in 2020 IEEE International Conference on Electro Information Technology (EIT), Chicago, IL, USA (IEEE, 2020), pp. 469–474

  62. Z.D. Smith, A. Meissner, DNA methylation: roles in mammalian development. Nat. Rev. Genet. 14(3), 204–220 (2013)

    Article  Google Scholar 

  63. L. Spector, Simultaneous evolution of programs and their control structures, in Advances in Genetic Programming 2 ed. by P.J. Angeline K.E. Kinnear, Jr., vol. 7 (MIT Press, Cambridge, 1996), pp. 137–154

  64. L. Spector, K. Harrington, T. Helmuth, Tag-based modularity in tree-based genetic programming, in Proceedings of the Fourteenth International Conference on Genetic and Evolutionary Computation Conference—GECCO’12, Philadelphia, Pennsylvania, USA (ACM Press, 2012), p. 815

  65. L. Spector, K. Harrington, B. Martin, T. Helmuth, What? in an Evolved Name? The evolution of modularity via tag-based reference, in Genetic Programming Theory and Practice IX, ed. by R. Riolo, E. Vladislavleva, J.H. Moore (Springer, New York, 2011), pp. 1–16

    Google Scholar 

  66. L. Spector, B. Martin, K. Harrington, T. Helmuth, Tag-based modules in genetic programming, in Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation—GECCO’11, Dublin, Ireland (ACM Press, 2011), p. 1419

  67. A.P. Turner, L.S.D. Caves, S. Stepney, A.M. Tyrrell, M.A. Lones, Artificial epigenetic networks: automatic decomposition of dynamical control tasks using topological self-modification. IEEE Trans. Neural Netw. Learn. Syst. 28(1), 218–230 (2017)

    Article  Google Scholar 

  68. A.J. Turner, J.F. Miller, Neutral genetic drift: an investigation using Cartesian genetic programming. Genet. Program. Evolvable Mach. 16(4), 531–558 (2015)

    Article  Google Scholar 

  69. G.P. Wagner, M. Pavlicev, J.M. Cheverud, The road to modularity. Nat. Rev. Genet. 8(12), 921–931 (2007)

    Article  Google Scholar 

  70. J.A. Walker, J.F. Miller, The automatic acquisition, evolution and reuse of modules in Cartesian genetic programming. IEEE Trans. Evol. Comput. 12(4), 397–417 (2008)

    Article  Google Scholar 

  71. S.A. Weiner, A.L. Toth, Epigenetics in social insects: a new direction for understanding the evolution of castes. Genet. Res. Int. 2012, 1–11 (2012)

    Google Scholar 

  72. H. Wickham, reshape2: Flexibly Reshape Data: A Reboot of the Reshape Package (R package version 1.4.4, 2020)

  73. H. Wickham, M. Averick, J. Bryan, W. Chang, L.D. McGowan, R. François, G. Grolemund, A. Hayes, L. Henry, J. Hester, M. Kuhn, T.L. Pedersen, E. Miller, S.M. Bache, K. Müller, J. Ooms, D. Robinson, D.P. Seidel, V. Spinu, K. Takahashi, D. Vaughan, C. Wilke, K. Woo, H. Yutani, Welcome to the tidyverse. J. Open Source Softw. 4(43), 1686 (2019)

    Article  Google Scholar 

  74. H. Wickham, W. Chang, L. Henry, T.L. Pedersen, K. Takahashi, C. Wilke, K. Woo, H. Yutani, D. Dunnington, ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics (R package version 3.3.2, 2020)

  75. C.O. Wilke, cowplot: Streamlined Plot Theme and Plot Annotations for ggplot2 (R package version 1.1.0, 2020)

  76. C.O. Wilke, C. Adami, The biology of digital organisms. Trends Ecol. Evol. 17(11), 528–532 (2002)

    Article  Google Scholar 

  77. G. Wilson, W. Banzhaf, A comparison of Cartesian genetic programming and linear genetic programming, in Genetic Programming ed. by D. Hutchison, T. Kanade, J. Kittler, J.M. Kleinberg, F. Mattern, J.C. Mitchell, M. Naor, O. Nierstrasz, C.P. Rangan, B. Steffen, M. Sudan, D. Terzopoulos, D. Tygar, M.Y. Vardi, G. Weikum, M. O’Neill, L. Vanneschi, S. Gustafson, A.I.E. Alcázar, I. De Falco, A.D. Cioppa, E. Tarantino. Lecture Notes in Computer Science, vol. 4971 (Springer, Berlin, 2008), pp. 182–193

  78. B. Wróbel, M. Joachimczak, Using the genetic regulatory evolving artificial networks (GReaNs) platform for signal processing, animat control, and artificial multicellular development, in Growing Adaptive Machines ed. by T. Kowaliw, N. Bredeche, R. Doursat. Studies in Computational Intelligence, vol. 557 (Springer, Berlin, 2014), pp. 187–200

  79. Y. Xie, bookdown: Authoring Books and Technical Documents with R Markdown (R package version 0.21, 2020)

  80. K. Yeboah-Antwi, Evolving software applications using genetic programming—PushCalc: the evolved calculator, in Proceedings of the Fourteenth International Conference on Genetic and Evolutionary Computation Conference Companion—GECCO Companion’12, Philadelphia, Pennsylvania, USA (ACM Press, 2012), p. 569

Download references

Acknowledgements

We thank our anonymous reviewers and Clifford Bohm for feedback and suggestions on this manuscript. We also thank the Digital Evolution Laboratory for thoughtful discussions, ideas, and support. This research was supported in part by NSF Grants DEB-1655715, DBI-0939454, and DGE-1424871, and by MSU through the computational resources provided by the Institute for Cyber-Enabled Research. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the NSF.

Funding

This research was supported in part by NSF Grants DEB-1655715, DBI-0939454, and DGE-1424871.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexander Lalejini.

Ethics declarations

Conflict of interest

The authors declare that they have no conflicts of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lalejini, A., Moreno, M.A. & Ofria, C. Tag-based regulation of modules in genetic programming improves context-dependent problem solving. Genet Program Evolvable Mach 22, 325–355 (2021). https://doi.org/10.1007/s10710-021-09406-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10710-021-09406-8

Keywords

Navigation