Friday, August 5, 2011

Last time about this I promise

I mean the weasel stuff. Well, last time for at least a little while. Toy models of evolution (even as simple as the weasel) are very cool in that they show you how powerful selection is in "overcoming" the complete randomness of mutations. In particular, it is worth keeping in mind that--despite the misrepresentations of some of the intelligent design crowd--the algorithm never "locks in" a character that happens to be exactly righ. The right characters also mutate, at the same rate as the wrong ones, and yet this is no impediment to evolution.

But toy models that are too simple are vulnerable to one particular line of attack: that even though the execution of the process is unguided, design is nevertheless "smuggled into" it via the fitness function. I think it's important to remember that it's incorrect to defend simple genetic algorithms against this attack. With respect to a lot of them (the weasel included), this objection is accurate. But that's just because they are too simple to capture important parts of the evolutionary process. The objection that design is present in the fitness function is wrong with respect to the actual evolution (and more ambitious genetic algorithms) because fitness function only specifies the goal that competing organisms are supposed to achieve, not the means through which they actually reach that goal. And it's only the latter that can be meaningfully called "design." The weasel is so crude that those two categories are actually indistinguishable in it--the goal is to become a string "METHINKS IT IS LIKE A WEASEL," and the fittest organism is the string "METHINKS IT IS LIKE A WEASEL." The point here is that while the weasel is fun, it's not a good poster boy for evolution. If you want an analogy for the evolutionary process couched in terms of computer code and a Shakespeare phrase, think of it this way. The organisms that evolve are not strings of letters but bits of computer code. Their goal is to evolve into the most efficient weasel program (where efficiency can be defined in terms of minimizing number of generations to convergence, or CPU time, or some linear combination of the two). Now it's easy to see the difference between fitness function and the fittest organism. The goal is simple: produce the string "METHINKS IT IS LIKE A WEASEL" as fast as you can. But stare at the fitness function as long as you want, and you will not be able to tell from it how the actual fittest program is going to work. If someone ran this algorithm, I'm pretty sure the winning program would look unlike anything anyone had expected.

No comments:

Post a Comment