Evolution: the computing metaphore
What can evolutionary computing tell us about the origin of species?
Evolutionary computing is a branch of computer science, where principles inspired from the evolution theory
are used to solve mathematical problems. In the `creation versus evolution' debate, some advocates of
evolution theory use the succes of evolutionary computing as an argument in favor of the theory. One thing apparent from
the discussion is that both sides sometimes use arguments that are not valid. The succes and insights from
evolutionary computing indeed is not an argument in favor of the evolution theory, and
in particular not in favor of an atheistic interpretation of that theory.
Let me start with stating that evolutionary computing is not my area of research, although some research I have done has
some distant relation to it. It is a succesfull method to solve certain types of problems with a computer, but the
question that I want to discuss here: can we use it as a metaphore, a parable, for the `origin of species'? If so,
what insights can we derive from it? I'll start with a description of
some of the main principles of evolutionary computing; a description
that necessarily is short, inprecise, and does not do real justice to the broadness of the field.
A tiny introduction to evolutionary computing
Evolutionary computing is a branch of computer
science where one uses some ideas from the evolution theory in a different setting: for programs that find something
that is difficult to find. I'll give a first example. Suppose we have a map and we want to give each country in the map
a color. Now, in this example (it's just an example), we have only three colors. Now, for some maps, it is necessary
that some neighboring countries get the same color. For instance, France, Luxembourg, Belgium, and Germany are
each a neighbor of each other, so when we use three colors, two neighboring countries must get the same color.
The task for the computer is to find a way to color the
countries such that as few as possible neighboring countries have the same color. A program that uses evolutionary computation
could work as follows. We start with making a number of colorings, e.g., by just throwing a dice for each country: with a 1 or 2, it gets the first color, etc. In this way, we get some number of colorings. Each of these may be quite bad, as we did
not use much intelligence so far to make them.
What we do now is to take some of the colorings, and change them in one of the following two ways:
- Mutation. We take a coloring, and change it a little. E.g., take one country and give it another color.
- Crossover. Now, we take two colorings, and combine them. So, we have two different ways to color the map,
and from this, we build a new way to color the map: for one part of the map, we use the first coloring, and for the other part, we use the colors from the second coloring.
After having done this a number of times, we have a larger set of colorings. With a little luck, some are a little better than those we started with. What we do now is selection: we throw away a number of the colorings. When doing this,
we keep the `good' colorings (those with few neighboring countries with the same color), and throw away the `bad' colorings (those with many neighboring countries with the same color), or at least, most of the bad ones.
This gives a new `generation' of colorings. The idea is that this generation should be overall somewhat better than the previous one, in that we have on the average fewer neighboring countries with the same color. Now, the process is repeated quite a number of times, and if all goes well, after some time, we get better and better solutions, approaching one
that is as good as possible. This method of mutation, crossover, and selection is used in several
settings, to solve a large range of computational problems.
The science of evolutionary computing
The area of evolutionary computing is a lively and active research area. There are a large number of computer scientists,
researching in this field, with many scientific papers being written, with yearly several conferences on the topic. Why is
this such a lively research area? Not only because the method often is quite succesful for solving difficult problems,
but also because it is certainly not easy to do it well. There are many different ways to vary on the scheme outlined above:
we can do change the way we do mutation, or do crossover, or do selection. We can vary in the way the solutions are
changed (e.g., swapping colors instead of changing one color), we can vary in the
number of solutions we carry, we can vary in the percentage that is selected by selection,
we can vary in whether we just select the better solutions, or let bad solutions go to a next
generation but with a small chance, etc. etc. etc.
One thing is very clear from the research: these choices are important. With bad choices, there can be very little progress,
and possibly the improvement between generations is so small or even absent that we would
have to run the program for many years, possibly then still not coming much nearer solutions we want to see.
With good choices, these programs can be very succesful for solving some problems.
I summarize:
In order to make evolutionary computing work well,
there must be a programmer that sets the parameters right.
The Programmer of species
Taking the evolutionary programs as a metaphore, we arrive at an argument against atheistic
evolution theory. Let me first say that with atheistic evolution theory I mean the standard
interpretation of the evolution theory among atheists:
species came into being by a process of mutation and selection, without an involvement in the process of a Higher Being.
(The other common viewpoints are creationism, and theistic evolution theory; in the latter, the process of evolution was guided by God, following His plan. In another webpage,
I discuss the three viewpoints in more detail.)
Atheist evolution theory corresponds to an evolutionary program without a programmer. But, as we see, a `random' evolutionary program would be bad, and wouldn't display the wanted
feature of improvement between following generations.
So, why would we assume that there was no Programmer setting the parameters such that evolution would lead to
increase of complexity when looking to nature and the different types of animals, while we clearly need one in the situation
where the principles are used when solving computational problems on a computer?
Atheist evolution theory advocates may state that they do not see the metaphore as valid, but then they
lose their argument that evolutionary computing shows that mutation and selection principles can lead to more complex
objects in following generations. Or they may give other reasons why they believe God does not exist, but then,
the atheism in the viewpoint becomes an assumption, and the idea that from evolution theory, we can conclude that God
does not exist, or, in any case, is not needed for an explanation of how the world as it is came about is based on a
circular argument, and, as one learns in any logic class: such arguments are not valid.
We can see that there are different species. So, while we're here speculating on the way these came into existence,
we know the end result. Why would the parameters of gravity, types of atoms, etc., etc., be exactly right such that
an end result of the type we observe would be possible, just by chance? It seems impossible that this is by
chance- you would
believe that only when you already
start with an atheistic assumption, or do some miscalculations, or believe in zillions of parallel
universes. Pointing at the large number of planets and the age of the earth does not help: we do not need large
numbers: we need very large numbers with `lots of zero's'. The estimate of the age of the earth by scientists nowadays
has only nine zero's and that is not much. (Put it in this perspective: it is less than a tenth of the age of all people living now.)
The number of planets have also few zero's.
Problem with probabilities is that these have to be multiplied, and thus for something improbable, we need quite a lot
of zero's: more than we have now.
Summarizing: the different species were the result of a Higher Being that in the least set the circumstances for the
process right - or perhaps even created these directly. In any case, if we find
the evolutionary computing metaphore valid, then this seems to leave
little room for an atheist evolution theory viewpoint.
Randomness, necessity, or plan?
Some (but certainly not all) evolution theoretists belief that, while the process of mutation and selection contains random
elements, the outcome of it is not. They argue: if there are sufficiently many random events, then they will average out.
Like that molecules are more or less randomly moving, but still, when we heat water, all these random occurrences of molecules going somewhere results in the evaporation.
So, they argue, evolution theory is not about the outcome of random process, but something that is the result of the
circumstances, with the process of mutation and selection only seemingly random. The evolutionary computing
metaphore contradicts also this viewpoint. It is very common for programs of this type that different runs of the
same program give a different outcome. So, a good idea is often to run the program a few times, and take the best
result.
For instance, if a problem has a few quite different `very good solutions', then the program may not find them all; it
may generate after a while a set of solutions that are close to each other of one or a few type, and do not have anything
that comes close to other types of good solutions.
There is no reason to believe that for the animals and plants, there was only one such `local optimum'. So, if we would
assume evolution is the process that lead to the different plants and animals, then either that we humans are there is
just a lot of luck (a `magnificent accident') or it was the plan of Something or Someone that is higher than nature itself.
Well, I believe that we were wanted, and that God planned humans, like
written in Genesis: Then God said: Let us make man in our image.
Why I belief that is something I describe in other webpages.
What I wanted to do in this webpage is to take away the idea that what we see happening in evolutionary computing
supports an atheistic interpretation of evolution theory.
Hans Bodlaender, November 2003
Some other webpages