Natural selection—Richard Dawkins’ ‘blind watchmaker’—has come up with some remarkable designs over four billion years. Those that persisted are, to a greater or lesser extent, effective responses to evolutionary pressures. But many of these design solutions are far from optimal. Natural selection is an opportunist, whose default move is to recombine existing resources, cobbling something together from bits of earlier work rather than redesign from the ground up.
When I worked in software development, it was our default move too. Most programmers don’t mind describing themselves as “lazy.” Reinventing the wheel is rarely the best solution, if you have a library of previously developed, de bugged, tested implementations of rims, axles, and drive trains that have seen a few years of revenue service. Programmers like to re-use their old code because they know it works. Also, it’s usually the fastest way to meet a deadline. “Lazy” can be efficient and smart.
Although they may perform reliably, solutions assembled out of a hodgepodge of old components rarely look as nice as if someone had time to sit down and design them from scratch. And because the components were not originally made to work together , there is a greater risk of unintended side effects.
The Free On-line Dictionary defines a “kludge” (pronounced “klooj”) as:
1. A system, especially a computer system, that is constituted of poorly matched elements or of elements originally intended for other applications.
2. A clumsy or inelegant solution to a problem.
Close scrutiny of the human motivational system reveals a kludgy design. A uniquely human, state-of-the-art module for visualizing and planning the future was bolted on to the emotional apparatus of an iguana. The result works, but not well. On the whole it has been hugely adaptive, allowing us humans to flourish, multiply, and dominate our planet, outcompeting all other large species. But it is far from optimal, often working against itself, driving behaviour that is not at all adaptive either for the individuals involved or for our species as a whole. Moreover, it has unpleasant side effects.
In this post I will outline a theory of this design: how it came to be, its primary components, and why it works as well as it does. I will also lay out some of its shortcomings, and recommend an alternative, improved solution. (more…)