Talk:Genetic programming
From Wikipedia, the free encyclopedia
NOTE: this sounds like Evolutionary programming. Genetic Programming is a search technique more than a way to generate new programs.
From reading the genetic programming FAQ, it sounds like this is actually describing genetic programming. From another FAQ (http://www.faqs.org/faqs/ai-faq/genetic/part2/section-3.html), I get the impression genetic programming and evolutionary programming are synonymous, but I'm not sure. You may be thinking of genetic algorithms. Could an actual expert straighten us out? -- Janet Davis
Not sure if this is the right place to do it, but evolutionary programming (EP) and genetic programming (GP) are distinctly different creatures. Evolutionary Programming is much older than GP and was instigated in a time were 'Programming' ment 'Recipe' (viz. Linear Programming, Dynamic Programming, Quadratic Programming). In this day and age, and with Genetic Programming, the word actually points to creating 'computer programs'. Evolutionary programming is a recipe to perform evolution, Genetic Programming is a method to create computer programs.
About the current article. I'm a bit baffled about the statement that hill-climbing has a solid theory behind it. There is theory, but it mainly says it will fail when things get rough. The fact that GP doesn't have such theory (in fact it has, for different gradations of rough), makes it less suitable? I'll contemplate what to do with this. -Maarten Keijzer-
Anyone care to vote on the Discipulus link (2nd para)? Is it an advert or is it relevant? / Bob MacCallum
The article refered to Lisp as a declarative language, but Lisp is imperative (and a little functional) to my understanding. However, I'm not familiar with the referenced system so I don't know how best to correct the reference in the text. -Steve Post-
I edited that part out. -Michael Gospatrick-
Genetic programming is an implementation of an evolutionary algorithm (also caled an evolutionary computation method) in which the solution representation is a compter program. This is quite different from evolutionary programming in whch the solution representation is effectively a vector of values representing variables in a pre determined program structure. Because the representation is a computer program this is often refered to as an automatic programming method, perhaps it would be more clear to say that it is a search through a program space guided by evolutionary principles. I personally think the Discipulus link is an advert but also relevent....... -Peter Day-
-The text of the page could be straight from the back-cover of koza's book. It's language is so similar and higlights koza's achievements pretty much in the same way he himself does in his book. The following is particularly disturbing example of this: These results include the replication or infringement of several post-year-2000 inventions[citation needed], and the production of two patentable new inventions. 130.233.31.110 17:40, 9 March 2007 (UTC)
[edit] Meta-genetic programming impossible? -- need reference
Would be nice to have a reference following the words "critics argued that this is theoretically impossible" in the paragraph describing Meta-genetic programming... —The preceding unsigned comment was added by Knomegnome (talk • contribs) 22:00, 1 February 2007.
I wrote that because of a Usenet post in which I presented my ideas on Meta-GP. They were not well received. I disagree with the critics (Inman Harvey & xanthian@well.com) but wanted to appear even handed. - Michael Gospatrick -
The general problem of MGP -is- unsolvable because you are talking about an unconstrained, recursive system. There simply must be constraints, and even given the constraints there is no guarantee that an evolved GP will be better than a created one. Possible, but not guaranteed. I believe the best direction to go in for MGP is to work on generic classes on fitness, evolve a GP to fit that class, then use that GP to evolve subclasses. So, AI walking could be evolved with the MGP. The most efficient at it after X generations is then used to evolve running, jumping, climbing, etc. You could then use these GP to seed new GP that are used to simulate more complex or related behaviors, and so on. There is no guarantee that the Meta GP will be better than a created one, however, because there isn't any way to know that the GP you have at the end isn't just really good at evolving the thing you've already accomplished. It is simply something that seems intuitively correct through our own experience as humans, and might be shown to be generally true through exhaustion. In other words, there is need to experiment. Knomegnome 22:00, 1 February 2007 (UTC)
- Michael Gospatrick - —The preceding unsigned comment was added by 24.125.150.61 (talk • contribs) 09:33, 22 February 2007. -- wrp103 (Bill Pringle) 10:00, 22 February 2007 (UTC)
- Fair enough. Experimentation and exploration are my goals, not defending the status quo. If they prove Meta-Genetic Programming to be a farce, so be it.
- Please remember to sign your posts, and not interweave them within an existing discussion. It makes it hard to follow the thread. wrp103 (Bill Pringle) 10:00, 22 February 2007 (UTC)
[edit] What are the most popular GP packages?
In the links section it mentions a few GP implementations as "possibly most used" and all of them are implemented in C++.
I thought lilGP (C) and ECJ (Java) were the most popular. -Warren Henning