Problems
Use the following problems to test your skills at building simulations. Give each problem a try before you turn to the solutions and download the example programs.
82. Dawkins' weasel
Dawkins' weasel, also known as the weasel program, is a relatively simple text simulation that was intended to demonstrate how random variation and selection can lead to non-random results. The idea was inspired by the infinite monkey theorem, which states that a monkey typing randomly on a typewriter for an infinite amount of time will eventually reproduce all of the works of William Shakespeare. Thinking about that theorem, Richard Dawkins decided to write a simulation that would generate Hamlet's line, "Methinks it is like a weasel." (Hamlet, Act 3, Scene 2.)
The simulation starts with a completely random string of 28 letters and spaces. (The Hamlet quote is 28 characters long.) The program then creates a sequence of generations until the random string morphs into the target string.
During each generation...