When reading Dawkins' The Blind Watchmaker I was inspired by his description of a program that tries to generate the phrase "METHINKS IT IS LIKE A WEASEL" by both single-step chance (all tries are separate) and multi-step selection (if a try is slightly similar to the target phrase it's bred from in the next try), so I whipped up my own little test (it's immensely inferior; Dawkins' program reaches the phrase in around 40 generations, while mine does so in, on average, 10,000 generations). I might make it a Java applet, when I learn how, but if you want you can try to decipher it from the source. I'll try to explain how it works. First it generates a totally random string of equal length to the target phrase. It then breeds children from it (ten by default), and each child has a small chance of having one of its letters changed to a completely random character. The children are then rated, and the one that's most similar to the target phrase becomes the parent of the next generation. It goes on like this until it reaches the target phrase.

It could probably be made much faster by using sexual reproduction rather than asexual reproduction, by having mutation shift a letter slightly up or down the letter array instead of mutating it completely at random, and by tweaking the parameters (number of children, mutation rate).