Live data from Hacker News

A Field Guide to Genetic Programming (2008) [pdf]

dces.essex.ac.uk

11–17 of 17 posts

Re: A Field Guide to Genetic Programming (2008) [pdf]

#13
post #2

I've always been fascinated by genetic programming, and I've always wondered why it isn't more prominent. Is it not actually that useful? Is it too hard to use? Does building magic black boxes scare people? I'd love to hear from anyone who's used genetic programming for... well, anything really.

I ran some experiments with genetic programming some years ago. It turns out that the time taken to evolve a program is exponential in the size of the program, which unfortunately makes the technique not actually that useful.

Re: A Field Guide to Genetic Programming (2008) [pdf]

#14
post #2

I've always been fascinated by genetic programming, and I've always wondered why it isn't more prominent. Is it not actually that useful? Is it too hard to use? Does building magic black boxes scare people? I'd love to hear from anyone who's used genetic programming for... well, anything really.

Only because you asked, this has been my pet project :) Using Artificial Intelligence to Write Self-Modifying/Improving Programs http://www.primaryobjects.com/CMS/Article149

Thanks for posting - I've had a quick skim and it looks really interesting. Bookmarked for weekend reading :)

Have you seen Clojush? It's "the Push programming language and the PushGP genetic programming system implemented in Clojure." I haven't had a chance to play with it yet, but it seems to be in active development. https://github.com/lspector/Clojush

Re: A Field Guide to Genetic Programming (2008) [pdf]

#15
post #2

I've always been fascinated by genetic programming, and I've always wondered why it isn't more prominent. Is it not actually that useful? Is it too hard to use? Does building magic black boxes scare people? I'd love to hear from anyone who's used genetic programming for... well, anything really.

To quickly answer your question:

- GPs are normally used in problems where you don't know what the answer looks like, but you know it when you see it, and it is a Global Search algorithm. The biggest problem is the search space of which GPs are used is enormous, so it takes a long time to find a solution. In the practical world this isn't very practical because there are many other good enough approaches that give you approximately the same answer, but there are obviously edge cases (see point 3).

- Tuning GPs is also very difficult, there are simply too many control parameters such as population size, crossover rate, mutation rate, crossover method, mutation method, selection method, do you adjust the parameters on the fly or make it fixed from the beginning etc... you get the idea. These parameters play a role into how fast you might find the answer but there are no guarantees because of the randomness nature of the algorithm, example, one set of optimal parameters might be really bad the next run.

- In terms of application GP is actually being used in the industry, but you probably don't hear about it because it is either a trade secret or people want a more deterministic solution. One example is testing, a particular company uses it to test their compiler technology, instead of just having humans write test code to test every possible bug, GP can be used to create valid* programs that intentionally make the compiler fail. Others include the great work done at Nutonian (http://www.nutonian.com/), where they use GP to evolve equations out of data (aka Symbolic Regression).

Lastly, a shameless plug but if you want to play around with GPs I have written my own GP framework here: http://chutsu.github.io/playground/ (very much a work in progress)

Re: A Field Guide to Genetic Programming (2008) [pdf]

#16
post #10
post #2

I've always been fascinated by genetic programming, and I've always wondered why it isn't more prominent. Is it not actually that useful? Is it too hard to use? Does building magic black boxes scare people? I'd love to hear from anyone who's used genetic programming for... well, anything really.

I wonder as well; I was really interested in it back when I was in college, but that was like 15 years ago, and it seems that the field has been pretty dead for most of that time. I thought it showed a lot of promise, so I'm pretty disappointed.

The field has not really been publicized that much, but it is by no means dead. Take the research done at Cornell for example, they are doing some really interesting work with Evolutionary Algorithms (https://www.youtube.com/watch?v=lMkHYE9-R0A), of which one PhD graduate (Michael Schmidt) has even started his own startup called Nutonian (http://www.nutonian.com) where they have a large list of customers (check it out).

Part time scientists is a Lunar X Prize team, the software lead of that group has used Cartesian Genetic Programming to evolve programs to filter images. (https://www.youtube.com/watch?v=xQDazGrKsuM) and network protocols (https://www.youtube.com/watch?v=zoOOpiMJQ8s).

Agreed that Evolutionary Algorithms are taking a backseat at the moment, but you can argue that Neural Networks also was very dormant until some thing like Deep Neural Networks came out, which is essentially the same idea but with a new learning method (http://www.newyorker.com/news/news-desk/is-deep-learning-a-r...). I believe there will be a break through at some point, just don't think it is dead yet ;)

Re: A Field Guide to Genetic Programming (2008) [pdf]

#17
post #16
post #10

Earlier quoted context omitted.

I wonder as well; I was really interested in it back when I was in college, but that was like 15 years ago, and it seems that the field has been pretty dead for most of that time. I thought it showed a lot of promise, so I'm pretty disappointed.

The field has not really been publicized that much, but it is by no means dead. Take the research done at Cornell for example, they are doing some really interesting work with Evolutionary Algorithms ( https://www.youtube.com/watch?v=lMkHYE9-R0A ), of which one PhD graduate (Michael Schmidt) has even started his own startup called Nutonian ( http://www.nutonian.com ) where they have a large list of customers (check i…

Awesome, thanks :-) It was a field that I really liked, and had I continued in CS I would have definitely focused on it. But didn't really see much happening when I'd look into it periodically. I'm glad that it's continuing :-)
Post reply on HN