Wednesday, August 03, 2005

Dawkins' Weasel Algorithm, Revisited

In a previous article, "Information From Randomness?", I discussed Dawkins' "Weasel" Algorithm, which Richard Dawkins claimed was a demonstration or proof that evolution was inevitable. Here, we discuss the algorithm further.

Each character position (or column in the list of states) of the "Weasel" Algorithm can be described as an independent Markov process.

A Markov process has a set of states, and there are fixed probabilities for all possible transitions from one state to another. Take, for example, the process of tossing a die until it comes up "5".
The diagram at left describes this as a Markov process. The states are represented by the numbered circles. The interconnecting lines with arrow-heads represent one-way transitions from one state to the next. Lines without arrow-heads represent a pair of transitions in opposite transitions. Note that the looping arrow-lines indicate that a state may sometimes transition to itself -- for example, when the die is "1" and on the next toss is "1" again. Generally, probability values are written next to the transition lines in a Markov graph, but here we will simply state that all the transitions that exit any state are equally probable.

In this case, state "5" has no exits except the transition to itself because we stop tossing the die when it comes up "5". This called an absorbing state.

Markov processes can be analyzed by means of matrix algebra and graph theory, and in the case (as here) where there is one absorbing state which is reachable (there is a path to it) from all other states, it can be proved that the process will always end in that state.

Let us return to our statement that each character position of the "Weasel" Algorithm can be described as an independent Markov process. Each of these Markov processes are similar in form to the one that we illustrated in the above transition graph, except that it has 53 states instead of 6. And the template (the target phrase) determines, for each character position (each independent Markov process) which state will be the absorbing state. So, as we said earlier, the mathematics of Markov processes can be used to prove that each independent Markov process will stop in its absorbing state. Since the template determines the absorbing states, it also determines the results before the independent processes even start.

Let us return for a moment to the process of tossing a die until it comes up "5". It should be obvious that since we mentioned "5" in the definition of the process, there is no need to do anything random to get the result "5", because "5" is selected before we even start. Likewise for Dawkins' "Weasel" Algorithm, the random events do not select the result, because we selected it when we defined the template, or target phrase.

Thus we have shown that the information of the result of Dawkins' "Weasel" Algorithm does not come from the randomness, but from the definition of the explicit form of the algorithm. That is, the information is present before the process even starts.

It is also easy to show that Dawkins' "Weasel" Algorithm does not come close to approximating an evolutionary process. This is because the processes at each character position are independent. This is equivalent to saying that each bone, each muscle, etc. of an animal evolves independently, which of course is preposterous.



In the future, I will discuss more serious algorithms that seek to simulate or model evolution. However, there will be a delay, because I will shortly be off on a one-week trip, and when I return, my computer will be off for some serious repair. (Right now, it doesn't do much more than a WebTV.)

1 comment:

JC said...

Advertising disguised as a 'comment' is not allowed -- that's why you will see that some comments are deleted. But real comments, even disagreements, are OK, as long as the language isn't nasty.