I first wrote a C program that simulates a single person rolling the dice and moving around the board a great number of times. It included all of the rules for going to jail and the Chance and Community Chest cards. Although this gave good aproximate answers, I decided that I wanted to write another program that would find the exact probabilities using a Markov matrix, which was the method described in a simplified form in the Scientific American article. I used an extended version of this program to generate this web page...Link (Thanks, Jed)
In the process of figuring all of this out I ran into an interesting difficulty. When trying to calculate the probabilities exactly using the Markov matrix, it is necessary to estimate the probability--for each square--that the last two rolls of the dice are doubles (since three doubles in a row sends you to jail). First I used an estimate of 1/36, but in practice it's different for each square and it's not that high for any square. I used my simulation program to find the empirical probability for each square and then used these values in my Markov matrix program. I simulated 32 billion rolls to make these estimates, so I believe they are reliable and any deviation from their exact values is extremely small. Interestingly, the probabilities of two previous rolls being doubles is slightly different on certain squares for the two jail strategies. Additionally, the average roll when landing on a utility is a bit lower or higher than 7 depending on the utility and the jail strategy, which affects the rent value.
I write books. My latest is a YA science fiction novel called Homeland (it's the sequel to Little Brother). More books: Rapture of the Nerds (a novel, with Charlie Stross); With a Little Help (short stories); and The Great Big Beautiful Tomorrow (novella and nonfic). I speak all over the place and I tweet and tumble, too.