Difference between revisions of "Genetic Programming"

From Chessprogramming wiki
Jump to: navigation, search
Line 5: Line 5:
 
'''Genetic Programming''' (GP),<br/>
 
'''Genetic Programming''' (GP),<br/>
 
an [https://en.wikipedia.org/wiki/Evolution evolutionary] based methodology inspired by [https://en.wikipedia.org/wiki/Biological_evolution biological evolution] to [https://en.wikipedia.org/wiki/Optimization_%28mathematics%29 optimize] computer programs, in particular game playing programs. It is a [[Learning|machine learning]] technique used to optimize a population of programs, for instance to maximize the winning rate versus a set of opponents, after modifying [[Evaluation|evaluation]] weights or [[Search|search]] parameter.  
 
an [https://en.wikipedia.org/wiki/Evolution evolutionary] based methodology inspired by [https://en.wikipedia.org/wiki/Biological_evolution biological evolution] to [https://en.wikipedia.org/wiki/Optimization_%28mathematics%29 optimize] computer programs, in particular game playing programs. It is a [[Learning|machine learning]] technique used to optimize a population of programs, for instance to maximize the winning rate versus a set of opponents, after modifying [[Evaluation|evaluation]] weights or [[Search|search]] parameter.  
 +
<span id="EvolutionaryProgramming"></span>
 +
=Evolutionary Programming=
 +
[https://en.wikipedia.org/wiki/Evolutionary_programming Evolutionary programming] is similar to genetic programming, but the structure of the program to be optimized is fixed, while its numerical parameters are allowed to evolve. The term was coined by [https://en.wikipedia.org/wiki/Lawrence_J._Fogel Lawrence J. Fogel] in 1960.
  
 
=Supersets=  
 
=Supersets=  
Line 86: Line 89:
 
* [https://en.wikipedia.org/wiki/John_Koza John Koza] et al. (Eds.) ('''1998'''). ''Genetic Programming''. [https://en.wikipedia.org/wiki/Morgan_Kaufmann_Publishers Morgan Kaufmann Publishers], [https://en.wikipedia.org/wiki/Special:BookSources/1558605487 ISBN 1-55860-548-7]  
 
* [https://en.wikipedia.org/wiki/John_Koza John Koza] et al. (Eds.) ('''1998'''). ''Genetic Programming''. [https://en.wikipedia.org/wiki/Morgan_Kaufmann_Publishers Morgan Kaufmann Publishers], [https://en.wikipedia.org/wiki/Special:BookSources/1558605487 ISBN 1-55860-548-7]  
 
* [https://en.wikipedia.org/wiki/John_Koza John Koza] et al. ('''1999'''). ''Genetic Programming III: Darwinian Invention and Problem Solving''. [https://en.wikipedia.org/wiki/Morgan_Kaufmann_Publishers Morgan Kaufmann], [https://en.wikipedia.org/wiki/Special:BookSources/1558605436 ISBN 1-55860-543-6]
 
* [https://en.wikipedia.org/wiki/John_Koza John Koza] et al. ('''1999'''). ''Genetic Programming III: Darwinian Invention and Problem Solving''. [https://en.wikipedia.org/wiki/Morgan_Kaufmann_Publishers Morgan Kaufmann], [https://en.wikipedia.org/wiki/Special:BookSources/1558605436 ISBN 1-55860-543-6]
* [[Kumar Chellapilla]], [[David B. Fogel]] ('''1999'''). ''[http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=784222 Evolution, Neural Networks, Games, and Intelligence]''. [[IEEE#Proceedings|Proceedings of the IEEE]], September, pp. 1471-1496. [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.99.979 CiteSeerX]
+
* [[Kumar Chellapilla]], [[David B. Fogel]] ('''1999'''). ''[http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=784222 Evolution, Neural Networks, Games, and Intelligence]''. [[IEEE#Proceedings|Proceedings of the IEEE]]
 
* [http://www.tim-taylor.com/ Tim Taylor] ('''1999'''). ''[http://www.tim-taylor.com/papers/thesis/html/main.html From Artificial Evolution to Artificial Life]''. Ph.D. Thesis, [[University of Edinburgh]]
 
* [http://www.tim-taylor.com/ Tim Taylor] ('''1999'''). ''[http://www.tim-taylor.com/papers/thesis/html/main.html From Artificial Evolution to Artificial Life]''. Ph.D. Thesis, [[University of Edinburgh]]
 
* [[Philip G. K. Reiser]], [[Patricia J. Riddle]] ('''1999'''). ''[http://link.springer.com/chapter/10.1007%2F3-540-48873-1_19 Evolving Logic Programs to Classify Chess-Endgame Positions]''. [http://link.springer.com/book/10.1007%2F3-540-48873-1 Simulated Evolution and Learning], [https://en.wikipedia.org/wiki/Canberra Canberra], Australia. [http://www.springer.com/series/1244 Lecture Notes in Artificial Intelligence], No. 1585, [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer], [http://stancomb.co.uk/Papers/seal98.pdf pdf] » [[Learning]], [[Endgame]]
 
* [[Philip G. K. Reiser]], [[Patricia J. Riddle]] ('''1999'''). ''[http://link.springer.com/chapter/10.1007%2F3-540-48873-1_19 Evolving Logic Programs to Classify Chess-Endgame Positions]''. [http://link.springer.com/book/10.1007%2F3-540-48873-1 Simulated Evolution and Learning], [https://en.wikipedia.org/wiki/Canberra Canberra], Australia. [http://www.springer.com/series/1244 Lecture Notes in Artificial Intelligence], No. 1585, [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer], [http://stancomb.co.uk/Papers/seal98.pdf pdf] » [[Learning]], [[Endgame]]
Line 159: Line 162:
 
* [[Edward P. Manning]] ('''2010'''). ''[http://dl.acm.org/citation.cfm?id=1830667 Coevolution in a Large Search Space using Resource-limited Nash Memory]''. [http://www.informatik.uni-trier.de/~ley/db/conf/gecco/gecco2010.html#Manning10 GECCO '10] » [[Othello]]
 
* [[Edward P. Manning]] ('''2010'''). ''[http://dl.acm.org/citation.cfm?id=1830667 Coevolution in a Large Search Space using Resource-limited Nash Memory]''. [http://www.informatik.uni-trier.de/~ley/db/conf/gecco/gecco2010.html#Manning10 GECCO '10] » [[Othello]]
 
'''2011'''
 
'''2011'''
* [[Borko Bošković]], [[Janez Brest]] ('''2011'''). ''Tuning Chess Evaluation Function Parameters using Differential Evolution''. Algorithm. Informatica, 35, No. 2, [http://www.informatica.si/PDF/35-2/14_Boskovic%20-%20Tuning%20chess%20evaluation.pdf pdf]
+
* [https://dblp.uni-trier.de/pers/hd/f/Fogel:Gary_B= Gary B. Fogel], [[David B. Fogel]], [https://dblp.uni-trier.de/pers/hd/f/Fogel:Lawrence_J= Lawrence J. Fogel] ('''2011'''). ''[http://www.scholarpedia.org/article/Evolutionary_programming Evolutionary programming]''. [https://en.wikipedia.org/wiki/Scholarpedia Scholarpedia], Vol. 6, No. 4
 +
* [[Borko Bošković]], [[Janez Brest]] ('''2011'''). ''[http://www.informatica.si/index.php/informatica/article/view/353 Tuning Chess Evaluation Function Parameters using Differential Evolution]''. Algorithm. Informatica, 35, No. 2
 
* [[Borko Bošković]], [[Janez Brest]], [[Aleš Zamuda]], [[Sašo Greiner]], [[Viljem Žumer]] ('''2011'''). ''[http://www.springerlink.com/content/y62h14743364x2l7/ History mechanism supported differential evolution for chess evaluation function tuning]''. [http://www.springer.com/engineering/computational+intelligence+and+complexity/journal/500 Soft Computing], Vol. 15, No. 4
 
* [[Borko Bošković]], [[Janez Brest]], [[Aleš Zamuda]], [[Sašo Greiner]], [[Viljem Žumer]] ('''2011'''). ''[http://www.springerlink.com/content/y62h14743364x2l7/ History mechanism supported differential evolution for chess evaluation function tuning]''. [http://www.springer.com/engineering/computational+intelligence+and+complexity/journal/500 Soft Computing], Vol. 15, No. 4
* [[Eli David|Omid David]], [[Moshe Koppel]], [[Nathan S. Netanyahu]] ('''2011'''). ''Expert-Driven Genetic Algorithms for Simulating Evaluation Functions''. Genetic Programming and Evolvable Machines 12(1), pp. 5-20, [http://u.cs.biu.ac.il/~koppel/papers/expertga-oct21.pdf pdf]
+
* [[Eli David|Omid David]], [[Moshe Koppel]], [[Nathan S. Netanyahu]] ('''2011'''). ''Expert-Driven Genetic Algorithms for Simulating Evaluation Functions''. Genetic Programming and Evolvable Machines, Vol. 12, No. 1, [http://u.cs.biu.ac.il/~koppel/papers/expertga-oct21.pdf pdf]
 
* [[Eduardo Vázquez-Fernández]], [[Carlos Artemio Coello Coello]], [[Feliú Davino Sagols Troncoso]] ('''2011'''). ''An Evolutionary Algorithm for Tuning a Chess Evaluation Function''. [http://www.informatik.uni-trier.de/~ley/db/conf/cec/cec2011.html#Vazquez-FernandezCT11 CEC 2011], [http://delta.cs.cinvestav.mx/~ccoello/conferences/eduardo-cec2011-final.pdf.gz pdf]
 
* [[Eduardo Vázquez-Fernández]], [[Carlos Artemio Coello Coello]], [[Feliú Davino Sagols Troncoso]] ('''2011'''). ''An Evolutionary Algorithm for Tuning a Chess Evaluation Function''. [http://www.informatik.uni-trier.de/~ley/db/conf/cec/cec2011.html#Vazquez-FernandezCT11 CEC 2011], [http://delta.cs.cinvestav.mx/~ccoello/conferences/eduardo-cec2011-final.pdf.gz pdf]
 
* [[Eduardo Vázquez-Fernández]], [[Carlos Artemio Coello Coello]], [[Feliú Davino Sagols Troncoso]] ('''2011'''). ''[http://dl.acm.org/citation.cfm?id=2001882 An Adaptive Evolutionary Algorithm Based on Typical Chess Problems for Tuning a Chess Evaluation Function]''. [http://www.informatik.uni-trier.de/~ley/db/conf/gecco/gecco2011c.html#Vazquez-FernandezCT11 GECCO 2011], [http://delta.cs.cinvestav.mx/~ccoello/conferences/vazquez-gecco2011.pdf.gz pdf]
 
* [[Eduardo Vázquez-Fernández]], [[Carlos Artemio Coello Coello]], [[Feliú Davino Sagols Troncoso]] ('''2011'''). ''[http://dl.acm.org/citation.cfm?id=2001882 An Adaptive Evolutionary Algorithm Based on Typical Chess Problems for Tuning a Chess Evaluation Function]''. [http://www.informatik.uni-trier.de/~ley/db/conf/gecco/gecco2011c.html#Vazquez-FernandezCT11 GECCO 2011], [http://delta.cs.cinvestav.mx/~ccoello/conferences/vazquez-gecco2011.pdf.gz pdf]
Line 209: Line 213:
 
* [https://en.wikipedia.org/wiki/Gene Gene from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Gene Gene from Wikipedia]
 
* [http://www.geneticprogramming.com/Tutorial/ The GP Tutorial]
 
* [http://www.geneticprogramming.com/Tutorial/ The GP Tutorial]
 +
==Evolutionary Programming==
 +
* [https://en.wikipedia.org/wiki/Evolutionary_programming Evolutionary programming from Wikipedia]
 
==Genetic Algorithms==
 
==Genetic Algorithms==
 
* [http://chaos4.phy.ohiou.edu/~thomas/complex/ga.html Genetic algorithms]
 
* [http://chaos4.phy.ohiou.edu/~thomas/complex/ga.html Genetic algorithms]
Line 227: Line 233:
 
==Evolutionary Algorithms==
 
==Evolutionary Algorithms==
 
* [https://en.wikipedia.org/wiki/Evolutionary_algorithm Evolutionary algorithms from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Evolutionary_algorithm Evolutionary algorithms from Wikipedia]
* [https://www.scholarpedia.org/article/Evolutionary_algorithms Evolutionary algorithms - Scholarpedia]
 
 
* [http://home.hccnet.nl/h.g.muller/chessivers.html The Chessiverse: Evolution of Chess Programs] by [[Harm Geert Muller]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=50799 Chessiverse @HGM] by [[Daniel Shawul]], [[CCC]], January 06, 2014</ref>
 
* [http://home.hccnet.nl/h.g.muller/chessivers.html The Chessiverse: Evolution of Chess Programs] by [[Harm Geert Muller]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=50799 Chessiverse @HGM] by [[Daniel Shawul]], [[CCC]], January 06, 2014</ref>
 
==Evolutionary Computation==
 
==Evolutionary Computation==

Revision as of 14:25, 24 October 2018

Home * Learning * Genetic Programming

Genetic Programming [1]

Genetic Programming (GP),
an evolutionary based methodology inspired by biological evolution to optimize computer programs, in particular game playing programs. It is a machine learning technique used to optimize a population of programs, for instance to maximize the winning rate versus a set of opponents, after modifying evaluation weights or search parameter.

Evolutionary Programming

Evolutionary programming is similar to genetic programming, but the structure of the program to be optimized is fixed, while its numerical parameters are allowed to evolve. The term was coined by Lawrence J. Fogel in 1960.

Supersets

Genetic Programming is subset of a chain of subsequent fields in Artificial Intelligence.

Genetic Algorithms

Genetic Programming is a specialization of genetic algorithms (GA) where individuals are computer programs. This heuristic is routinely used to generate useful solutions to optimization and search problems. A genetic algorithm requires:

  1. Genetic representation
  2. Fitness function

performing the Genetic operations of

  1. Selection (genetic algorithm)
    1. Fitness proportionate selection
    2. Reward-based selection
    3. Stochastic universal sampling
    4. Tournament selection
    5. Truncation selection
  2. Crossover (genetic algorithm)

PBIL

Population-based incremental learning (PBIL) is a type of of genetic algorithm where the genotype of an entire population (probability vector) is evolved rather than individual members. The algorithm was proposed by Shumeet Baluja in 1994 [2]. The algorithm is simpler than a standard genetic algorithm, and in many cases leads to better results than a standard genetic algorithm [3].

Evolutionary Algorithms

Genetic algorithms belong to the larger class of evolutionary algorithms (EA). An EA uses some mechanisms inspired by biological evolution: reproduction, mutation, recombination, and selection. EAs are individual components that participate in an artificial evolution (AE).

Evolutionary Computation

An evolutionary algorithm (EA) is subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. Evolutionary computation, introduced by John Henry Holland in the 1970s and more popular since 1990s mimics the population-based sexual evolution through reproduction of generations.

Computational Intelligence

Computational Intelligence (CI) is a set of Nature-inspired computational methodologies and approaches and field of Artificial Intelligence. It primarily includes many-valued logic or Fuzzy logic, Neural Networks, Evolutionary Computation, swarm intelligence and Artificial immune system.

See also

Publications

1950 ...

  • Nils Barricelli (1954). Esempi numerici di processi di evoluzione, Methodos, pp. 45-68, 1954
  • Nils Barricelli (1957). Symbiogenetic evolution processes realized by artificial methods. Methodos: 143–182.

1960 ...

1970 ...

  • John Henry Holland (1975). Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. amazon.com

1980 ...

1990 ...

1995 ...

2000 ....

2001

2002

2003

2004

2005 ...

2006

2007

2008

2009

2010 ...

2011

2012

2013

2014

2015 ...

Forum Posts

1996 ...

Re: Genetic Algorithms for Chess Evaluation Functions by Jay Scott, rgcc, July 01, 1996

2010 ...

2015 ...

Re: Genetical tuning by Ferdinand Mosca, CCC, August 20, 2015

External Links

Genetic Programming

Evolutionary Programming

Genetic Algorithms

Fitness proportionate selection from Wikipedia
Reward-based selection from Wikipedia
Stochastic universal sampling from Wikipedia
Tournament selection from Wikipedia
Truncation selection from Wikipedia

Evolutionary Algorithms

Evolutionary Computation

Misc

feat.: Bennie Maupin, Bill Summers, Paul Jackson, Mike Clark and Blackbird McKnight

References

Up one Level