Algorithmic Inelegance

Complexity in living things is a product of the lack of direction in evolutionary processes, of the accumulation of fortuitous accidents, rather than the product of design.

by PZ Myers in Seed Magazine

Many years ago, I wrote software to supplement my income, and I know well the satisfaction of writing code, seeing it execute, and seeing functionality unfold on the computer screen. There’s something deeply appealing about making logic manifest and producing tools that do intense computational work for you at the click of a button; there can also be something deeply obsessive about being able to hone software to make it more elegant and efficient and, to the programmer’s eye, more beautiful. The designers of software usually aspire to economy of code, clarity in its operation, and powerful algorithms that, with mathematical and logical beauty, do the work of generating a sophisticated result. We tend to look down on the “kludge,” the clumsy addition to fix a problem, or the brute force approach of working case by case to force a desired result (although, to be sure, I’ve seen enough code to know that the awkward hack is ubiquitous).

Now I’m a full-time developmental biologist, and unsurprisingly, I see similar expectations in myself and in my colleagues. We don’t have the power to design embryos, but we do analyze the “code”—the genetic instructions and the operation of the developmental programs that take the egg from embryo to adult. We look for algorithmic elegance and simple procedures that lead to the impressive complexity of form, and sometimes we see it; there is often a kernel of clean, simple molecular interactions that lay down a framework for the organism. However, what we more often see is the action of the invisible hand of evolution: the evidence of random accidents that have been incorporated into the code, of elaborations built of bricolage, a collage of bits and pieces assembled into a larger structure. Life is a collection of kludges taped together by chance and filtered by selection for functionality; it all works magnificently well, but if you look under the hood you are simultaneously appalled by the sheer inelegance of the molecular gemisch and impressed with the accumulation of complexity.

More… (do read on – this is an excellent piece!)

Leave a Reply