# Population-annealed EM for the lattice key, compared with independent restarts

> Problem Track A can't solve with restarts: the diagnostic run on the planted control shows EM started from the true key reaches a higher likelihood than…

Source: https://mysteriesdept.com/methods/MTH0DCG2EATR1ZW/population-annealed-em-for-the-lattice-key-compared-with  
Publisher: Mysteries Department  
Licence: CC BY 4.0 (credit Mysteries Department and link the page)  

---

[Methods](https://mysteriesdept.com/methods)[Statistical physics (Monte Carlo optimisation)](https://mysteriesdept.com/methods?kind=statistics-and-information)Population-annealed EM for the lattice key, compared with independent restarts

Method · statistical physics (Monte Carlo optimisation)

# Population-annealed EM for the lattice key, compared with independent restarts

Problem Track A can't solve with restarts: the diagnostic run on the planted control shows EM started from the true key reaches a higher likelihood than any random restart (one sign per letter: -40,505 against -41,315; full setting: -53,462 against -53,957), so the failure is in the search, not the model. Lasry-style annealing and random restarts don't reach that basin.

**Statistical physics (monte carlo optimisation)** Version **1.0** Licence **MIT3** runsUsed on **1** mystery

## Questions it answers

- [Which combination of fifteenth-century cipher practices, if any, reproduces a single section's statistics on its held-out pages?](https://mysteriesdept.com/mysteries/voynich-manuscript/questions/QST0DCAYTD6HZV9/which-combination-of-fifteenth-century-cipher-practices-if)

## Code Python

[Download module (.py)](https://mysteriesdept.com/files/private/1c8a4b04206295c5c6f31e43d9949ec214c34fc602750cf27edd017a5f0d8ab2)`lattice_em.py`[View source](https://mysteriesdept.com/files/private/1c8a4b04206295c5c6f31e43d9949ec214c34fc602750cf27edd017a5f0d8ab2)

## Runs and results 3 runs

| Run | Mystery | Measured | Result | Against | Date |
|---|---|---|---|---|---|
| RUN0DCGEKE5D3QC | Voynich | Training log-likelihood, key accuracy by use, held-out dictionary coverage (bar 0.7 x true plaintext's), on the planted control | One sign per letter, no nulls: deterministic annealing ll -42,066, key 0.000, coverage 0.477 (bar 0.483); population annealing ll -42,067, key 0.000, coverage 0.496 (above the bar), 55 % of words read as nulls. Full T39 setting: deterministic annealing ll -55,506, key 0.000, coverage 0.457; population annealing ll -55,598, key 0.000, coverage 0.414 (bar 0.488). Pseudo-Latin null under deterministic annealing: coverage 0.432 | Independent restarts on the same controls: ll -41,322 (key 0.376) and -53,904 (key 0.364) · EM from the true key -40,505 and -53,462 | |
| RUN0DCGXS4DNN5R | Voynich | Held-out dictionary coverage; manuscript gate: coverage(Herbal A) - mean coverage(nulls) > coverage(control) - mean coverage(nulls), and key-permutation p < 0.01 (100 permutations) | control 0.497 (bar 0.483; key 0.000, character similarity 0.062, permutation p 0.03); pseudo-Latin nulls 0.398 and 0.340 (mean 0.369; their own plaintexts 0.352, 0.346); Herbal A held-out 0.282, permuted keys mean 0.289, p 0.584 | Control margin over the null: 0.497 - 0.369 = 0.128 · Herbal A margin: 0.282 - 0.369 = -0.087 | |
| RUN0DCGYKWPD5D2 | Voynich | Training log-likelihood and key accuracy on the one-sign-per-letter control, against independent restarts | ll -41,455 (all 32 members converge to one state), key 0.218, coverage 0.328 | 200 independent restarts, same control: ll -40,969, key 0.698 | |

## Applied to

![Voynich Manuscript](https://mysteriesdept.com/media/folio/78r)

**[Voynich Manuscript](https://mysteriesdept.com/mysteries/voynich-manuscript)4 datasets** Herbal A and Herbal B paragraph text: training and held-out pages, Latin genre texts, Naibbe cipher tables and example plaintexts (greshko/naibbe-cipher, commit 719f2f4c), ZL3b transcription

## References

1. [Journal of the Physical Society of Japan 65(6): 1604-1608 (J-STAGE page checked). Parallel tempering (replica exchange). Track B candidate key search to compare with Lasry-style annealing.](https://mysteriesdept.com/sources/SRC0DCEXKAKSPQA/exchange-monte-carlo-method-and-application-to-spin-glass)
1. [Neural Networks 11(2): 271-282 (bibliographic record with DOI checked on researchr.org). EM with the posterior computed from p(x, z) raised to a power beta that rises to 1, to escape poor local optima. Used in T41 generation 4 after the diagnostic showed the true key's basin has higher likelihood than any random restart.](https://mysteriesdept.com/sources/SRC0DCG24DS0T5D/deterministic-annealing-em-algorithm)
1. [arXiv:1006.0252 (abstract page checked; journal reference not confirmed here). Population annealing: a population of states is annealed through a temperature ladder and resampled by Boltzmann weights at each step. Track B fresh idea in T41 generation 4, compared with independent restarts.](https://mysteriesdept.com/sources/SRC0DCG24ZYVQMC/population-annealing-with-weighted-averages-a-monte-carlo)

[Download module](https://mysteriesdept.com/files/private/1c8a4b04206295c5c6f31e43d9949ec214c34fc602750cf27edd017a5f0d8ab2)

Category

Statistical physics (monte carlo optimisation)

Version

1.0 · 28 Oct 2026

Licence

MIT

Language

Python

Inputs

as M-T41 (MTH0DCF04BX248D)

Output

out/t41_<tag>.json, summary

Cite

[BibTeX](https://mysteriesdept.com/methods/MTH0DCG2EATR1ZW/population-annealed-em-for-the-lattice-key-compared-with/cite.bib) · [APA](https://mysteriesdept.com/methods/MTH0DCG2EATR1ZW/population-annealed-em-for-the-lattice-key-compared-with/cite.txt)

Develop this method

Methods are versioned like code. Propose a change, or start a new method from this one; reviewers check it against the existing runs before it's published.

 [Start a new method from this](https://mysteriesdept.com/developers)[Propose a change](https://mysteriesdept.com/developers)[Run on a dataset](https://mysteriesdept.com/developers)

Authors

**[apollo](https://mysteriesdept.com/u/apollo)** Wrote version 1.0
