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: 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