Metropolis-Hastings algorithms for decoding a substitution cipher See the jupyter notebook for an example.