GA or GP? That is not the question

Genetic algorithms (GAs) and genetic programming (GP) are often considered as separate but related fields. Typically, GAs use a fixed length linear representation, whereas GP uses a variable size tree representation. This paper argues that the differences are unimportant. Firstly, variable length actually means variable length up to some fixed limit, so can really be considered as fixed length. Secondly, the representations and genetic operators of GA and GP appear different, however ultimately it is a population of bit strings in the computers memory which is being manipulated whether it is GA or GP which is being run on the computer. The important difference lies in the interpretation of the representation; if there is a one to one mapping between the description of an object and the object itself (as is the case with the representation of numbers), or a many to one mapping (as is the case with the representation of programs). This has ramifications for the validity of the No Free Lunch theorem, which is valid in the first case but not in the second. It is argued that due to the highly related nature of GAs and GP, that many of the empirical results discovered in one field will apply to the other field, for example maintaining high diversity in a population to improve performance.

[1]  Melanie Mitchell,et al.  An introduction to genetic algorithms , 1996 .

[2]  William B. Langdon,et al.  Scaling of Program Fitness Spaces , 1999, Evolutionary Computation.

[3]  L. Huelsbergen,et al.  Toward simulated evolution of machine-language iteration , 1996 .

[4]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[5]  X. Yao Evolving Artificial Neural Networks , 1999 .

[6]  William B. Langdon,et al.  Genetic Algorithms—Principles and Perspectives, A Guide to GA Theory by Colin R. Reeves and Jonathan E. Rowe, Kluwer Academic Publishers, 332 pp., $120.00, ISBN 1-4020-7240-6 , 2004, The Knowledge Engineering Review.

[7]  David B. Fogel,et al.  A history of evolutionary computation , 2018, Evolutionary Computation 1.

[8]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[9]  D. E. Goldberg,et al.  Genetic Algorithms in Search, Optimization & Machine Learning , 1989 .

[10]  Colin R. Reeves,et al.  Genetic Algorithms: Principles and Perspectives: A Guide to Ga Theory , 2002 .

[11]  Riccardo Poli,et al.  Foundations of Genetic Programming , 1999, Springer Berlin Heidelberg.

[12]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[13]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[14]  L. D. Whitley,et al.  The No Free Lunch and problem description length , 2001 .

[15]  Peter Nordin,et al.  Evolving Turing-Complete Programs for a Register Machine with Self-modifying Code , 1995, ICGA.

[16]  John R. Woodward Evolving Turing Complete representations , 2003, The 2003 Congress on Evolutionary Computation, 2003. CEC '03..

[17]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[18]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.