Ever wonder what music produced by a Markov chain might sound like? Yeah, me too! ...and... wonder no more! So I went to where the piano is and grabbed the more regular, simple score I could find. As it turns out it was Mozart's Twinkle Twinkle variations (Zwolf Variationen uber "Ah, vous dirai-je, Maman" KV 265). Because it is written in C major and the notes are mostly regularly spaced this was great! I used the first variation (more notes) to produce a transition probability matrix. Perhaps an important thing to note (pun intended) is that the range is from B to E (about an octave and a half). The little song produced is about 30 measures and has no real tune to it, although in some parts it does resemble the original melody. Also, I added three non-random notes at the end to make it end gracefully.

MCM1

Of course, arranging it a bit it can sound marginally better; here's how I've done it, adding accompaniment and instruments, using Garageband's licks and prefabricated transitions (to save time). Enjoy!

MCM2

(I hope Mozart is not writhing in his grave!)

In this post I'm including a compressed archive of some results I have obtained by following through on my previous post: I used the Declaration of Independence transition probability matrix I calculated based on a text I found online, and also used the standard frequencies of letters or of first words of the English language in this "augmented frequency analysis," as prior beliefs. One of the crucial things to notice is that, regardless of prior beliefs, our posterior belief significantly changes once we take into account the proportions of transitions in the actual purported key (the Declaration of Independence), which may be why some cryptographers, by following a simple statistical argument, may think the cipher is written in a language other than English.

DOITPM.xls.zip

The whole idea is that, with the information as provided in this .xls file, one can begin making educated guesses as to particular cipher numbers (as an example, "I think 5 is an 'e'" [not that I do, by the way]), which implies modifying the probability distribution, *and propagating such beliefs through the whole cipher*, furthermore uncovering particular patterns, and going again. You need not be absolutely certain of your educated guess: you can surmise two or three letters fit a particular cipher number, and propagate such belief to see where it takes you. As I have said, processing time is currently 20 minutes per run (propagating throughout the whole cipher) until I (or someone else) enhances on my coding and develops a more efficient method.

Let me know your discoveries (as will I)! It think working a little bit on this may be fun and interesting and may uncover interesting mathematical relationships.