
Time for Genetic Programming? - dshah
http://blog.assembla.com/assemblablog/tabid/12618/bid/5680/Time-for-Genetic-Programming.aspx
======
fizx
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).

------
sanj
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?

~~~
Tamerlin
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.

