A Brief History
The first record of the proposal to evolve programs is probably that of Alan Turing[1] in the 1950s. However, there was a gap of some thirty years before Richard Forsyth[2] demonstrated the successful evolution of small programs, represented as trees, to perform classification of crime scene evidence for the UK Home Office.
Although the idea of evolving programs, initially in the computer language LISP, was current amongst John Holland’s students[3], it was not until they organised the first Genetic Algorithms conference in Pittsburgh that Nichael Cramer[4] published evolved programs in two specially designed languages. In 1988 John Koza (also a PhD student of John Holland) patented his invention of a GA for program evolution[5]. This was followed by publication in the International Joint Conference on Artificial Intelligence IJCAI-89[6].
Koza followed this with 205 publications on “Genetic Programming” (GP), name coined by David Goldberg, also a PhD student of John Holland[7]. However, it is the series of 4 books by Koza, starting in 1992 with[8] accompanying videos[9], that really established GP. Subsequently, there was an enormous expansion of the number of publications with the Genetic Programming Bibliography, surpassing 10,000 entries[10]. In 2010, Koza[18] listed 77 results where Genetic Programming was human competitive.
In 1996 Koza started the annual Genetic Programming conference[11] which was followed in 1998 by the annual EuroGP conference[12], and the first book[13] in a GP series edited by Koza. 1998 also saw the first GP textbook[14]. GP continued to flourish, leading to the first specialist GP journal[15] and three years later (2003) the annual Genetic Programming Theory and Practice (GPTP) workshop was established by Rick Riolo[16]. Genetic Programming papers continue to be published at a diversity of conferences and associated journals. Today there are nineteen GP books including several for students[17].
Foundational work in GP
Early work that set the stage for current genetic programming research topics and applications is diverse, and includes software synthesis and repair, predictive modelling, data mining [19], financial modelling [20], soft sensors [21]), design [22], and image processing [23]. Applications in some areas, such as design, often make use of intermediate representations [24], such as Fred Gruau’s cellular encoding [25]. Industrial uptake has been significant in several areas including finance, the chemical industry, bioinformatics [26] and the steel industry[27].
Bibliography *
[1] OAI:cogprints.soton.ac.uk:499
[2] Kybernetes:Forsyth
[3] Tom Westerdale – (a personal communication)
[4] ICGA85:Cramer
[5] Koza:1990:pat-GAsp
[6] Koza89
[7] Goldberg. D.E. (1983), Computer-aided gas pipeline operation using genetic algorithms and rule learning. Dissertation presented to the University of Michigan at Ann Arbor, Michigan, in partial fulfillment of the requirements for Ph.D.
[8] Koza:book
[9] Koza:video
[10] Hu:2014:Alife
[11] Koza:gp96
[12] Banzhaf:1998:GP
[13] Langdon:book
[14] Banzhaf:1997:book
[15] Banzhaf:2000:ei
[16] RioloWorzel:2003
[17] Banzhaf:1997:book, poli08:fieldguide, Rivero:GPtutorial
[18] Koza:2010:GPEM
[19] Freitas:2002:book
[20] Tsang:1998:eddie
[21] Kordon:book
[22] DBLP:journals/aiedam/Koza08
[23] Lam:doh:gecco2004
[24] Bentley:1999:TWGDACEEDP
[25] Gruau93
[26] Taylor:1998:gadiirsab, langdon:2008:SC
[27] Kovacic:2009:MMP
* references are being updated