In this month's "Programming Paradigms," there appears a claim that may seem pretty fanciful. It's the strong view of artificial life, the view that researchers in this area are not just modeling life, but studying it directly. That the programs they write are not models, but instances.
It's analogous to the strong view of artificial intelligence, which says that AI attempts to understand the processes of intelligence, human or other. In both cases, the strong view assumes something that sounds absurd when you put it bluntly: that you can study the real world by writing computer programs.
If you look closely at the computer models being used in various branches of science today, you come across many examples of this idea.
Most people would support a weaker view: Although we can learn from models, the model is not the thing modeled. Programming is not scientific research. A computer program has no empirical content. The map is not the territory.
The strong view, on the other hand, seems like cheating. You know the story of the guy who's on his knees under a streetlamp and tells his friend he's looking for his earring and the friend asks where did you lose it and he says in the alley and the friend says then why are you looking here and he says the light's better? The strong view says that sometimes that works.
It would be nice if, instead of having to do messy real world experiments, we could write a program and do experiments with it, and never have to check your results against reality, because the program is reality.
That's the strong view. Is there any precedent in science for this kind of thinking?
Yes, lots. In Galileo's time it was thought that heavier objects fell faster than light ones. Galileo designed the following experiment: Tie a light object and a heavy object together with a string and drop them from a height. If heavy objects fall faster, this joint object should fall faster than either of its components alone. Since the light component will fall slower than the heavier, it should slow it down, so the joint object should fall slower than its heavy component alone. This is a contradiction; therefore heavy and light objects fall at the same speed. Galileo didn't actually do the experiment; thinking it through was enough to debunk the accepted theory and support his new theory. This was a thought experiment with zero empirical content, and it advanced science. Descriptions of thought experiments make some of the best reading in science, and are often crucial in advancing scientific thought. James Robert Brown's book The Laboratory of the Mind (Routledge, 1991) is a very readable collection of some of the most important thought experiments in science.
Brown's book also advances a strong view of thought experiments. It runs something like this: Assume that there are actual laws of the universe to be discovered. Now, any structure that follows those laws can be used to examine them, including artificial structures: thought experiments, computer programs. Science isn't about instances; it's about discovering the laws of the universe.
So if you write a program that follows some of the laws of life, you can use it to study
those laws.
One step further: If science is the attempt to discover nature's algorithms, computer programs are the best laboratories.
Michael Swaine
editor-at-large
Copyright © 1993, Dr. Dobb's Journal