3 The Blind Watchmaker

3.1 Background

If a pocket watch is found on a heath, it is most reasonable to assume that someone dropped it and that it was made by at least one watchmaker, not by natural forces.

In the early days of evolutionary theory, Charles Darwin’s concept of natural selection faced criticism from those who found it difficult to reconcile the idea of unguided evolution with the complexity of life. One famous criticism was the “watchmaker analogy.” This analogy argues that, just as finding a pocket watch would naturally lead one to infer a skilled watchmaker, the intricate structures and adaptations of living organisms must also imply the existence of an intelligent designer.

However, evolutionary biologist Richard Dawkins responded with a different perspective in his 1986 book The Blind Watchmaker. Dawkins argued that the complexity and diversity of life can arise through a “blind” process — natural selection — which is unguided and without foresight. Evolution, like a blind watchmaker, can achieve impressive complexity through small, incremental changes selected over long periods of time.

3.1.1 Randomness and Selection

In this exercise, we will explore how random variation, when paired with selection, can lead to specific outcomes that might otherwise seem impossible. We will use an R program to simulate the typing of a target sentence through random letter generation. You’ll see firsthand how selection can guide random variation toward a meaningful result, just as natural selection drives biological complexity.

By simulating this process, you’ll discover how random changes alone lead to nonsense, but with selection, the “blind” process can quickly achieve a desired result.

3.1.2 Example

Imagine you’re typing random letters into a typewriter. How long would it take to come up with a sensible sentence by pure chance? Let’s say the sentence is “I LOVE SCIENCE” (14 characters, including spaces).

In English, there are 26 letters in the alphabet, plus the space character. The chance of randomly typing the first letter correctly is 1 in 27. The probability of getting the first two letters right is \((1/27)^2\), and the chances of typing the entire 14-character sentence correctly by random typing alone is \((1/27)^{14} = 9.14 \times 10^{-21}\), an astronomically small number.

But what if selection was applied after each correct letter was typed? How might selection drastically change the outcome? Let’s find out.

Learning outcomes:

  • Gain a deeper understanding of adaptive evolution via natural selection.
  • Recognize how random change can lead to order if paired with selection.
  • Learn to use R to explore biological phenomena.

3.2 Your task

  1. Make sure you have both R and RStudio installed.
  2. Open RStudio.
  3. Open a new script (File > New File > New Script)
  4. Cut and paste the R code (below) into your script.
  5. Save your script with a memorable file name.

Note, only edit the top part of the file (above the marked comment)

3.2.1 The code

phrase <- "With your feet on the air and your head on the ground"
nGenerations <- 100
selection <- TRUE

###################################################
#Do not edit between the ##
phraseSplit <- unlist(strsplit(toupper(phrase), ""))
output <- data.frame(generation = 1:nGenerations, 
                     phrase = rep(NA, nGenerations))
fixed <- NULL
for (i in 1:nGenerations){
  randomPhrase <- sample(c(LETTERS," ","'","Å","Æ","Ø","!"), length(phraseSplit), replace = TRUE)
  if(selection == TRUE) {
    randomPhrase[fixed] <- phraseSplit[fixed]
    fixed <- append(fixed,which(randomPhrase == phraseSplit))
    fixed <- sort(unique(fixed))
  }
  output$phrase[i] <- paste(randomPhrase,collapse = "")
}
###################################################

output

3.3 How the simulation works.

An instructor will explain the code and demonstrate its use.

The program generates a random sequence of characters of the same length as a target phrase (stored in phrase). If selection is turned on (selection <- TRUE), correct letters are “fixed” in place as the program iterates over generations. Incorrect letters continue to be replaced randomly.

Over multiple generations, the process narrows down the random sequence until it matches the target phrase. Without selection, no meaningful sentence would be generated.

Try it yourself

  1. Change the phrase - make it shorter/longer.
  2. Change the number of generations - Experiment with different values for nGenerations.

3.4 Questions

  • What happens if selection is turned OFF?
  • Does the number of generations affect whether the target phrase is reached?
  • Does the speed of reaching the target phrase depend on the length of the phrase?
  • How does this simulation differ from real natural selection?