Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Time for Genetic Programming? (assembla.com)
16 points by dshah on June 24, 2008 | hide | past | favorite | 3 comments


Generally, we use GP to make optimizations in exponentially sized search spaces. Lets say you're searching in a 60-dimensional space. If every dimension you add doubles your space, 10 years of Moore's law gets you a ~65-dimensional space.

It's useful to keep in mind that given an entire universe's worth of entropy and a few billion years, the best (apparently) nature could come up with is us.

That said, I do have a few fun ideas:

1. Evolve a simple natural langague date parsing library (e.g. GNU getdate, but smarter and able to handle noise) over an approximate regex library like agrep. Can you create a regex equivalent to an autoencoder?

2. Create a database of abstract syntax tree chunks from every OSS project you can find on the web. Try to learn a system that would dump chunks of code into your IDE when you hit a hot key. For example, you could write a method that takes an integer argument, and perhaps it would insert a for loop counting to n. A more intelligent system could take into account instance variables, available methods, etc. Think of it as an extension of statistical natural language methods; like SCIgen (the fake CS paper generator).


Biological evolution has thousands of examples of situations where a suboptimal condition exists rather than an optimal one because there aren't mechanisms to remove them. We have bits of code for butterfly wings in us.

How might GP deal with this, if at all?


You could make "junk DNA" a fitness criterion, and kill off entities that have lot of it that way. Natural selection doesn't really penalize that, because it has no effect on survivability.

However, it might have a long-term advantage, because of evolution's randomness; if you eliminated the junk DNA you'd also have a much more directed walk through the genome's expression space, which means that you might miss a lot of very good solutions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: