I used to do some research in the field of genetic algorithms. This still fascinates me, especially the little edge case stories of amazing results, like the possibly apocryphal story of a guy doing GA work with field-programmable gate arrays (FPGA). He was trying to do some basic signal processing — I believe it was trying to recognize the word “yes” but my interweb search skills are failing me this morning — and using a GA to program the FPGA to do this. This entails basically coding the FPGA with a hundred or so random variations, testing it, taking the best 10, permuting those somehow (usually by splicing pieces of the winners together and adding a small amount of random permutation), and then testing the new 100.
Repeat until success.
The end result was a working “yes” recognizer (which we expect — GAs do work). In fact there were several. All but one were pretty comprehensible when reverse engineered. But one was very hard to understand — there was substantial logic on the chip that was never reached by execution, but if that logic was removed, the recognizer failed! It turns out this was some radio-frequency leakage or reflection from that logic that made the functional logic work — a side effect. Of course this was a very fragile effect, and changing the temperature by a few degrees either way ground it to a halt. But this story is highly illustrative of several facts about and Darwinistic system:
First, it exploits side effects. It doesn’t matter what the logical way to stick the allowed building blocks together is, it will use any unintentional properties to optimize the solution. Tricky!
Second, it hinges entirely on the selection criteria: how you pick which individuals in a generation to move forward to the next generation. So when your criteria is “how well does it recognize the word, ‘yes'”, then what you get is a good “yes” recognizer. Period. No other factors will be considered.
This means that when analyzing any Darwinian system, you need to drill down to the atomic unit of selection, which is why Dawkins’ revelation that gene reproduction is at the heart of understanding biological Darwinism is so profound. It sounds ridiculous, as though genes have some will and agenda, but really it’s just a clear statement of the root selection mechanism. All the more interesting things about behaviour and results of the system derive from it, though in much the same way that Newtonian physics derives from, ultimately, sub-atomic behaviour. It does, and that’s useful, but not handy for shooting pool.
Unfortunately, there are many (and some are unknowing) wielders of Darwinian pool who think they are doing one thing when a deep analysis of selection criteria would reveal that they are doing something different. And that good results can be side effects or transient behaviour in the system.
We are often led to believe that Darwinism leads to “good” results at least in part because, in the biological realm, it led to us. This is artificial, however, and you should have alarm bells going off whenever anyone applies a value like “good” or “bad” to a Darwinian result. It just does what it does and things don’t get “better” in any deliberate sense. Sure they got better for us, for a while, anyway, but this is no guarantee of continued awesomeness. What it does guarantee is propagation of a lot of genes (and, actually, any other self-reproducing material). As soon as humanity is generally detrimental to gene propagation, we’ll be corrected for. Nothing special about us monkeys.
So the crux of a Darwinian algorithm is a set of reproducers, some criteria for selection and rejection, and reproduction with variation. If you have this in any context you get progress towards optimizing meeting the selection criteria. In computer science this is pretty easy to pin down because it’s probably one line in the code. In the real world, though, because the atomic unit of reproduction (a gene) is so far removed from the selection mechanisms (animal-scale interaction) it’s probably impossible to untangle. It’s also a moving target. If you optimize for evading lions and lions go extinct, you’ll have new dominant pressures. And the real world is a dynamic web of interconnecting pressures. very very tricky stuff.
This looks like a science post. It’s actually a political post.