Metropolis-Hastings algorithms for decoding a substitution cipher

See the jupyter notebook for an example.