Content deleted Content added
Citation bot (talk | contribs) Add: bibcode, date. | Use this bot. Report bugs. | Suggested by Dominic3203 | Linked from User:Studi90/sandbox | #UCB_webform_linked 63/114 |
Citation bot (talk | contribs) Add: bibcode, url. Removed URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 32/990 |
||
(8 intermediate revisions by 6 users not shown) | |||
Line 12:
==History==
The first record of the proposal to evolve programs is probably that of [[Alan Turing]] in 1950
Although the idea of evolving programs, initially in the computer language [[Lisp (programming language)|Lisp]], was current amongst John Holland's students,<ref>A personal communication with [http://www.dcs.bbk.ac.uk/~tom/ Tom Westerdale]</ref> it was not until they organised the first [[Genetic algorithm|Genetic Algorithms]] (GA) conference in Pittsburgh that Nichael Cramer<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/icga85_cramer.html|title=A representation for the Adaptive Generation of Simple Sequential Programs|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> published evolved programs in two specially designed languages, which included the first statement of modern "tree-based" Genetic Programming (that is, procedural languages organized in tree-based structures and operated on by suitably defined GA-operators). In 1988, [[John Koza]] (also a PhD student of John Holland) patented his invention of a GA for program evolution.<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza_1990_pat-GAsp.html|title=Non-Linear Genetic Algorithms for Solving Problems|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> This was followed by publication in the International Joint Conference on Artificial Intelligence IJCAI-89.<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza89.html|title=Hierarchical genetic algorithms operating on populations of computer programs|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref>
Koza followed this with 205 publications on “Genetic Programming” (GP), name coined by David Goldberg, also a PhD student of John Holland.<ref>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.</ref> However, it is the series of 4 books by Koza, starting in 1992<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/koza_book.html|title=Genetic Programming: On the Programming of Computers by Means of Natural Selection|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> with accompanying videos,<ref>{{Cite web|url=https://www.youtube.com/watch?v=tTMpKrKkYXo| archive-url=https://ghostarchive.org/varchive/youtube/20211211/tTMpKrKkYXo| archive-date=2021-12-11 | url-status=live|title=Genetic Programming:The Movie|website=gpbib.cs.ucl.ac.uk| date=16 December 2020|language=en|access-date=2021-05-20}}{{cbignore}}</ref> that really established GP. Subsequently, there was an enormous expansion of the number of publications with the Genetic Programming Bibliography, surpassing 10,000 entries.<ref>{{Cite web|url=http://gpbib.cs.ucl.ac.uk/gp-html/Hu_2014_Alife.html|title=The effects of recombination on phenotypic exploration and robustness in evolution|website=gpbib.cs.ucl.ac.uk|language=en|access-date=2021-05-20}}</ref> In 2010, Koza<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/Koza_2010_GPEM.html|title=Human-competitive results produced by genetic programming|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> listed 77 results where Genetic Programming was human competitive.
The departure of GP from the rigid, fixed-length representations typical of early GA models was not entirely without precedent. Early work on variable-length representations laid the groundwork. One notable example is Messy Genetic Algorithms, which introduced irregular, variable-length chromosomes to address building block disruption and positional bias in standard GAs.<ref>Goldberg, D.E., Korb, B., & Deb, K. (1989). Messy Genetic Algorithms: Motivation, Analysis, and First Results. Complex Systems, 3, 493–530.</ref>
Another precursor was robot trajectory programming, where genome representations encoded program instructions for robotic movements—structures inherently variable in length.<ref>Davidor, Y. (1989). Analogous Crossover. In Proceedings of the 3rd International Conference on Genetic Algorithms (pp. 98–103). Morgan Kaufmann.</ref>
Even earlier, unfixed-length representations were proposed in a doctoral dissertation by Cavicchio, who explored adaptive search using simulated evolution. His work provided foundational ideas for flexible program structures.<ref>Cavicchio, D.J. (1970). Adaptive Search Using Simulated Evolution. Doctoral dissertation, University of Michigan, Ann Arbor.</ref>
In 1996, Koza started the annual Genetic Programming conference<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/koza_gp96.html|title=Genetic Programming 1996: Proceedings of the First Annual Conference|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> which was followed in 1998 by the annual EuroGP conference,<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/banzhaf_1998_GP.html|title=Genetic Programming|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-19}}</ref> and the first book<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/langdon_book.html|title=Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming!|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> in a GP series edited by Koza. 1998 also saw the first GP textbook.<ref name="cs.bham.ac.uk">{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/banzhaf_1997_book.html|title=Genetic Programming -- An Introduction; On the Automatic Evolution of Computer Programs and its Applications|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref> GP continued to flourish, leading to the first specialist GP journal<ref>{{Cite journal|last=Banzhaf|first=Wolfgang|date=2000-04-01|title=Editorial Introduction|journal=Genetic Programming and Evolvable Machines|language=en|volume=1|issue=1–2|pages=5–6|doi=10.1023/A:1010026829303|issn=1389-2576}}</ref> and three years later (2003) the annual Genetic Programming Theory and Practice (GPTP) workshop was established by Rick Riolo.<ref>{{Cite web|url=https://www.cs.bham.ac.uk/~wbl/biblio/gp-html/RioloWorzel_2003.html|title=Genetic Programming Theory and Practice|website=www.cs.bham.ac.uk|language=en|access-date=2018-05-20}}</ref><ref name="field guide">{{Cite web|url=http://www.gp-field-guide.org.uk/|title=A Field Guide to Genetic Programming|website=www.gp-field-guide.org.uk|access-date=2018-05-20}}</ref> 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.<ref name="cs.bham.ac.uk"/>
Line 29 ⟶ 35:
| 2000 || [[Cartesian genetic programming]] || <ref>{{cite book |last1=Miller |first1=Julian F. |series=Natural Computing Series |chapter=Cartesian Genetic Programming |date=2011 |pages=17–34 |doi=10.1007/978-3-642-17310-3_2 |chapter-url=https://link.springer.com/chapter/10.1007/978-3-642-17310-3_2 |publisher=Springer |isbn=978-3-642-17309-7 |language=en}}</ref>
|-
| 2000 || Grammar-guided GP - Dynamic grammar pruning is applied in initialization|| <ref>{{cite book |last1=Ratle |first1=Alain |last2=Sebag |first2=Michèle |chapter=Genetic Programming and Domain Knowledge: Beyond the Limitations of Grammar-Guided Machine Discovery |title=Parallel Problem Solving from Nature PPSN VI |series=Lecture Notes in Computer Science |date=2000 |volume=1917 |pages=211–220 |doi=10.1007/3-540-45356-3_21 |chapter-url=https://link.springer.com/chapter/10.1007/3-540-45356-3_21 |publisher=Springer |isbn=978-3-540-41056-0 |url=https://hal.science/hal-00116116 |language=en}}</ref>
|-
| 2001 || [[Gene expression programming]] || <ref>{{cite
|-
| 2012 || Multi-gene GP - Combination of classical method for parameter estimation and structure selection || <ref>{{cite journal |last1=Gandomi |first1=Amir Hossein |last2=Alavi |first2=Amir Hossein |title=A new multi-gene genetic programming approach to nonlinear system modeling. Part I: materials and structural engineering problems |journal=Neural Computing and Applications |date=1 February 2012 |volume=21 |issue=1 |pages=171–187 |doi=10.1007/s00521-011-0734-z |url=https://link.springer.com/article/10.1007/s00521-011-0734-z |language=en |issn=1433-3058|url-access=subscription }}</ref>
|-
| 2012 || Geometric semantic GP - Direct search in the space of the underlying semantics of the programs || <ref>{{cite book |last1=Moraglio |first1=Alberto |last2=Krawiec |first2=Krzysztof |last3=Johnson |first3=Colin G. |chapter=Geometric Semantic Genetic Programming |title=Parallel Problem Solving from Nature - PPSN XII |series=Lecture Notes in Computer Science |date=2012 |volume=7491 |pages=21–31 |doi=10.1007/978-3-642-32937-1_3 |chapter-url=https://link.springer.com/chapter/10.1007/978-3-642-32937-1_3 |publisher=Springer |isbn=978-3-642-32936-4 |language=en}}</ref>
|-
| 2015 || Surrogate GP || <ref>{{cite journal |last1=Kattan |first1=Ahmed |last2=Ong |first2=Yew-Soon |title=Surrogate Genetic Programming: A semantic aware evolutionary search |journal=Information Sciences |date=1 March 2015 |volume=296 |pages=345–359 |doi=10.1016/j.ins.2014.10.053 |url=https://www.sciencedirect.com/science/article/abs/pii/S0020025514010421 |issn=0020-0255|url-access=subscription }}</ref>
|-
| 2015 || Memetic semantic GP || <ref>{{cite book |last1=Ffrancon |first1=Robyn |last2=Schoenauer |first2=Marc |chapter=Memetic Semantic Genetic Programming |title=Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation |date=11 July 2015 |pages=1023–1030 |doi=10.1145/2739480.2754697 |chapter-url=https://dl.acm.org/doi/10.1145/2739480.2754697 |publisher=Association for Computing Machinery|isbn=978-1-4503-3472-3 |url=https://hal.inria.fr/hal-01169074/file/8parV_errors_old_vs_new.pdf }}</ref>
|-
| 2017 || Statistical GP - statistical information used to generate well-structured subtrees || <ref>{{cite journal |last1=Amir Haeri |first1=Maryam |last2=Ebadzadeh |first2=Mohammad Mehdi |last3=Folino |first3=Gianluigi |title=Statistical genetic programming for symbolic regression |journal=Applied Soft Computing |date=1 November 2017 |volume=60 |pages=447–469 |doi=10.1016/j.asoc.2017.06.050 |url=https://www.sciencedirect.com/science/article/abs/pii/S1568494617303939 |issn=1568-4946|url-access=subscription }}</ref>
|-
| 2018 || Multi-dimensional GP - novel program representation for multi-dimensional features || <ref>{{cite journal |last1=La Cava |first1=William |last2=Silva |first2=Sara |last3=Danai |first3=Kourosh |last4=Spector |first4=Lee |last5=Vanneschi |first5=Leonardo |last6=Moore |first6=Jason H. |title=Multidimensional genetic programming for multiclass classification |journal=Swarm and Evolutionary Computation |date=1 February 2019 |volume=44 |pages=260–272 |doi=10.1016/j.swevo.2018.03.015
|}
Line 60 ⟶ 66:
Morgan Kaufmann,
1999.
ISBN 978-1558605107</ref><ref>Garnett Wilson and Wolfgang Banzhaf. [http://www.cs.mun.ca/~banzhaf/papers/eurogp08_clgp.pdf "A Comparison of Cartesian Genetic Programming and Linear Genetic Programming"]</ref> The commercial GP software ''Discipulus'' uses automatic induction of binary machine code ("AIM")<ref>([[Peter Nordin]], 1997, Banzhaf et al., 1998, Section 11.6.2-11.6.3)</ref> to achieve better performance. ''μGP''<ref>{{cite web|url=
Most representations have structurally noneffective code ([[intron]]s). Such non-coding genes may seem to be useless because they have no effect on the performance of any one individual. However, they alter the probabilities of generating different offspring under the variation operators, and thus alter the individual's [[variational properties]].
Line 86 ⟶ 92:
Sometimes two child crossover is used, in which case the removed subtree (in the animation on the left) is not simply deleted but is copied to a copy of the second parent (here on the right) replacing (in the copy) its randomly chosen subtree. Thus this type of subtree crossover takes two fit trees and generates two child trees.
The tree-based approach in Genetic Programming also shares structural and procedural similarities with earlier knowledge-based and topology-oriented crossover methods. Specifically, analogous crossover and homologous crossover, both implemented in robot trajectory planning, exhibit a resemblance to subtree operations in tree GP. These crossover mechanisms were described in the context of heuristic optimisation strategies in robotics.<ref>Davidor, Y. (1991). Genetic Algorithms and Robotics: A Heuristic Strategy for Optimization. World Scientific Series in Robotics and Intelligent Systems: Volume 1.</ref>
===Replication===
|