Abstract
Genetic Programming (GP) is a machine learning technique that evolves programs using natural selection and populations dynamics. Much of the functionality of GP depends on the representation of programs in the population and how to handle illegal or type incoherent expressions that arise from crossover and mutation within a population of programs. The SKGP is a GP system that uses graphs of combinators to represent functions and a strong type system to inform the crossover and mutation operations during evolution. This produces a powerful, flexible system that has many benefits over more conventional systems. This paper describes the implementation of this system, gives some examples of successful applications constructed using the SKGP and describes future directions that may offer a more powerful GP system capable of producing more complex programs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Aho V, Sethi R, Ullman J (1986) Compilers principles, techniques, and tools. Addison-Wesley, Reading
Almal AA, Mitra AP, Datar RH, Lenehan PF, Fry DW, Cote RJ, Worzel WP (2006) Using genetic programming to classify node positive patients in bladder cancer. In: Keijzer M, Cattolico M, Arnold D, Babovic V, Blum C, Bosman P, Butz MV, Coello Coello C, Dasgupta D, Ficici SG, Foster J, Hernandez-Aguirre A, Hornby G, Lipson H, McMinn P, Moore J, Raidl G, Rothlauf F, Ryan C, Thierens D (eds) GECCO 2006: Proceedings of the 8th annual conference on Genetic and evolutionary computation, vol 1. ACM Press, Seattle, pp 239–246. doi:10.1145/1143997.1144040. http://www.cs.bham.ac.uk/wbl/biblio/gecco2006/docs/p239.pdf
Blickle T, Thiele L (1996) A comparison of selection schemes used in evolutionary algorithms. Evolut Comput 4(4):361–394. doi:10.1162/evco.1996.4.4.361. http://www.handshake.de/ user/blickle/publications/ECfinal.ps
Briggs F, O’Neill M (2006) Functional genetic programming with combinators. In: Pham TL, Le HK, Nguyen XH (eds) Proceedings of the Third Asian-Pacific workshop on genetic programming. Military Technical Academy, Hanoi, pp 110–127. http://sc.snu.ac.kr/courses/2006/fall/pg/aai/GP/forrest/fsb-meo-combs.pdf
Briggs F, O’Neill M (2008) Functional genetic programming and exhaustive program search with combinator expressions. Int J Knowl-Based Intell Eng Syst 12(1):47–68. http://iospress.metapress.com/content/u6l4j13p67w66370/
Church A, Rosser JB (1936) Some properties of conversion. Trans Am Math Soc p 39(3): 472–482
Clack C, Yu T (1997) Performance enhanced genetic programming. In: Angeline PJ, Reynolds RG, McDonnell JR, Eberhart R (eds) Proceedings of the Sixth Conference on Evolutionary Programming, Springer-Verlag, Indianapolis, Lecture Notes in Computer Science, vol 1213, pp 87–100. doi:10.1007/BFb0014803
Curry H (1929) An analysis of logical substitution. Am J Math 51:363–384
Daida JM, Li H, Tang R, Hilss AM (2003) What makes a problem GP-hard? validating a hypothesis of structural causes. In: Cantú-Paz E, Foster JA, Deb K, Davis D, Roy R, O’Reilly UM, Beyer HG, Standish R, Kendall G, Wilson S, Harman M, Wegener J, Dasgupta D, Potter MA, Schultz AC, Dowsland K, Jonoska N, Miller J (eds) Genetic and Evolutionary Computation – GECCO-2003. Springer-Verlag, Chicago, LNCS, vol 2724, pp 1665–1677. doi:10.1007/3-540-45110-2-60
Hindley J (1997) Basic simple type theory. Cambridge University Press, Cambridge
Jones SP (1987) The implementation of functional programming languages. Prentice-Hall International, UK
Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection. MIT Press, Cambridge. http://mitpress.mit.edu/books/genetic-programming
Koza JR (1994) Genetic programming II: automatic discovery of reusable programs. MIT Press, Cambridge
Koza JR, Jones LW, Keane MA, Streeter MJ (2004) Towards industrial strength automated design of analog electrical circuits by means of genetic programming. In: O’Reilly UM, Yu T, Riolo RL, Worzel B (eds) Genetic programming theory and practice II, Springer, Ann Arbor, pp 121–142. doi:10.1007/0-387-23254-0-8. http://www.genetic-programming.com/gptp2004.pdf, pages missing?
Lenehan F, Fry D, Heyman E, Walters R, Worzel W (2009) Generation and validation of a primary tumor derived 4-gene prognostic signature for recurrence of stages i/ii colorectal cancer following potentially curative resection. J Clin Oncol (Meeting Abstracts), 27:15–s
McPhee N, Hopper N (1999) Analysis of genetic diversity through population history. In: W B et al. (ed) Proceedings genetic evolutionary computation conferences. pp 1112–1120
Milner R (1978) A theory of type polymorphism in programming. J Comput Syst Sci 17(3):348–375
Mitra AP, Almal AA, George B, Fry DW, Lenehan PF, Pagliarulo V, Cote RJ, Datar RH, Worzel WP (2006) The use of genetic programming in the analysis of quantitative gene expression profiles for identification of nodal status in bladder cancer. BMC Cancer 6:159. http://www.biomedcentral.com/1471-2407/6/159
Montana DJ (1975) Strongly typed genetic programming. BBN Technical Report #7866, Bolt Beranek and Newman, Inc.
Robinson JA (1965) A machine-oriented logic based on the resolution principle. J ACM 12 (1): 23–41
Ryan C, O’Neill M (1998) Grammatical evolution: A steady state approach. In: Koza JR (ed) Late breaking papers at the genetic programming 1998 conference, stanford University Bookstore, University of Wisconsin, Madison, Wisconsin, USA, pp 180–185. http://citeseer.ist.psu.edu/cache/papers/cs/12751/http:zSzzS zscare.csis.ul.iezSzmichaelzSzpaperszSzgp98.pdf/ryan98grammatical.pdf
Schönfinkel M (1967) From Frege to Gödel: a source book in mathematical logic, Harv, chap Über die Bausteine der mathematischen Logik, pp 1879–1931
Spector L (2001) Autoconstructive evolution: Push, pushGP, and pushpop. In: Spector L, Goodman ED, Wu A, Langdon WB, Voigt HM, Gen M, Sen S, Dorigo M, Pezeshk S, Garzon MH, Burke E (eds) Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2001). Morgan Kaufmann, San Francisco, pp 137–146. http://hampshire.edu/lspector/pubs/ace.pdf
Spector L, Klein J, Keijzer M (2005) The push3 execution stack and the evolution of control. In: Beyer HG, O’Reilly UM, Arnold DV, Banzhaf W, Blum C, Bonabeau EW, Cantu-Paz E, Dasgupta D, Deb K, Foster JA, de Jong ED, Lipson H, Llora X, Mancoridis S, Pelikan M, Raidl GR, Soule T, Tyrrell AM, Watson JP, Zitzler E (eds) GECCO 2005: Proceedings of the 2005 conference on Genetic and evolutionary computation, vol 2. ACM Press, Washington DC, pp 1689–1696. doi:10.1145/1068009.1068292. http://www.cs.bham.ac.uk/ wbl/biblio/gecco2005/docs/p1689.pdf
Turner D (1979) A new implementation technique for applicative languages. Software Pract Exper 9: 31–49
Yu T (2000) Polymorphism and genetic programming. In: Whitley D (ed) Late breaking papers at the 2000 genetic and evolutionary computation conference. Las Vegas, pp 437–444
Yu T, Clack C (1998) Recursion, lambda abstractions and genetic programming. In: Koza JR, Banzhaf W, Chellapilla K, Deb K, Dorigo M, Fogel DB, Garzon MH, Goldberg DE, Iba H, Riolo R (eds) Genetic programming 1998: proceedings of the third annual conference. Morgan Kaufmann, University of Wisconsin, Madison, pp 422–431
Yu J, Yu J, Almal AA, Dhanasekaran SM, Ghosh D, Worzel WP, Chinnaiyan AM (2007) Feature selection and molecular classification of cancer using genetic programming. Neoplasia 9(4):292–303. doi:10.1593/neo.07121
Yzerman E, den Boer J, Caspers M, Almal A, Worzel B, van der Meer W, Montijn R, Schuren F (2010) Comparative genome analysis of a large dutch legionella pneumophila strain collection identifies five markers highly correlated with clinical strains. BMC Genomics 11:433. doi:10.1186/1471-2164-11-433. http://www.biomedcentral.com/1471-2164/11/433
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Worzel, W., MacLean, D. (2015). SKGP: The Way of the Combinator. In: Riolo, R., Worzel, W., Kotanchek, M. (eds) Genetic Programming Theory and Practice XII. Genetic and Evolutionary Computation. Springer, Cham. https://doi.org/10.1007/978-3-319-16030-6_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-16030-6_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-16029-0
Online ISBN: 978-3-319-16030-6
eBook Packages: Computer ScienceComputer Science (R0)