MCMC Substitution Cipher Solver

C++17 port with bigram precompute; ~95× faster via multithreaded chains and simulated annealing.

About This Project

Ported a Python Metropolis–Hastings solver to C++17 and precomputed bigram counts to reduce overhead, delivering ~95× runtime improvement. Parallelized independent MCMC chains with std::thread for near-linear scaling and integrated simulated annealing with a dynamic temperature schedule to improve decoding accuracy.

Technologies Used

C++17std::threadMetropolis–HastingsSimulated Annealing