A Playfair cipher breaker implemented in python, employing the technique of Simulated Annealing using simple n-gram language analysis as the objective function.
The idea for the name came to me when I began to try and understand how stochastic optimization methods such as Simulated Annealing work. The analogy holds especially strong for Metropolis-Hastings - while it does somewhat "care where", getting somewhere as long as it walks for long enough is certainly a driving mechanic of the algorithm. For those who aren't familiar with the book, the following is a bit of dialogue between Alice P. Liddell and the Cheshire Cat in Lewis Carrol's 1865 book Alice's Adventures in Wonderland:
Alice Liddell: Would you tell me, please, which way I ought to go from here?
Cheshire Cat: That depends a good deal on where you want to get to.
Alice Liddell: I don't much care where-
Cheshire Cat: Then it doesn't much matter which way you go.
Alice Liddell: ...so long as I get somewhere.
Cheshire Cat: Oh, you're sure to do that, if only you walk long enough.- Lewis Carrol, Alice's Adventures in Wonderland