Tuesday, June 9, 2009

Parallels in Artificial and Biological Evolution

This morning it occurred to me that are a lot of parallels between the way computer systems have evolved and biological evolution in humans (and maybe in some or all other) species. In computer systems we tend to have generalized hardware capable of performing a set tasks of varying complexity. Software then runs on top of this hardware and composes the basic tasks into a series which represents a single, more complex task. Eventually, some of these tasks are deemed common enough and important enough to add hardware. Consider dedicated graphics coprocessors, on-board Ethernet, or the vector math unit found in modern CPUs (eg. SSE or AltiVec).

In humans the corollary components are genes and the brain, or perhaps more appropriately, the "mind". In humans our genetics encode a series of tasks (eg. production or proteins). The various genes and their products interact to produce us. With these base primitives the mind dreams up new routines. The new routines that are common and important enough then get disseminated through the population by learning. If the complex new routines provide a big enough survival payoff, then those members of the population whose genes (hardware) contain changes that allow them to perform these routines with fewer resources will eventually dominate.

I have no empirical evidence to back this theory up, but one place it should be testable is in how well individuals pick up new ideas from formal education, which was was a new human routine. Starting with the Renaissance in European culture (and its offshoots) the ability to learn from things like books and formal schooling started to rapidly increase in importance relative to experiencial learning, say on a farm or in a smithy. Those individual whose biology evolved to make them better at formal learning should then have been more successful than those who didn't. How you obtain the data to study this, well, that's for someone else to figure out, but until I'm proven wrong, I'll assume I'm right, :-)