Citizendia
Your Ad Here

Genetic programming (GP) is an evolutionary algorithm based methodology inspired by biological evolution to find computer programs that perform a user-defined task. In Artificial intelligence, an evolutionary algorithm (EA is a Subset of Evolutionary computation, a generic population-based Metaheuristic Biologically inspired (often hyphenated as biologically-inspired computing (also bio-inspired computing) is a field of study that loosely knits together subfields eVolution is the third Album by eLDee, it was due to be released in 2008 Computer programs (also software programs, or just programs) are instructions for a Computer. It is a specialization of genetic algorithms where each individual is a computer program. A genetic algorithm (GA is a Search technique used in Computing to find exact or Approximate solutions to optimization and Search Therefore it is a machine learning technique used to optimize a population of computer programs according to a fitness landscape determined by a program's ability to perform a given computational task. Machine learning is a subfield of Artificial intelligence that is concerned with the design and development of Algorithms and techniques that allow computers to "learn" In Evolutionary biology, fitness landscapes or adaptive landscapes are used to visualize the relationship between Genotypes (or Phenotypes and

Contents

History

The roots of GP begin with the evolutionary algorithms first utilized by Nils Aall Barricelli in 1954 as applied to evolutionary simulations but evolutionary algorithms became widely recognized as optimization methods as a result of the work of Ingo Rechenberg in the 1960s and early 1970s - his group was able to solve complex engineering problems through evolution strategies (1971 PhD thesis and resulting 1973 book). In Artificial intelligence, an evolutionary algorithm (EA is a Subset of Evolutionary computation, a generic population-based Metaheuristic Nils Aall Barricelli (born 1912 died 1993 was a Norwegian-Italian mathematician In Artificial intelligence, an evolutionary algorithm (EA is a Subset of Evolutionary computation, a generic population-based Metaheuristic Ingo Rechenberg (born January 20 1934 in Berlin) is a German computer scientist and professor In computer science evolution strategy (ES is an optimization technique based on ideas of adaptation and evolution Also highly influential was the work of John Holland in the early 1970s, and particularly his 1975 book. John Henry Holland ( 2 February, 1929) is an American scientist and Professor of Psychology and Professor of Electrical Engineering and Computer

The first results on the GP methodology were reported by Stephen F. Smith (1980)[1] and Nichael L. Cramer (1985),[2]. In 1981 Forsyth reported the evolution of small programs in forensic science for the UK police. John R. Koza is a main proponent of GP and has pioneered the application of genetic programming in various complex optimization and search problems [3]. John R Koza is a Computer scientist and a consulting professor at Stanford University, most notable for his work in pioneering the use of Genetic programming

GP is very computationally intensive and so in the 1990s it was mainly used to solve relatively simple problems. But more recently, thanks to improvements in GP technology and to the exponential growth in CPU power, GP produced many novel and outstanding results in areas such as quantum computing, electronic design, game playing, sorting, searching and many more. Moore's law describes an important trend in the History of computer hardware. A quantum computer is a device for Computation that makes direct use of distinctively Quantum mechanical Phenomena, such as superposition Sorting is any process of arranging items in some sequence and/or in different sets and accordingly it has two common yet distinct meanings ordering: arranging [4] These results include the replication or development of several post-year-2000 inventions. GP has also been applied to evolvable hardware as well as computer programs. Evolvable hardware (EH is a new field about the use of Evolutionary algorithms (EA to create Electronics. There are several GP patents listed in the web site [5].

Developing a theory for GP has been very difficult and so in the 1990s GP was considered a sort of outcast among search techniques. But after a series of breakthroughs in the early 2000s, the theory of GP has had a formidable and rapid development. So much so that it has been possible to build exact probabilistic models of GP (schema theories and Markov chain models). In Mathematics, a Markov chain, named after Andrey Markov, is a Stochastic process with the Markov property.

Chromosome representation

A function represented as a tree structure
A function represented as a tree structure

GP evolves computer programs, traditionally represented in memory as tree structures. A tree structure is a way of representing the hierarchical nature of a Structure in a graphical form Trees can be easily evaluated in a recursive manner. Every tree node has an operator function and every terminal node has an operand, making mathematical expressions easy to evolve and evaluate. Thus traditionally GP favors the use of programming languages that naturally embody tree structures (for example, Lisp; other functional programming languages are also suitable). A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer. Lisp (or LISP) is a family of Computer Programming languages with a long history and a distinctive fully parenthesized syntax In Computer science, functional programming is a Programming paradigm that treats Computation as the evaluation of mathematical functions and

Non-tree representations have been suggested and successfully implemented, such as the simpler linear genetic programming which suits the more traditional imperative languages [see, for example, Banzhaf et al. "Linear genetic programming" is unrelated to " Linear programming " In Computer science, imperative programming is a Programming paradigm that describes computation in terms of statements that change a program state (1998)]. The commercial GP software Discipulus,[6] uses AIM, automatic induction of binary machine code[7] to achieve better performance. [8] MicroGP[9] uses a representation similar to linear GP to generate programs that fully exploit the syntax of a given assembly language. See the terminology section below for information regarding inconsistent use of the terms assembly and assembler

Genetic operators

The main operators used in evolutionary algorithms such as GP are crossover and mutation. In Artificial intelligence, an evolutionary algorithm (EA is a Subset of Evolutionary computation, a generic population-based Metaheuristic

Crossover

Crossover is applied on an individual by simply switching one of its nodes with another node from another individual in the population. With a tree-based representation, replacing a node means replacing the whole branch. This adds greater effectiveness to the crossover operator. The expressions resulting from crossover are very much different from their initial parents.

The following code suggests a simple implementation of individual deformation using crossover:

individual. Children[randomChildIndex] = otherIndividual. Children[randomChildIndex];

Mutation

Mutation affects an individual in the population. It can replace a whole node in the selected individual, or it can replace just the node's information. To maintain integrity, operations must be fail-safe or the type of information the node holds must be taken into account. Fail-safe or fail-secure describes a device or feature which in the event of failure, responds in a way that will cause no harm or at least a minimum of harm For example, mutation must be aware of binary operation nodes, or the operator must be able to handle missing values.

A simple piece of code:

individual. Information = randomInformation;

or

individual = generateNewIndividual;

Meta-Genetic Programming

Meta-Genetic Programming is the proposed meta learning technique of evolving a genetic programming system using genetic programming itself. Meta learning is a subfield of Machine learning where automatic learning algorithms are applied on Meta-data about machine learning experiments [10]. It suggests that chromosomes, crossover, and mutation were themselves evolved, therefore like their real life counterparts should be allowed to change on their own rather than being determined by a human programmer. Meta-GP was proposed by Jürgen Schmidhuber in 1987 [11]; it is a recursive but terminating algorithm, allowing it to avoid infinite recursion. Jürgen Schmidhuber (born 1963 in Munich) is a Computer scientist and Artist known for his work on Machine learning, universal

Critics of this idea often say this approach is overly broad in scope. However, it might be possible to constrain the fitness criterion onto a general class of results, and so obtain an evolved GP that would more efficiently produce results for sub-classes. This might take the form of a Meta evolved GP for producing human walking algorithms which is then used to evolve human running, jumping, etc. The fitness criterion applied to the Meta GP would simply be one of efficiency.

For general problem classes there may be no way to show that Meta GP will reliably produce results more efficiently than a created algorithm other than exhaustion. The same holds for standard GP and other search algorithms, of course.

See also

References and notes

  1. ^ Stephen F. Smith
  2. ^ Nichael Cramer's HomePage
  3. ^ genetic-programming.com-Home-Page
  4. ^ humancompetitive
  5. ^ jkpubs2001
  6. ^ Genetic Programming is a powerful regression and classification tool with significant advantages over neural networks, decision trees, support vector machines and robust regression. It is fast, powerful and has a proven track record of results
  7. ^ (Peter Nordin, 1997, Banzhaf et al. Genetic representation is a way of representing solutions/individuals in Evolutionary computation methods Gene Expression Programming (GEP is an evolutionary Algorithm that evolves populations of Computer programs in order to solve a user defined problem Biologically inspired (often hyphenated as biologically-inspired computing (also bio-inspired computing) is a field of study that loosely knits together subfields Peter Nordin is a Swedish computer scientist who has contributed to artificial intelligence automatically generated computer programming machine learning and evolutionary robotics , 1998, Section 11. 6. 2-11. 6. 3)
  8. ^ aigp3.dvi
  9. ^ Research: MicroGP
  10. ^ Welcome to www.helpmefigurethisout.com
  11. ^ 1987 THESIS ON LEARNING HOW TO LEARN, METALEARNING, META GENETIC PROGRAMMING, CREDIT-CONSERVING MACHINE LEARNING ECONOMY

Bibliography

External links

Implementations:

Possibly most used:

Companies:

Dictionary

genetic programming

-noun

  1. (computing) A search heuristic that explores the space of computer programs and is based on biological evolution.
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic