expected_correct_guess caching added, not much speedup. Maybe there would be more with more data