Functional programming, UX, tech
Twitter • GitHub • LinkedIn • RSS
My book, Functional Programming in Scala, uses Scala as a vehicle for teaching FP. Read what people are saying about it.
Unison: a friendly programming language from the future
unison.cloud: the worldwide elastic computer (coming soon)
Type systems and UX: an example
CSS is unnecessary
[ science ]
I read a fascinating book recently on the Fermi Paradox, which asks the question: if there are supposedly millions of other civilizations in the galaxy, why haven’t we detected any real evidence of their existence? One class of solutions says: what happened on Earth is a fluke. We’re alone in the galaxy. Gosh, that would be disappointing! Let’s have a closer look at one piece of the puzzle.
One of the terms of the Drake equation is “the probability that intelligent life arises on a planet where life exists”. Put another way, does “intelligence”, however defined, have any special status in evolution or is it just like any other adaptive trait—no different in principle than, say, spiders evolving to spin webs or fish being able to swim? If it’s nothing special, then maybe it is a fluke that intelligence arose on Earth.
Here’s a simple argument for why evolutionary processes will, if they avoid getting stuck (more on that later), develop toward increasing levels of intelligence:
Let’s look at how this has played out in biological evolution:
A spider which has evolved over millions of years to be able to spin webs is impressive. But it’s in possession of a specialized piece of hardware. Over time, evolution discovers that a good survival strategy in a changing environment is less specialized, more general purpose hardware on which many pieces of software (learned behaviors) can all run.
Even if growing intelligence is a trend in evolutionary systems, it’s very possible for evolution to get stuck in equilibria. This might not be obvious, especially if you read popular accounts of evolution where it’s easy to get the impression we have it all figured out.
To see some of the problems, consider a simple island ecosystem with only plants (who feed off sunlight), deer (who eat the plants), and wolves (who eat deer). Even if deer can in theory become more fit by becoming more capable at evading wolves (perhaps by learning to better predict wolf behavior), who is to say that such adaptations are “reachable” according to the variability available to deer? (Deer are not going to develop opposable thumbs, large brains, language, and toolmaking all in one go, and likewise for wolves.)
Other pathologies: the wolves might evolve to be so good at hunting deer that they decimate the deer populaton (which they are dependent on). With the primary food source of wolves decimated, adeptness in hunting deer is no longer selected for, and if the wolf population repopulates, who knows what adaptive traits remain (selection may shift to favoring wolves capable of going longer without food, for instance). Likewise, if deer become so good at evading wolves, the wolf population may decline and the deer may overgraze the plant population, and so on. The system can bounce cyclicly between different states, failing to make any “progress”.
Is it just a fluke that biological evolution seems to have evolved in an open-ended fashion, or do certain kinds of evolutionary systems, like the evolution of earth’s biosphere, have open-endedness as a near inevitability? And if so, how might we engineer such systems? This is a question studied in artificial life and evolutionary computation (which I studied a long time ago). At the time, no one seemed to understand these questions very well at all, and I’m curious if progress has been made.
The way I felt when studying evolutionary computation is that our understanding of evolution was roughly analogous to our understanding of flight before the invention of the airplane. We understand the basic principles at work. We suspect we could replicate the performance of evolution with an extremely detailed simulation of biological evolution (though even this is uncertain—there are questions about whether we’d end up with similar results on Earth if we just “replayed the tape”). But it isn’t clear what aspects are truly essential or if we could substantially simplify our simulations and achieve similar results.
I don’t know how likely it is that Earth’s evolutionary process got as far as it did. I suspect there isn’t anything special about it. Time and time again, when we look at biological evolution and wonder how it ever assembled some complicated piece of biological machinery, we learn it found a way (often rediscovering the same complex structure over and over again). Seeing this kind of thing makes me hesitant to conclude that it’s a fluke evolution didn’t get stuck at the prokaryote stage or someplace else along the way to general intelligence. Perhaps there are things about biological evolution that make it unlikely to get trapped in equilibria, which we don’t fully understand yet?
I’ll close with this quote by Richard Dawkins:
Never say, and never take seriously anyone who says, “I cannot believe that so-and-so could have evolved by gradual selection”. I have dubbed this kind of fallacy “the Argument from Personal Incredulity”. Time and again, it has proven the prelude to an intellectual banana-skin experience.
I’d love to hear your thoughts on this.
comments powered by Disqus