← OverviewCode and results (zip)

Research note · 13 October 2026 (chapters 5–23 added 14–16 Oct, 24–35 on 17 Oct, 36 on 18 Oct, 37 on 19 Oct, 38 on 20 Oct, 39 and 40 on 21 Oct, 41 and 42 on 25 Oct) · Transcription ZL 3b (Zandbergen–Landini)

Statistical Tests of the Voynich Manuscript

Paragraph text: 206 pages, 34,859 words (labels excluded). The test of the original hypothesis uses the full text of 38,477 words. English translation of the Japanese report.

Conclusions

  1. Not supportedThe hypothesis that “the statistics switch after a run of identical words” was not supported in any of nine variants (split by Language A/B and by window size). If anything, text before and after such runs tends to be similar.
  2. Strong signalWords with similar spellings (up to one glyph different) clearly tend to sit right next to each other: 1.24× chance at 1–2 words back. English (0.48×) and Latin (0.38×) do the opposite and avoid similar words next to each other. The effect over 1–10 words back appears in every section and scribe with enough text.
  3. ClueA gentler similarity reaching a few words to a few lines ahead (1.08× at 11–30 words back) also exists in English and Latin (topic repetition, inflection). A simple model that only copies the previous word could produce the neighbour similarity (too much, 1.50×) but not this gentle tail or the large share of words that occur only once.
  4. Not supportedThe idea that “meaningful text was mixed with specific filler (null) words” was not supported. Even after removing up to about 27% of the text — the words most prone to sit next to similar words — the remainder does not look like English or Latin.
  5. New clueCompared with Bibles in 93 languages, “neighbours are similar” on its own also occurs in, for example, Hebrew written without vowels. But no language has both identical repeats and one-glyph variants clustering next to each other; only the Voynich has this combination.
  6. Not explained by genreLatin recipe collections, herbal-virtue texts, a cookbook and the Psalms — genres close to the illustrations — all avoid similar neighbours, like ordinary prose. “It repeats because it is a recipe-like text” does not hold, at least within Latin.
  7. Not in contemporary textsThirteen texts from around the 13th–15th centuries (Latin, Italian, French, Russian, Middle High German, Middle English) did not show the combination either, including The Imitation of Christ (written in the 1420s, like the Voynich) and 14th-century Middle English medical recipes and an Italian cookbook.
  8. Not in 23 contemporary recipe collectionsTwenty-three handwritten recipe collections of 1300–1554 in German, French, English, Italian, Latin, Dutch and Czech (in original spelling) all avoid putting similar words next to each other (Chapter 26).
  9. Not in medical or herbal textsMiddle High German medical, herbal and lapidary texts of 1050–1350 (in manuscript spelling) also avoid similar words next to each other (adjacent 0.44–0.52×, Chapter 27).
  10. Not in 15th-century herbals10 texts from the Voynich’s own period in original spelling — the German herbal Gart der Gesundheit (1485), a handwritten herbal and recipe collection, surgery books, a moon divination book and others — all avoid similar words next to each other (adjacent 0.23–0.56×, Chapter 28).
  11. Not in northern Italian textsA 15th-century Venetian medical recipe book and a herbal printed in Venice in 1522 also avoid similar words next to each other. The recipe book has slightly more one-glyph pairs from formulaic phrases, but clearly avoids identical words (Chapter 29).
  12. Not tied to the drawingsWithin the same hand and language, head and tail preferences are determined not by the type of drawing (herbal, jar, bath, etc.) but by which quire the text was written in. Within one quire, bath pages and text-only pages have almost the same tail preferences (Chapter 30).
  13. Origin of rare words explainedWhen a copied nearby word is altered, steering the result towards a form already in use almost removes the difference in how rare words arise, while keeping the other properties. Evaluations also fluctuate with Python’s set ordering, so differences in J of up to about 0.05 are meaningless (Chapter 31).
  14. Discrimination testAsking a classifier to tell manuscript pages from model pages revealed a missing “word-length habit” and a “bias towards common word starts”. Fixing them lowered distinguishability (AUC) from 0.90 to 0.71 and almost removed the remaining y→q gap (Chapter 32).
  15. Unlike a ciphertextCiphertext from the Naibbe cipher (Greshko 2025), which turns Latin and Italian into Voynich-like text, matched the manuscript’s glyph predictability but showed none of adjacent similarity, y→q, similarity of nearby lines or page character, and the classifier distinguished it perfectly (Chapter 33).
  16. Limits of meaning-preserving habitsChoosing among the Naibbe cipher’s substitution candidates by “similar to nearby words” and “fits the previous word” produced, while keeping the meaning, one-glyph neighbours, similarity to the line above and part of y→q. But “the same word next to itself” could not be produced without repetition in the plaintext (Chapter 34).
  17. Repeats are a writing traceUnlike grammatical reduplication concentrated on particular words (Indonesian, etc.), the manuscript’s repeats of identical words avoid line edges and occur as part of runs of similar words, matching a mechanism of copying nearby words (Chapter 35).
  18. Indistinguishable statistic by statisticIn a second night of autonomous search, adding habits for word shape and for frequent words made the model indistinguishable to the Chapter 32 classifier and to a logistic regression with more features (AUC 0.50, 0.50). Gradient boosting can still tell them apart (0.80); the remaining difference is that words clump too much within a page (Chapter 36).
  19. Two Claudes comparedWe handed the continuation of Chapter 36 to Opus 5.5 and Sonnet 5.5 for one night under identical conditions, and graded both with a final exam neither had seen. At equal time (about 8 hours) Sonnet was ahead (gradient boosting 0.65 against 0.70). However, Sonnet could not recover when its environment stopped and halted in the early evening, while Opus ran until morning and its final model scored lowest (0.59; random forest 0.50) (Chapter 37).
  20. A leak in the evaluationIn the second comparison both searches used the mechanism that borrows another page's profile. Distinguishability appeared to fall, but most of that was a leak into the classifier's evaluation. With the leaking pages removed, gradient boosting has not moved from the Chapter 37 final (about 0.60): Sonnet 0.61, Opus 0.64, leak-free version 0.59 (Chapter 38).
  21. A rebuilt yardstick, third roundThe leak also came from mechanisms that use nearby pages' statistics, so we rebuilt the evaluation to split by blocks of eight pages and drop nearby fake pages from training. Running five machines overnight on this yardstick (Opus, Sonnet, and three Haiku measuring a fixed table), the final Opus model became the hardest to distinguish for every classifier (gradient boosting 0.70 → 0.63). What worked was adding coherent page-to-page variation and a writer-like way of repeating words (rare words are not repeated within a page) (Chapter 39).
  22. Checking the yardstickNo large leak remains in the Chapter 39 yardstick. But the classifiers were shown too few fake pages, which made the models look harder to distinguish than they are. Trained with eight times as many fake pages from other seeds, gradient boosting rises from 0.64 to 0.73 for the Opus final. The gap to the start narrows but remains (Chapter 40).
  23. Same in specialists' editionsSeven critical editions provided by a specialist in medieval Italian medical texts (13th–15th-century recipe books, surgeries and a medical treatise, including a mid-15th-century eastern Lombard surgery) all clearly avoid identical neighbours (0.12–0.88 times chance). Some have slightly more one-glyph neighbours than chance, but because of set phrases such as “molti volti” (Chapter 41).
  24. Tuning does not lower the tree classifiersA fourth overnight search with the strengthened yardstick brought the linear classifier closer to 0.5 (pooled regression 0.56 → 0.54), but the tree classifiers stayed at 0.68–0.69. The reason: model pages are too predictable from nearby pages (page-specific novelty only 0.6–0.8 times the manuscript's), and the difference is spread over many features (Chapter 42).
  25. Not decorationTreating word-initial q and o, word-final y and n, runs of e and i, etc. as meaningless decoration and stripping them — even removing over 40% of the glyphs — did not bring neighbour similarity or glyph predictability anywhere near natural-language values.
  26. Partly reproducedA self-citation model (“look at words already written on this or the previous page and write a slightly altered copy”) reproduced the neighbour combination and the correspondence with the line above. It failed on the large share of once-only words and on glyph predictability, showing that random one-glyph changes are not enough.
  27. Two layersThe manuscript’s rare, once-only words were not born as variants of nearby words. It is natural to assume a weak local layer (slight similarity to neighbours and to the line above) on top of a layer that builds words by a strict word grammar, independently of context.
  28. How words are builtThe beginning and end of a manuscript word are chosen almost independently, and those preferences change from page to page. A two-stage mechanism — “combine a head, body and tail according to the page’s preferences, and occasionally write a slightly altered copy of a nearby word” — reproduced the statistics better than anything before it.
  29. Similarity of nearby linesThe correspondence with the line above is not the trace of copying the word directly above, but a broad, faint property: nearby lines are similar overall, regardless of position. Word-copying mechanisms cannot produce this; the word preferences themselves must drift over a few lines.
  30. The sheet is the unitEven though rebinding has shuffled the page order, the two leaves of the same folded sheet (bifolium) are as similar in word preference as the front and back of one leaf. Pages that are adjacent in the current numbering but on different sheets are hardly similar. Word preferences cohere at the level of one bifolium.
  31. Order not resolvedEstimating the original order from per-sheet word preferences showed that the current order is far closer to the original than a random arrangement, but could not fix the order sheet by sheet. The only strong candidate for a misplaced sheet is f49/f56, whose word preferences are close to quire D. A pair proposed by other researchers from the drawings (f50 and f33/f40) were also each other’s closest sheets by word preference.
  32. Same with other transcriptionsWith the Takahashi, Friedman-group and Currier readings, all main results were reproduced: identical and one-glyph-different words both cluster next to each other, heads and tails are nearly independent, preferences cohere by sheet, and so on. The results do not come from quirks of word division.
  33. Labels are a different kind of wordMore than half of the label words attached to drawings begin with o and almost none with q, unlike the running text. No correspondence with specific words in the text was found. In the text, a word starting with q is about four times as likely after a word ending in y: word heads are tied to the preceding word.
  34. The rules interlockAdding “choose the next word’s head according to how the previous word ends” to the generator reproduced the y→q effect and the line-initial bias, but it clashed with the copying mechanism, and both could not be satisfied at once. The scribe apparently respected the link to the previous word even when copying a nearby word.
  35. Clash resolvedPicking several candidate source words and choosing the one that fits how the previous word ends reproduced y→q at close to the manuscript level while keeping neighbour similarity and page character. The remaining large differences were the similarity of nearby lines and glyph predictability.
  36. Preferences drift slowlyLetting word preferences drift slightly from line to line brought the similarity of lines 2–3 apart closer to the manuscript. But in the manuscript, one-glyph variants are as enriched between nearby lines as identical words, suggesting the preferences drift at a finer unit of one or two glyphs. Glyph predictability was not explained by this mechanism.
  37. Syllable-like partsCompared with Korean, Chinese and Vietnamese, the Voynich’s glyph predictability and word-to-word linkage are close to the level of a single syllable, while its number of distinct words is close to the level of words. No other text has both.
  38. Altered copies from the previous few linesThe fact that identical and one-glyph-different words are equally enriched between nearby lines could not be reproduced by drifting preferences. A mechanism that bases almost every copy on a word visible in the previous ~5 lines and nearly always alters it brought the line-distance profile closest to the manuscript so far (identical words are still slightly too frequent at one line apart).
  39. Three explained, one remainingThe location of copy sources (the previous few lines, any column), occasional verbatim copying of the immediately preceding word, and the shape of line-final words are now largely explained as mechanisms of the manuscript (similarity with the word directly above still falls short). A way of building words that satisfies “predictable glyph sequences”, “many distinct words” and “page-specific preferences” at the same time has not yet been found.
  40. Writing glyph by glyphBuilding words solely from the manuscript’s glyph-continuation statistics naturally combines predictable glyph sequences with many distinct words. The dilemma of Chapter 23 came from building words by combining parts.
  41. All four key targets reachedIn an overnight autonomous improvement loop (220 candidates, all evaluated as six-run means), a model combining “write new words glyph by glyph”, “copy, with slight alteration, a word chosen from the previous few lines or the page’s word families that fits the link to the previous word” and “retrace the previous word and diverge” fell within the manuscript’s range for h2, once-only words, page character and similarity to the word directly above — also with random seeds not used in the search. Differences remain in how rare words arise and in the strength of y→q.

In sum, although the Voynich text has properties unlike any natural-language text, most of its statistical properties can be reproduced by a fairly simple combination of writing habits: “build words glyph by glyph following strong habits of glyph continuation, and often write slightly altered versions of words visible in the previous few lines” (Chapters 24–25). This does not settle whether the text has meaning, but it supports both the idea behind the self-citation hypothesis (Timm and Schinner) and a peculiar way of assembling words glyph by glyph.

1. The original hypothesis: does something switch after a run?

At positions where the same word appears twice in a row, we measured how much the glyph distribution, spelling sequences and glyph variability differ between the windows before and after, and compared this with non-run positions on the same page (2,000 permutations).

SubsetWindow (words)Runsp (larger change)p (smaller change)
All52950.8160.185
All152540.9930.008
All301870.9670.034
Language A5910.9960.004
Language A15700.9970.004
Language A30350.8650.135
Language B51900.1870.814
Language B151720.8530.148
Language B301450.9630.037

A small “p (larger change)” would support the hypothesis. All are 0.19 or above, so no condition supports it. Conditions where “p (smaller change)” is below 0.05 (bold) indicate that text before and after runs is more similar. Nine tests were run, so discount each individual p accordingly.

2. Similar words appear close together

Each word was compared with the words 1–30 positions earlier, and counted as “similar” if the spellings differ by at most one glyph (words of 3+ glyphs). The baseline is a random reshuffle of the words within the same page.

1.24×Share with a similar word immediately adjacent (1–2 back), ratio to chance
0.48 / 0.38×Same value for English / Latin (neighbours avoid similar words)
1.19×Total over 1–10 back: 11,853 cases (about 9,958 expected by chance, z ≈ 21)
0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1 5 10 15 20 25 30 Lag (words back) Ratio to chance Voynich Global shuffle English Self-citation model

The dotted line (1.0) is the chance level. The difference is at the left edge. English clearly avoids similar neighbours (0.26× at one word back), whereas the Voynich exceeds 1.2× from one word back. Beyond three words back, English and the Voynich behave similarly at 1.0–1.2×. The self-citation model is too high at the left edge and falls back to 1.0 on the right. The shuffle stays near 1.0 throughout. Latin has few similar-word pairs and its line fluctuates strongly, so it is omitted from the figure; its numbers are in the table of Chapter 4.

Ratio by group (1–10 words back)

GroupWordsRatio
Language B23,0551.20
Language A11,2551.16
Unknown5491.29
Scribe 311,7061.20
Scribe 210,8111.20
Scribe 110,5041.16
Scribe 58731.22
Scribe 45041.31
Scribe unknown4611.19
Stars/recipes11,5881.21
Herbal (plants)11,4951.16
Balneological (biological)6,2411.20
Pharmaceutical (jars)2,3131.16
Text only2,2851.24
Cosmological6581.40

Groups with fewer than 400 words are omitted. Every group is at 1.16× or above, so this is not a quirk of a particular scribe or section (smaller groups scatter more).

3. Is there a similar word at the same position in the line above?

The self-citation hypothesis assumes the scribe wrote while looking at the line above. We therefore checked which positions in the line above are most likely to hold a similar word. Line-initial and line-final words were excluded because position itself has strong effects there. Values are ratios to chance.

-4-3-2-10+1+2+3+4
1 line up1.171.231.171.211.281.191.121.061.06
2 lines up1.021.051.131.111.201.151.091.111.11
3 lines up1.031.111.051.071.121.121.051.001.11
5 lines up1.141.001.041.041.041.081.040.961.04
8 lines up0.891.040.951.071.071.000.980.940.98
12 lines up1.090.920.930.961.060.951.040.970.88

The horizontal axis is the difference in position within the line (0 = directly above). One line up, directly above is highest (1.28×), but the difference from the neighbouring positions (about 1.20×) is still statistically weak (z ≈ 1.7). What is clear is that similarity fades with distance in lines and is about at chance level five lines up.

4. Comparison with synthetic texts

To see what kind of generating process can reproduce the Voynich statistics, texts of different kinds were measured with the same yardstick, all with the same number of words and the same page division.

VoynichSelf-citation modelIndependent generation (table look-up)Global shuffleEnglish (Moby-Dick)Latin (Caesar)Verbose cipher (Latin)
Similar words adjacent (1–2 back)1.241.50○1.01○0.99○0.48○0.38○0.37○
Similar words nearby (3–10 back)1.181.11○0.99○1.02○1.14●1.06○1.09○
Similar words far (11–30 back)1.080.99○0.99○1.01○1.07●1.15○1.11●
Identical neighbours (3+ glyphs)0.93%1.04%●0.40%○0.30%○0.12%○0.00%○0.00%○
Next-glyph unpredictability (h2, bits)2.242.28●2.24●2.24●3.32○3.30○2.51○
Mean word length (glyphs/letters)4.44.4●4.4●4.4●4.3●6.1○9.4○
Distinct words per 10k2,8892,799●3,037●2,953●2,470○3,388○3,388○
Share of once-only words68%49%○72%●68%●59%○59%○59%○
Zipf slope-1.04-1.00●-1.08●-1.03●-1.04●-0.85○-0.85○

● = close to the Voynich (ratios within ±0.04, mean word length within ±8%, others within ±6–30%). The self-citation model and the independent generator use the manuscript’s words and glyphs as raw material, so h2 and the Zipf slope are automatically close. To compare models, look at the top two rows and the share of once-only words.

What this shows:

5. Testing the filler (null) hypothesis

Ciphers of the period sometimes mixed meaningless symbols or words (nulls) into the text to hinder decipherment. If repetitions like qokedy qokedy were filler, removing them should leave text that behaves like an ordinary language: neighbours should avoid similar words, and h2 should rise to around 3.3 bits.

We split the pages into two halves, used one half to select the word types that tend to sit next to similar words, and removed all of those words from the other half before measuring. Selecting and measuring on separate data avoids results that look good only because they were tuned on the same data. The split was done both ways and averaged. The comparison is removing the same number of random word types with matched frequencies (mean of 20 runs).

Share removedAdjacent (candidates removed)Adjacent (random removal)h2 (candidates removed)h2 (random removal)
0% (unchanged)1.24—2.23—
5%1.191.312.272.27
10%1.151.342.302.31
20%1.101.362.332.32
27%1.071.362.342.33
Ref.: English (Moby-Dick)0.46—3.32—
Ref.: Latin (Caesar)0.46—3.29—

Words most often selected as candidates: chol, qokeedy, qokedy, shol, qokeey, okaiin, shor, qokey. “Adjacent” is the ratio to chance of having a similar word 1–2 positions back; h2 is next-glyph unpredictability (bits).

In conclusion, the simple combination “ordinary text plus specific filler words” is not supported. Both neighbour similarity and glyph predictability are spread across the whole vocabulary rather than confined to a few words. If the filler were at the glyph level (meaningless glyphs added inside words) rather than the word level, this test would not detect it; that case is examined in Chapter 9.

6. Comparison with other languages (93 languages)

We checked with the same yardstick whether any natural language has the tendency for similar words to sit next to each other. The material is a parallel Bible corpus (the Gospel of Matthew onwards, cut to the Voynich’s 34,859 words and page division). It includes languages that use word repetition grammatically (Indonesian, Tagalog, etc.) and scripts that do not write vowels (Hebrew, Arabic, Syriac).

0.53×Median of 93 languages (adjacent similarity); Voynich 1.24×
5 languagesexceeded 1×; 4 of them are hard to explain by chance
0 languagesexceeded 1× for both identical and one-glyph-different neighbours

Languages above 1×

LanguageAdjacent similarityzof which identicalof which 1-glyphHyphen-joined
Voynich1.24+11.31.341.21—
Indonesian1.53+16.41.620.630.39
Hebrew1.25+4.90.811.58—
Amharic1.12+2.00.871.41—
Zarma1.07+2.00.831.400.83
Serbian1.02-0.50.911.20—
Median of 93 languages0.53—0.390.80—

z is the deviation from chance (200 within-page shuffles). “Hyphen-joined” recounts hyphenated words such as anak-anak (children) as one word.

0.0 0.0 0.5 0.5 1.0 1.0 1.5 1.5 Identical neighbours (ratio) 1-glyph neighbours (ratio) Both enriched Hebrew Indonesian Hungarian English Amharic Latin Voynich A B

Horizontal axis: identical neighbours; vertical axis: one-glyph-different neighbours (ratios to chance). Right of / above the dotted 1.0 lines means more likely than chance to be adjacent. Every language has at least one of the two at or below 1.0 (left or below). Only the Voynich (whole, Language A, Language B) sits in the upper-right region.

In the Voynich, both identical neighbours (1.34×, z ≈ 7) and one-glyph-different neighbours (1.21×, z ≈ 8.5) exceed chance, in both Language A and B. Moreover, the raw rate of one-glyph-different neighbours is 3.7%, about twice that of Haitian Creole (1.8%), the highest among the 93 languages.

In conclusion, “neighbours are similar” on its own occurs in languages written without vowels, among others, so this point alone does not show that the text is not language. But the combination of identical repeats and one-glyph variants both gathering next to each other was found in none of the 93 languages. At the least, it is hard to reconcile with ordinary prose copied as it is.

Limitations: the material is a single genre (Bible translations), mostly modern. Repetitive genres are examined in Chapter 7. Ten languages written in Indic scripts were excluded because our word segmentation could not handle them.

7. Can recipe collections and herbals explain it?

Judging from the illustrations, the Voynich is organised like a medieval medical book: herbs, pharmaceutical jars, bathing, astrology. Recipe collections repeat more than ordinary prose, so “neighbours are similar” might be a matter of genre. We therefore measured Latin medical, herbal and culinary texts and a highly repetitive prayer text (the Psalms) with the same yardstick. Other books by the same authors (general prose) are listed alongside so that author habits and genre can be separated.

TextAdjacentSame wordOne-glyph diff.z
Voynich34,859 words1.241.341.21+11.3
Celsus, De medicina 5–6 (recipes)Recipes · 28,517 words0.860.950.51-2.6
Celsus, De medicina 1–4 (regimen, diseases)General prose · 34,859 words1.001.150.49-0.0
Pliny, Naturalis historia 20–27 (herbal virtues)Herbal/medical · 34,859 words0.470.460.51-6.3
Pliny, Naturalis historia 3–6 (geography)General prose · 34,859 words0.580.470.74-4.7
Apicius, De re coquinaria (recipes)Recipes · 7,630 words0.600.510.92-4.2
Cato, De agri cultura (instructions, recipes)Recipes · 15,523 words0.520.450.65-6.6
Isidore, Etymologiae 17 (plants)Herbal/medical · 9,980 words0.510.530.45-5.3
Isidore, Etymologiae 4 (medicine)Herbal/medical · 3,359 words0.440.370.65-3.4
Psalms (Vulgate; repetitive prayers)Prayers · 30,210 words0.810.750.90-4.3

All values are ratios to chance (adjacent = 1–2 words back, broken down into “identical” and “one-glyph different”). Each text up to 34,859 words. Latin spelling normalised j→i, v→u. z is the deviation from chance (200 within-page shuffles).

In conclusion, matching the genre to the illustrations did not reproduce the Voynich property that identical and one-glyph-different words both gather next to each other. The texts used here are ancient to early-medieval Latin; vernacular recipe collections closer in time to the Voynich were checked in Chapter 8 with a Middle English recipe collection and an Italian cookbook (both 14th century).

8. Comparison with contemporary texts

Texts from around the date of the vellum (1404–1438) were collected regardless of genre and measured with the same yardstick. The last two rows of the table are 14th-century vernacular recipe collections, close to the Voynich in content. Besides Latin, the set includes vernacular texts of the period (Italian, French, Russian, Middle High German). The Nibelungenlied is transcribed in its manuscript spelling (not normalised).

TextAdjacentSame wordOne-glyph diff.z
VoynichVellum 1404–1438 · 34,859 words1.241.341.21+11.3
Thomas à Kempis, Imitatio ChristiLatin · c. 1418–27 · 34,859 words0.910.870.97-1.7
Petrarch (Invective contra medicum etc.)Latin · 1350s · 25,446 words0.871.030.63-1.8
Pico della MirandolaLatin · c. 1486 · 10,158 words1.131.380.77+1.0
Jacobus de Voragine, Legenda aureaLatin · 1260s · 23,318 words0.430.300.60-7.4
Thomas Aquinas et al. (Index Thomisticus)Latin · 13th c. · 34,859 words0.290.260.42-19.8
Dante, Divina CommediaItalian · 1306–21 · 34,859 words0.570.540.61-8.1
Middle French documents (PROFITEROLE)French · 14th–16th c. · 34,859 words0.350.250.51-12.4
Old French documents (PROFITEROLE)French · 9th–13th c. · 34,859 words0.560.390.68-8.6
Middle Russian (RNC)East Slavic · 1300–1700 · 34,859 words0.290.240.44-15.2
Old East Slavic chronicles etc. (TOROT)East Slavic · 11th–15th c. · 34,859 words0.750.810.68-3.6
Nibelungenlied, MS C (manuscript spelling)Middle High German · 13th-c. MS · 14,786 words0.530.330.67-8.0
Henslow (ed.), Medical Works of the 14th Century (recipes)Middle English · 14th-c. MS · 33,072 words0.350.290.74-22.7
Libro della cucina del sec. XIV (recipes, ed. Zambrini)Italian · 14th c. · 11,361 words0.610.540.74-4.7

Ratios to chance. Accents removed; Latin normalised j→i, v→u. Each text up to 34,859 words. z is the deviation from chance (200 within-page shuffles).

In conclusion, matching the period did not turn up any text with the Voynich property. Taken together with the earlier comparisons (93 languages, recipe collections and herbals, contemporary texts), the Voynich text is hard to regard as ordinary text in a major European language of the time copied as it is.

9. What if glyphs in fixed positions are decoration?

Voynich words tend to begin with q or o and end with y or n (-aiin etc.), and two or three e or i in a row are common. If such fixed-position glyphs were meaningless decoration, removing them should leave something more language-like: neighbours should avoid similar words (natural-language median 0.53×) and next-glyph unpredictability h2 should rise to about 3.1–3.3 bits.

We removed decoration candidates one at a time or in combination and measured with the same yardstick, comparing with removing the same number of glyphs from random positions (mean of 10 runs).

RemovedAdjacentSame wordOne-glyph diff.h2
Unchanged0% of glyphs removed · mean length 4.51.241.341.212.24
Remove initial q3% of glyphs removed · mean length 4.31.26(1.23)1.37(1.31)1.23(1.22)2.23(2.33)
Remove initial qo / o10% of glyphs removed · mean length 4.01.23(1.20)1.36(1.29)1.20(1.19)2.24(2.50)
Remove final y8% of glyphs removed · mean length 4.11.26(1.22)1.33(1.34)1.24(1.20)2.33(2.46)
Remove final dy7% of glyphs removed · mean length 4.11.30(1.22)1.40(1.29)1.27(1.21)2.33(2.44)
Remove final n/in/iin/aiin12% of glyphs removed · mean length 3.91.29(1.21)1.47(1.27)1.25(1.20)2.38(2.54)
Collapse runs of e3% of glyphs removed · mean length 4.31.24(1.23)1.37(1.32)1.21(1.22)2.21(2.32)
Collapse runs of i3% of glyphs removed · mean length 4.31.22(1.23)1.30(1.31)1.20(1.21)2.23(2.32)
Remove tall glyphs k t p f10% of glyphs removed · mean length 4.01.19(1.21)1.36(1.27)1.15(1.21)2.13(2.50)
Initial qo, final y, runs of e and i together23% of glyphs removed · mean length 3.31.20(1.19)1.31(1.23)1.17(1.18)2.31(2.72)
Above + final n-series + k t p f removed44% of glyphs removed · mean length 2.61.17(1.14)1.38(1.13)1.12(1.14)2.27(2.92)

Ratios to chance and h2 (bits). In parentheses: the same number of glyphs removed at random positions. Reference: the 93-language median is adjacent 0.53, identical 0.39, one-glyph 0.80.

In conclusion, the Voynich’s neighbour similarity and glyph predictability do not reside in peripheral glyphs like initial or final decorations; they permeate the whole word, including its core. An explanation of the form “ordinary text with decorative glyphs added” does not hold either.

10. A page-wide self-citation model

We tried to reproduce the properties that the simple model of Chapter 4 (copy and alter one of the last few words) could not, by widening how the source word is chosen. Each page is written word by word: either a new word is chosen, or an already-written word is chosen as the “source” and written with 0–2 alterations, using the one-glyph change patterns actually seen in the manuscript. The ways of choosing the source compared were:

For a fair comparison, the metrics used for fitting were kept separate from those used for checking. The first three types were tuned only on vocabulary richness, the share of once-only words and adjacent similarity. The carry-over type was tuned on all metrics marked “Fitted” in the table (random search over 220 settings). Checking used the mean of three generations with the same settings for every type.

VoynichFrom preceding wordFrom same position, line aboveMixedCarry-over from previous page
Adjacent (1–2 back)1.241.42○Fitted1.15○Fitted1.28●Fitted1.28●Fitted
 of which identical1.341.72○1.26○1.45○1.28○Fitted
 of which 1-glyph1.211.36○1.12○1.25●1.28○Fitted
3–10 words back1.181.03○1.46○1.08○1.12○Fitted
11–30 words back1.080.98○1.08●1.00○1.03●Fitted
Directly above1.280.97○3.21○1.28●1.31●
1 line up, adjacent1.200.95○3.18○1.32○1.24●
Page families1.601.01○1.06○1.04○1.21○
Once-only words68%49%○Fitted58%○Fitted54%○Fitted45%○Fitted
Distinct words per 10k2,8892,845●Fitted3,267○Fitted3,065●Fitted3,003●Fitted
Share of 1-glyph neighbours3.7%2.6%○2.0%○2.3%○1.7%○
h2 (bits)2.242.27●2.41●2.33●2.60○Fitted

Ratios to chance, or shares/bits. ● = close to the Voynich (ratios within ±0.06, others within ±10%). “Page families” is the rate at which two words on the same page are at most one glyph apart, divided by the rate for two words drawn from the whole manuscript (English 1.16, Latin 1.21).

Findings

Related to the last point, we also measured vocabulary density. In the manuscript, 89% of word types have at least one one-glyph-different relative, with 9.0 on average (English: 49%, 1.5 on average). The models’ vocabularies were about as dense, so the difference lies not in how word types are made but in the rules of alteration.

In conclusion, the skeleton of the self-citation hypothesis (look at already-written words and write slightly altered versions; the range looked at being the preceding words, the line above and the previous page) explains the similarity of neighbours and of lines above and below well. But if the scribe altered words, he did so not by changing one glyph at random but within a strict “word grammar” — rules such as qokedy → qokeedy → qokeey, swapping only specific glyphs in specific places. Identifying and incorporating those rules is the next stage for this model.

11. Alterations that follow a word grammar

The Chapter 10 model altered words by swapping one glyph at random. This disturbed the glyph sequences and made it impossible to combine many once-only words with predictable glyph sequences. We therefore added a “word grammar” to the alterations and repeated the same procedure (fit on the same nine metrics, check on the rest).

VoynichRandom-edit type (Ch. 10)Glyph-grammar typeReal-word typeBase-form copy type
Once-only words68%45%○Fitted49%○Fitted41%○Fitted48%○Fitted
h2 (bits)2.242.60○Fitted2.37●Fitted2.24●Fitted2.29●Fitted
Adjacent (1–2 back)1.241.28●Fitted1.27●Fitted1.08○Fitted1.22●Fitted
 of which identical1.341.28○Fitted1.51○Fitted1.17○Fitted1.65○Fitted
 of which 1-glyph1.211.28○Fitted1.20●Fitted1.06○Fitted1.14○Fitted
3–10 words back1.181.12○Fitted1.26○Fitted1.05○Fitted1.18●Fitted
11–30 words back1.081.03●Fitted1.03●Fitted1.01○Fitted1.01○Fitted
Directly above1.281.31●1.78○1.15○1.52○
Page families1.601.21○1.18○1.01○1.03○
Share of 1-glyph neighbours3.7%1.7%○2.5%○2.2%○2.3%○
9-metric loss00.160.110.240.16

Best setting from each random search (220–300 settings), mean of three generations. ● = close to the Voynich (ratios within ±0.06, others within ±10%). “9-metric loss” is the sum of squared relative errors over the nine fitted metrics; smaller is closer to the manuscript.

Rare words are not made from nearby words

To identify this barrier, we examined the manuscript directly. If self-citation created rare words, rarer words should more often have a one-glyph-different “source” shortly before them. For each frequency class, we compared the share of words with a one-glyph-different word within the previous 10 words against within-page shuffles.

FrequencyVoynichEnglish (Moby-Dick)Latin (Caesar)Glyph-grammar typeRandom-edit type (Ch. 10)
Words occurring once1.30(4.0%)1.45(0.5%)1.42(0.3%)1.84(7.0%)2.52(15.3%)
Words occurring 2–4×1.25(10.3%)1.15(0.7%)0.93(0.4%)1.48(8.4%)1.54(7.7%)
Words occurring 5–29×1.15(19.2%)1.12(2.3%)0.76(0.8%)1.19(15.7%)1.05(8.6%)
Words occurring 30+×1.11(37.2%)0.97(7.3%)0.82(2.6%)1.07(29.1%)1.01(21.5%)

Ratio to chance of “having a one-glyph-different word within the previous 10 words”; actual shares in parentheses. Words of 3+ glyphs only.

In conclusion, it is natural to think of the text in two layers. One is a weak local layer of slight similarity to the immediately adjacent words and the line above, well explained by self-citation (writing slightly altered versions of visible words). The other is a context-independent word-building layer that produces most of the vocabulary’s diversity; it seems to create new forms according to a strict word grammar, independently of location, rather than copying nearby words. The strong self-citation hypothesis — “the scribe produced the whole text by continually remixing the preceding words” — is not supported, at least in this form.

12. What the word-building layer is: combining slots

Chapter 11 showed that rare words are made independently of context, not as variants of nearby words. To study the rules of this word-building layer, words were mechanically split into three slots. For words of 4+ glyphs, the first two glyphs are the head, the last two the tail, and the rest the body (ch, sh etc. count as one glyph in the manuscript; the same rule is applied to English and Latin). Common heads in the manuscript are qo, che, ok, ot, da; common tails dy, in, ey, ol, ar.

Heads and tails are chosen almost independently

Slot pairVoynichEnglish (Moby-Dick)Latin (Caesar)
Head–tail0.090.310.23
Head–body0.200.240.39
Body–tail0.230.230.33

Strength of association between two slots (normalised mutual information, corrected for chance; 0 = unrelated).

Adjacent slots (head–body, body–tail) are about as strongly associated in the manuscript as in English and Latin. But the association between the separated head and tail is 0.09 — less than a third of English (0.31) and less than half of Latin (0.23). In natural languages a word’s beginning and end are fixed together for each word; in the manuscript the beginning and end appear to be chosen almost separately and combined.

Slot preferences change from page to page

SlotVoynich (vs whole text)Voynich (within section)English (Moby-Dick)Latin (Caesar)
Head1.441.201.061.12
Body1.251.131.021.01
Tail1.891.371.081.17
Whole word1.091.031.021.01

How much each page’s slot distribution differs from the overall (or same section/language) distribution, as a ratio to the case where words are shuffled across pages. 1 = chance.

In the manuscript, which heads and tails are preferred varies strongly from page to page. The bias is especially strong for tails (1.89× relative to the whole text, and 1.37× even within the same section). English and Latin are around 1.1×. The bias for whole words is small (1.09×): page character shows up as preferences for parts — heads and tails — rather than for particular words.

How far does combining slots alone go?

These two properties suggest a simple mechanism: “build words by combining a head, body and tail according to the page’s preferences” (linking only adjacent slots, not head and tail directly). For fairness, a page’s preferences were estimated not from the page itself but from neighbouring pages of the same section. A version adding the self-citation layer of Chapter 11 on top (writing grammatically altered versions of already-written words) was fitted on the same nine metrics and compared (random search over 170 settings, mean of three generations).

VoynichSelf-citation, glyph-grammar type (Ch. 11)Slot combination only (page preferences)Slot combination + self-citation
Once-only words68%49%○Fitted71%●64%●Fitted
Page families1.601.18○1.37○1.52○
Adjacent (1–2 back)1.241.27●Fitted0.97○1.24●Fitted
 of which identical1.341.51○Fitted0.98○1.46○Fitted
 of which 1-glyph1.211.20●Fitted0.96○1.17●Fitted
3–10 words back1.181.26○Fitted1.01○1.24●Fitted
11–30 words back1.081.03●Fitted1.00○1.05●Fitted
Directly above1.281.78○1.05○1.81○
1 line up, adjacent1.201.84○0.99○1.85○
Share of 1-glyph neighbours3.7%2.5%○1.9%○2.8%○
Distinct words per 10k2,8892,886●Fitted3,525○3,194○Fitted
h2 (bits)2.242.37●Fitted2.43●2.42●Fitted
9-metric loss00.11—0.035

● = close to the Voynich (ratios within ±0.06, others within ±10%). “Slot combination only” was not fitted. Unmarked rows are check metrics for all types.

In conclusion, much of the manuscript text can be reproduced in two stages: (1) build new words by combining heads, bodies and tails according to the page’s preferences; (2) occasionally write slightly altered versions of words already written. Stage 1 produces vocabulary diversity and page character; stage 2 produces neighbour similarity. This does not prove the text is meaningless: a symbol system in which head and tail carry separate information (say, the head a category and the tail a number or case) could produce similar statistics. But ordinary words do not have heads and tails this independent, so if there is meaning, it is more like a code assembled from parts than ordinary words.

13. Fixing the relation to the line above

The two-stage model of Chapter 12 made the correspondence with the line above too strong (directly above 1.81×; manuscript 1.28×). We added knobs for how strongly the word directly above is preferred and how far along the line above sources are taken (directly above only up to 4 words offset), included the correspondence with the line above (directly above and adjacent) in the fitting, and repeated the search (200 settings). Page families and the rate of one-glyph neighbours were kept as check metrics.

VoynichCh. 12 modelFitted incl. line above
Directly above1.281.81○1.16○Fitted
1 line up, adjacent1.201.85○1.11○Fitted
Page families1.601.52○1.35○
Share of 1-glyph neighbours3.7%2.8%○2.3%○
Once-only words68%64%●Fitted68%●Fitted
Adjacent (1–2 back)1.241.24●Fitted1.23●Fitted
 of which identical1.341.46○Fitted1.58○Fitted
 of which 1-glyph1.211.17●Fitted1.14○Fitted
3–10 words back1.181.24●Fitted1.11○Fitted
h2 (bits)2.242.42●Fitted2.41●Fitted
9-metric loss00.0350.072

● = close to the Voynich (ratios within ±0.06, others within ±10%). Mean of three generations.

The correspondence with the line above came close to the manuscript (now slightly weak). In exchange, page families dropped from 1.52× to 1.35×, and the 9-metric loss roughly doubled from 0.035 to 0.072. We also tried 230 settings of a mechanism borrowing only heads or tails (not whole words) from recent words; none improved anything.

Trade-off

Across all 374 settings explored, 23 had a correspondence with the line above within ±6% of the manuscript, but all of them had a 9-metric loss of 0.105 or more — over three times worse than the overall best (0.028). Mechanisms that “copy” words or parts cannot satisfy the correspondence with the line above together with the other properties.

The manuscript’s correspondence with the line above is probably not a copying trace

We therefore re-examined the manuscript. If each position in a line favours certain word types (say, the second word is often of a certain type), words at the same position in successive lines will be similar without any copying. We re-measured with the baseline changed to “shuffle among words at the same position within the line”.

BaselineDirectly above1 line up, adjacent1 line up, 2–4 words offsetDirectly above, 3–5 lines up
Shuffle within page (usual baseline)1.281.201.131.07
Shuffle within same line position1.221.191.151.01

Ratio to chance of being at most one glyph different from a word 1 line up (or 3–5 lines up). Line-initial and line-final words excluded.

Subtracting position preferences, the special status of directly above drops from 1.28× to 1.22×, hardly different from adjacent (1.19×) or 2–4 words offset (1.15×). Three to five lines up it is 1.01×, about chance. So the manuscript’s “correspondence with the line above” is not the trace of copying the word directly above, but a broad, faint property: nearby lines are similar overall, regardless of position.

In conclusion, the remaining mismatch is attributable to the model creating closeness by copying specific words. The data fit better if the word preferences themselves drift slowly over a few lines in the manuscript, making nearby lines similar as a result. How to produce preference drift at the scale of a few lines — finer than the page-level preferences of Chapter 12 — is the next task. Simply borrowing parts from recent words was not enough; the preference distribution itself must change slightly from line to line.

14. Shuffled page order and the folded sheet (bifolium)

The manuscript is built from folded sheets (each giving four pages) nested into quires, which were then bound. The current foliation was added later, and the order of sheets is thought to have been changed when the book was rebound. But even if the order changed, the two leaves on one folded sheet stay together: in the first quire, for example, f1 and f8 are the two leaves of the same sheet.

Of the results so far, those measured within a page (adjacent similarity, correspondence with the line above, slot independence, etc.) are unaffected by page order. Only the parts using “the next page” or “the previous page” are affected. Using the quire, leaf and sheet positions recorded in the transcription file, we grouped page pairs by their physical relation and compared word similarity, using only pairs with the same section, language and scribe (205 pages).

Page pairPairsOne-glyph-diff. rateTail-preference difference
Recto/verso of same leaf1083.46%0.096
Opposite leaf of same sheet1893.56%0.097
Adjacent in current numbering (different sheet)483.57%0.105
Other pages of same quire7213.42%0.109
Different quire4,1513.33%0.155

“One-glyph-diff. rate” is the share of word pairs (one word from each page) at most one glyph apart (words of 3+ glyphs). “Tail-preference difference” is the difference between the two pages’ tail distributions (JSD; smaller = more similar).

Since being in the same quire matters a lot (tail-preference difference about 0.155 between different quires, 0.109 within a quire), we repeated the comparison within quires only. For each page, we ranked how similar the partner page is among the other pages of the same quire, from 0 (most similar) to 1 (least similar). Chance gives a mean of 0.5.

Page pair (within a quire)PairsRank: 1-glyph ratepRank: tail preferencep
Recto/verso of same leaf950.37< 0.00010.34< 0.0001
Opposite leaf of same sheet1400.37< 0.00010.34< 0.0001
Adjacent in current numbering (different sheet)440.450.0600.430.014

Each pair counted once, using the mean of the ranks in both directions. p is the probability of a mean this low or lower if ranks were uniform (20,000 simulations).

In conclusion, the unit at which word preferences cohere is not the current page order but one folded sheet. This fits well with a scribe writing one (opened-out) sheet at a time, making words with the same preferences meanwhile. The manuscript scholar Lisa Fagin Davis also writes that in the herbal section the scribes’ work is “organized by bifolium, not by quire or sequential folios” (e.g. in quire D the outer sheet is by Scribe 1, the next by Scribe 2, and the remaining two by Scribe 1; Manuscript Road Trip, “Voynich Codicology”). The unit of word preference coincides with the unit of scribal work.

This also changes how to read the “neighbouring pages are more similar” effect of Chapter 12: much of it probably came from being on the same sheet or in the same quire rather than from adjacency in the current numbering. It also suggests that the original order might be estimated by chaining similar sheets using their word preferences.

15. Can the original order of the sheets be estimated?

Chapter 14 showed that word preferences cohere at the level of one folded sheet. We therefore applied approach B of the original script (estimate the order by chaining similar items) at the level of sheets rather than pages. For the 50 sheets with 60+ words, the distance between sheets is the difference in head and tail preferences (JSD), compared among sheets of the same language (A or B).

The current order is not random

Sheet pairPairsMean rank
Same quire550.26
Different quire—0.53
Same quire, bifolio no. ±1240.21
Same quire, bifolio no. ±2+310.31

Rank of the partner among the sheets of the same language group, seen from a given sheet (0 = closest, 1 = farthest; 0.5 by chance), averaged over both directions. p is the probability of a difference this large or larger when sheet numbers are shuffled within quires (5,000 times).

Few misplaced sheets

We looked for sheets that are unlike the other sheets of their own quire but like those of another quire. Only one exceeded the 95th percentile of random quire assignments (rank 0.78): quire G, sheet 1 (f49/f56). Its closest sheet is quire D, sheet 3 (f27/f30). In addition, quire A sheet 3 (f3/f6) and quire C sheet 1 (f17/f24) are each other’s closest sheets — a notable cross-quire pair, but not beyond chance.

Estimating the order itself

We searched for the arrangement that chains close sheets with the smallest total path length (the travelling-salesman idea).

ScopeSheetsEstimated-order lengthCurrent-order lengthRandom meanpCorrelation
Herbal A243.725.255.790.019+0.15
Herbal B70.690.870.950.180-0.68
All Language A284.356.147.20< 0.001+0.50
All Language B201.822.533.43< 0.001-0.52

“Current-order length” is the total length when following the current quire/sheet numbering. p is the share of 2,000 random orders that are at least as short as the current order. Correlation is the rank correlation between estimated and current order (direction is arbitrary, so the sign is meaningless).

In conclusion, word preferences tell us which sheets belong together and that the current order broadly preserves the original arrangement, but not with enough precision to rebuild the original order sheet by sheet. The strong candidate for a misplaced sheet is f49/f56; the next subsection compares this with physical clues pointed out by other researchers.

Cross-check with other evidence

We compared the word-preference results with clues from codicological studies (same ranks as above, 0 = closest).

16. Re-check with other transcriptions

All chapters so far used the ZL transcription (Zandbergen–Landini). Transcribers of the Voynich differ in where they divide words and how they distinguish similar glyphs. We therefore re-measured the main metrics using other transcribers’ readings in the Landini–Stolfi interlinear file (text16e6.evt): Takahashi covers almost all pages, the Friedman group most, and Currier about two-thirds. For ZL we also tried treating uncertain spaces (“,” in the transcription) as non-breaks.

TranscriptionPagesWordsAdjacentof which identicalof which 1-glyphOnce-only wordsh2Head–tail associationOpposite leaf
ZL20634,8591.241.341.2168%2.240.0880.34
ZL (uncertain spaces joined)20632,4021.251.361.2271%2.250.0730.34
Takahashi20132,6951.241.301.2367%2.240.0880.33
Friedman group19831,5541.231.261.2267%2.220.0910.33
Currier13916,4551.201.251.1868%2.250.0950.32
ZL (same pages as Currier)13817,5341.211.221.2168%2.24—0.33

Paragraph text only (pages with 20+ words). “Adjacent” is the ratio to chance of a similar word (up to one glyph different) 1–2 positions back, also split into identical and one-glyph-different words. “Opposite leaf” is the Chapter 14 rank (tail preference; 0 = most similar, 0.5 by chance). “Head–tail association” is the Chapter 12 value (English 0.306, Latin 0.226). Currier has fewer pages, so ZL on the same pages is also shown.

At one point the Takahashi “identical word” ratio came out low (0.94). This turned out to be an error in our loader, which read the illustration annotations in the interlinear file (such as {plant}) as words. The numbers in the table are after the fix.

In conclusion, the main results of this report do not stem from quirks of word division or readings in the ZL transcription; the same properties are confirmed in at least four major transcriptions.

17. Label words differ from text words

In the astronomical, biological and pharmaceutical sections, one or two words are written next to stars and figures in the drawings, plant parts and jars (labels). If labels name the things drawn, they could be a clue to meaning. We examined 849 label words (3+ glyphs) on the 45 pages that have both labels and running text.

Label words are only weakly tied to the text on the same page

9.9% of labels have an identical word in the text of the same page (8.8% when paired with the text of other pages of the same section; p = 0.08), and 40.0% have a word within one glyph (37.4% by chance; p = 0.03). The same page is slightly favoured, but text words also slightly favour their own page (62.0% vs 57.1%), so this is within what page-level word preferences (Chapter 12) explain. No label-specific link of the kind “this label refers to that word in the text” is visible. Label words also appear in the text far less often than text words do among themselves (25.1%): labels draw on a different vocabulary.

Label words have a different shape

qochshdy
Labels1.1%52.6%6.8%2.2%9.4%8.6%
Text: mid-line16.6%21.2%18.4%10.1%7.4%3.7%
Text: line start12.9%13.7%3.3%4.6%15.6%14.7%
Text: line end8.6%23.1%13.5%4.1%16.7%3.9%

Share of the first glyph of words (ch, sh counted as one glyph). Text is paragraph text, split by position in the line. Restricted to the text of pages with labels, 17.1% of words start with q and 21.6% with o, the same as overall.

Word heads change with how the previous word ends

Words starting with q in the text depend strongly on the last glyph of the preceding word. After a word ending in y, the next word starts with q 27.5% of the time, about 3.8 times the 7.2% after other glyphs. Shuffling words within the page reduces this ratio to about 1.11 (maximum 1.18 over 50 runs). So while a word’s head is chosen independently of its tail within the word (Chapter 12), it is firmly tied to how the previous word ends. The generator of Chapter 12 lacks this link.

In conclusion, label words are a different kind of word from the text and look like names in the drawings, but no correspondence with specific text words was found. Forms beginning with q belong to the flow of the text, especially after words ending in y. In natural languages this recalls word forms used only within sentences (inflected forms, forms with attached articles or conjunctions) or sound changes conditioned by the previous sound (like French liaison). A compositional rule of the scribe (“after a word ending in y, start with q”) would give the same shapes, so this alone does not settle whether there is meaning. But systematic variation of word shape by “label vs text” and by “previous word” is something required both of a meaningful symbol system and of rule-governed composition, and is a clue for narrowing things down next.

18. Adding word-to-word linkage to the model

Chapter 17 showed that a word’s head depends on how the previous word ends (after y, q is likely). Line starts and line ends also have their own biases: line-initial words often begin with d, y, p or t, and 15% of line-final words end in m (0.9% mid-line). We added these mechanisms to the Chapter 12 generator (combine heads, bodies and tails by page preference and occasionally write altered copies of nearby words) to see how much they reproduce.

ModelAdjacent: 1-glyphAdjacent: same wordy→qLine startLine endOnce-only wordsh2Page character
Manuscript1.211.343.810.2010.08168%2.241.60
Ch. 12 model1.161.431.110.0020.00165%2.431.53
+ linkage + line end (same settings)1.191.492.470.0990.03065%2.521.62
+ linkage + line end (refit)1.051.293.470.1880.05169%2.451.29
No copying, with linkage1.000.923.580.1960.05169%2.451.30

Mean of three runs per model. “y→q” is the share of q-initial words after a y-final word relative to that after other glyphs. “Line start” and “line end” measure how far the distributions of the first glyph of line-initial words and the last glyph of line-final words differ from mid-line words (JSD). “Adjacent: 1-glyph” and “Adjacent: same word” are ratios to chance at 1–2 words back. “Page character” is how much more similar words on the same page are than random pairs from the whole manuscript (Chapter 12).

In conclusion, the scribe apparently respected the linkage rule even when writing altered copies of nearby words — for example, by adjusting the head of the source word to how the previous word ends. The next model must build the linkage rule into copying. In other words, the manuscript’s words satisfy at least four rules at once — internal word structure, page preferences, linkage to the previous word and copying from nearby words — and these rules interlock.

19. Keeping the linkage when copying

Chapter 18 showed that copying nearby words clashes with the linkage rule. We therefore changed how copies are chosen: pick several candidate source words nearby (each altered in 0–2 places) and favour those that fit how the previous word ends. Fit is measured as “frequency of that head after the previous glyph ÷ its usual frequency”. Replacing the head of the copied word would also be possible, but it changes the copy by two or more glyphs and destroys neighbour similarity, so it was not used.

ModelAdjacent: 1-glyphAdjacent: same wordy→qLine startLine endOnce-only wordsh2Page characterLine above
Manuscript1.211.343.810.2010.08168%2.241.601.28
1 candidate (as Ch. 18)1.191.492.470.1040.05066%2.531.561.84
Choose from 41.221.493.260.1280.05366%2.571.591.88
Choose from 81.191.453.460.1320.05166%2.591.571.85
Choose from 8, strongly1.201.433.870.1370.05166%2.641.651.85
Full refit1.331.713.660.1840.05669%2.451.311.04

Mean of three runs per model. The top four models keep the best Chapter 12 settings and vary only the number of candidates and the strength of selection (line-final preferences used in all). “Full refit” searches all settings, including number of candidates and selection strength, against the nine manuscript metrics plus four linkage metrics. “Line above” is the ratio to chance of similarity with the word directly above.

In conclusion, the single device of “choosing, even when copying, a word that fits how the previous word ends” resolves the contradiction of Chapter 18. The text can now be largely reproduced by satisfying four rules at once: (1) internal structure (head, body, tail), (2) page preferences, (3) linkage to the previous word, and (4) writing while looking at nearby words. The remaining large differences are the overall similarity of nearby lines (Chapter 13) and glyph predictability; both might be explained by word preferences drifting slowly over a few lines.

20. Word preferences drifting from line to line

Two large differences remained in the Chapter 19 model: the overall similarity of nearby lines (Chapter 13) and glyph predictability (h2). We first measured in the manuscript how similar words are as a function of how many lines apart they are (up to one glyph different; ratio to within-page shuffles).

Model1 line2 lines3 lines4–6 lines7–12 linesDirectly above9-metric loss
Manuscript1.181.061.061.021.001.28—
Ch. 19 model1.331.010.990.970.971.910.143
No copying from line above1.091.031.020.990.981.110.144
+ drifting preferences1.131.061.041.000.981.140.161
+ drift + head–tail link1.111.051.031.000.981.080.105

“1 line” = words one line apart (any column); “directly above” = the word at the same position one line up. Mean of six runs per model. “9-metric loss” is the difference from the manuscript used since Chapter 12 (smaller = closer).

In the manuscript, similarity fades slowly over several lines: 1.18× at one line, 1.06× at two, 1.06× at three. The Chapter 19 model is strong only at one line (1.33×) and about chance from two lines on. This is because the “copy from the line above” mechanism concentrates on the word directly above; removing it alone drops directly-above similarity from 1.91× to 1.11×.

We then added slowly drifting word preferences: on each page, the head and the tail each carry a “current preference weight”, which changes randomly from line to line while partly carrying over the previous line’s weight. New words choose heads and tails with these weights applied. Copying from the line above is not used.

In conclusion, slowly drifting word preferences partly explain the broad, faint similarity of nearby lines without breaking other properties. But the two differences were not closed at the same time. To explain the similarity of nearby lines fully, preferences at a finer glyph level, not whole heads and tails, must drift. Glyph predictability is a separate problem from line drift: the rules of how glyphs are assembled within words (especially in short words and at part junctions) must be captured more finely than in the current model.

21. Comparison with “scripts built from parts” like Hangul and Chinese

Voynich words are built by combining head, body and tail parts (Chapter 12), with strict rules for how parts combine. This resembles Hangul, where an initial, a medial and a final combine into one syllable block, and Chinese, where a syllable consists of an initial and a final (pinyin). Jorge Stolfi also argued, from the distribution of word lengths, that the Voynich may be a “one word = one syllable” language like Chinese, Vietnamese or Tibetan (Stolfi, “Chinese redux”). We therefore converted the Korean, Chinese and Vietnamese Bibles into sequences of parts (letters) and applied the same yardstick under several segmentations.

Text (segmentation)Mean lengthDistincth2Same wordOne-glyph diff.Head–tailLinkage
Voynich4.462,8892.241.311.220.0880.070
English (Moby-Dick)4.272,4703.320.360.870.3060.016
Latin (Caesar)6.123,3883.300.330.540.2250.012
Korean (1 syllable = 1 word)2.344952.320.430.98—0.079
Korean (2-syllable chunks)4.693,9773.020.270.680.2030.085
Korean (eojeol as jamo)6.784,2843.020.520.580.1660.032
Chinese (pinyin, 1 syllable = 1 word)2.613162.350.420.940.3070.020
Chinese (2-syllable chunks)5.205,1963.010.790.800.1000.019
Chinese (words in pinyin)4.032,5382.850.330.900.1830.021
Vietnamese (1 syllable = 1 word)2.761,0662.960.250.940.7250.046
Vietnamese (2-syllable chunks)5.536,3433.630.661.300.1770.052

34,859 words each. Korean Hangul decomposed into initial, medial and final; Chinese as toneless pinyin (zh, ch, sh, ng counted as one letter); Vietnamese in its standard spelling with spaces between syllables (vowels with tone marks counted as one letter). For Korean, Chinese and Vietnamese the second half of the Bible is used, to avoid the genealogy at the start (repeated personal names). “Same” and “1-glyph” are ratios to chance at 1–2 words back (words of 2+ letters). “Head–tail” is the association between the first two and last two letters of words of 4+ letters (as in Chapter 12; closer to 0 = more independent). “Linkage” is the association between the last letter of a word and the first letter of the next. “Distinct” is distinct words per 10,000.

In conclusion, Voynich words have the “parts placed into fixed slots” construction of Hangul syllable blocks and Chinese syllables. Glyph predictability and the strength of word-to-word linkage in particular fit syllable-level writing well. But taking “one Voynich word = one syllable” gives too many word types, and “one word = two syllables” makes glyph sequences too unpredictable. Neither view explains the tendency of similar words to gather next to each other. The Voynich seems to be a system slightly different from any natural writing: around two strictly assembled, syllable-like parts combined independently, with the joins continuing across word boundaries.

22. Reproducing both “identical” and “one-glyph” similarity between nearby lines

Chapter 20 showed that in the manuscript, identical and one-glyph-different words contribute equally to the similarity of nearby lines (both 1.18× at one line apart), while drifting preferences in the model mainly increase identical words. We therefore tried several finer-grained mechanisms.

Model1 line, same1 line, 1-glyph2–3 lines, same2–3 lines, 1-glyph4–6 lines, same4–6 lines, 1-glyphDirectly aboveAdjacent, sameAdjacent, 1-glyph9-metric loss
Manuscript1.181.181.091.051.041.021.281.341.21—
Ch. 20 (drifting head/tail preferences)1.221.091.081.031.001.001.121.511.220.176
Drifting edit fashion1.221.101.071.031.000.991.141.471.220.171
Drift tails only1.231.101.081.040.991.001.131.521.270.220
Copy from previous 3 lines (almost always altered)1.221.141.181.120.950.971.161.171.160.191
Copy from previous 5 lines + drifting preferences1.261.151.161.081.041.031.171.311.240.182

Mean of six runs per model. Values by line distance are ratios to chance (within-page shuffle) of word pairs at that distance being identical (or one glyph different). “Adjacent” = 1–2 words back. “9-metric loss” is the difference from the manuscript used since Chapter 12.

In conclusion, the similarity of nearby lines fits “the scribe based words on those visible in the previous few lines and altered them slightly almost every time” better than “the scribe’s preferences drifted slowly at the glyph level”. Chapter 13 failed because the source was limited to the single word directly above; allowing sources anywhere in the previous few lines brings both identical and one-glyph similarity between nearby lines much closer to the manuscript without spoiling other properties. At one line apart identical words are still a little too frequent, so the reproduction is not complete. This supports the idea behind Timm and Schinner’s self-citation hypothesis (copying and slightly altering visible, already-written words), with the range of sources being the previous few lines.

23. Closing the gaps one at a time (five iterations)

Starting from the Chapter 22 model, we repeated “measure in the manuscript → pick the largest discrepancy → investigate the cause and fix it” five times. The table shows where each round ended.

Model9-metric lossLine-distance loss1 line, same1 line, 1-glyphDirectly aboveAdjacent, sameAdjacent, 1-glyphOnce-only wordsh2Line endPage character
Manuscript——1.181.181.281.341.2168%2.240.0811.60
Start (Ch. 22)0.1820.1871.291.161.151.411.2170%2.580.0531.44
Round 1: sources from previous 4 lines (nearer lines favoured)0.1890.2181.261.151.121.231.1570%2.560.0531.45
Round 2: sometimes copy the preceding word verbatim0.1600.1001.251.151.181.351.1570%2.560.0551.44
Round 3: separate preferences for line start / middle / end0.1120.1661.191.131.151.291.1467%2.500.0751.44
Round 4: pick candidates with natural glyph sequences0.0540.2841.131.101.111.221.0763%2.300.0741.45
Round 5a: judge only the junctions0.0540.3161.141.101.101.181.0863%2.300.0701.45
Round 5b: write past the head glyph by glyph0.1000.1481.291.131.161.291.1270%2.420.0571.21

Mean of six runs per model. “1 line, same / 1-glyph” are ratios to chance of words one line apart being identical / one glyph different; “Adjacent” = 1–2 words back. “Line end” is the bias of the last glyph of line-final words (JSD). “Page character” as in Chapter 12. “9-metric loss” is the difference from the manuscript used since Chapter 12.

Round 1: where are the copy sources?

We counted, in the manuscript, where the possible “sources” of similar words (up to one glyph different) are located. With the usual baseline, sources appeared strongly concentrated at roughly the same column (±3 words). But with a baseline shuffling only among words at the same position in the line, the column effect almost vanished (1.1–1.2× at any column one line up): the apparent column effect was due to line-start and line-end word shapes. The real remaining effect is distance in lines: the excess of similar words is concentrated one line back, about a third remains two to three lines back, and almost none from four lines back. We therefore took sources from the previous four lines, favouring nearer lines (halving for each line further back). Though based on the manuscript measurement, this change alone did not reduce the line-distance loss (0.187 → 0.218; it appeared to with three-run averages, but with six runs this was within random fluctuation), and identical adjacent words dropped to 1.23× (manuscript 1.34×).

Round 2: identical adjacent words

In the manuscript, between a word and earlier words on the same line, identical words are enriched more (1.37×) than one-glyph-different words (1.19×): adjacent copies are often verbatim. Adding occasional verbatim copying of an earlier word on the same line (about 0.2% of all words) gave adjacent identical 1.35× and one-glyph 1.15× (manuscript 1.34×, 1.21×). Verbatim copying of just 0.6% of words shoots this up to 1.7×, so this property is determined by a very small amount. The line-distance loss also dropped to 0.100, the smallest of the five rounds.

Round 3: line starts and ends

Round 1 suggested that the remaining shortfall in similarity with the word directly above comes from line-start and line-end word shapes. Investigating, the model had the same share of m-final words at line ends as the manuscript, but three times as many m-final words mid-line, because word preferences were taken from a distribution mixing all line positions. Building mid-line words from preferences estimated on mid-line words only, and favouring position-typical words at line starts and ends, brought the line-final bias to 0.075 (manuscript 0.081) and the 9-metric loss down to 0.112.

Round 4: glyph predictability

Decomposing the h2 gap (2.50 vs 2.24) gave about 0.15 bits at part junctions (head→body, body→tail, head→tail) and about 0.06 bits inside short words; the latter comes from altering copies in one or two places, producing short words with shapes absent from the manuscript. Making four candidates for each new word and favouring those with manuscript-like glyph sequences lowered h2 to 2.30 and the 9-metric loss to 0.054, the best so far. But once-only words fell to 63% (manuscript 68%) and adjacent one-glyph similarity weakened to 1.07×.

Round 5: reconciling predictability and diversity

The dilemma of round 4 is exactly the manuscript property found in Chapter 21: “predictable glyph sequences, yet many distinct words”. Two methods were tried: a) judge candidates only by the glyph sequence at part junctions, not the whole word; b) choose only the head and write the rest glyph by glyph following the manuscript’s glyph-continuation statistics (three-glyph units). a) lowered h2 to 2.30 but once-only words stayed low at 63%; b) restored once-only words to 70% and fitted the line-distance profile well (loss 0.148), but h2 stayed at 2.42, and because the page-specific tail preferences were weakened, page character fell to 1.21.

In conclusion, five iterations largely explained three things as mechanisms of the manuscript: where copy sources are (the previous few lines, any column), occasional verbatim copying of the immediately preceding word, and the shape of line-final words. But similarity with the word directly above stayed at 1.10–1.18× in every round, short of the manuscript’s 1.28×. What remained to the end was satisfying “glyph predictability”, “many distinct words” and “page-specific preferences” simultaneously: with the current part-combination or glyph-continuation statistics, fixing one breaks another. The scribe must have had more precise word-building rules satisfying all three, and identifying them is the next major task.

24. An overnight autonomous improvement loop

To solve the problems left in Chapter 23 (glyph predictability h2, the number of distinct words, page-specific preferences, and the 1.28× similarity with the word directly above), an improvement loop was run autonomously from 21:00 on 16 October until the next morning. The procedure:

220 candidates were evaluated in total. The settings and results of every candidate are in the attached full history (history.csv), the final model’s settings in final_params.json, and the record of the automatic search (including diagnoses and changes of approach, in Japanese) in search_log.txt. The progress was as follows.

StageWhat was triedEvaluationsBest Jh2Once-onlyPage char.AboveReached
Manuscript—2.2467.9%1.601.28
BaselineWhere Ch. 23 ended30.9312.3063.0%1.441.11—
Round 1Glyph-by-glyph words + family attraction60.5642.2964.9%1.501.40—
Round 2Column closeness of sources; copies from same line60.3192.2965.5%1.491.24above
Round 3Stronger selection of copies (no improvement)60.4302.3764.7%1.581.21page
Round 4Line-final statistics; no copying at line edges60.0982.2567.1%1.621.29h2, once-only, page, above
Auto search 1Automatic search around round 4340.0952.2568.4%1.581.29h2, once-only, page, above
Round 5Retrace the previous word and diverge40.0942.2567.5%1.591.29h2, once-only, page, above
Auto search 2Automatic search around round 5500.0882.2567.6%1.631.28h2, once-only, page, above
Round 6Choose copy sources by glyph-continuation statistics40.3772.1568.2%1.821.22once-only
Round 7Weaker family attraction40.0842.2169.5%1.631.27h2, once-only, page, above
Auto search 3Automatic search around round 7 (2 diagnoses)800.0582.2268.9%1.611.29h2, once-only, page, above

The candidate with the smallest J at each stage. “Reached” lists the key targets within range (h2, once-only words, page character, directly above).

Finding 1: writing glyph by glyph reconciles predictability with diversity

To check the cause of the Chapter 23 dilemma (lowering h2 reduces once-only words), words were generated independently from the manuscript’s glyph-continuation statistics alone. h2 matched the manuscript exactly (2.235), and once-only words were 72% with two-glyph context and 65% with three-glyph context, bracketing the manuscript’s 68%; the number of distinct words was also at the manuscript level. The property described in Chapter 21 as unique to the Voynich arises naturally when words are written glyph by glyph; the failure to combine the two came from combining parts. New words were therefore switched to glyph-by-glyph writing, with the last two glyphs of the previous word included in the context. Word-to-word linkage such as y→q then appears without any special mechanism.

Finding 2: page character is a product of a section effect and a page effect

With glyph-by-glyph writing, page character dropped to about 1.3. Investigating, the manuscript’s 1.60 turned out to be the product of a “same section” effect of 1.42× and a further “same page” effect of 1.14×. The models up to Chapter 23 reproduced only the section effect and had no page effect (1.03×). A mechanism making words with larger families of similar words on the page more likely to be chosen as copy sources (“family attraction”) restored the page effect.

Finding 3: after-the-fact replacements were breaking the linkage

Round 3 brought no improvement and triggered a diagnosis. Stronger selection of copies did not move the linkage metrics and worsened h2, so the cause was probably not the copies; new words alone were re-measured. Glyph-by-glyph writing alone matched the manuscript in linkage, y→q and line-initial bias; what broke them was the mechanism replacing line-initial and line-final words after the fact. Dropping the replacements, writing line-final words from the start with “line-final glyph-continuation statistics”, and not copying at line edges (round 4) brought all four key targets within range for the first time.

Finding 4: retrace the previous word and diverge

Adjacent one-glyph-different words (manuscript 1.21×) were too few, so a mechanism was added that “retraces the first few glyphs of the previous word and continues with glyph-continuation statistics (rewriting if the result is identical)”. Doing this for about 2% of words brought adjacent one-glyph similarity to the manuscript level (round 5). Adjacent pairs like qokedy qokeedy fit this way of writing well.

Finding 5: choose copy sources by glyph-continuation statistics too

The automatic search twice repeated a diagnosis of the same component (word-to-word linkage) without progress, so the diagnostic rule was changed to “move on to the next component if the previous focus failed”, and the cause of the weak linkage was investigated. Copy selection still used the part-based “head frequency ratio”, which favours rare heads. Choosing instead by the probability that the word’s first two glyphs follow the previous word (glyph-by-glyph statistics) (round 6) lowered the 9-metric loss to 0.007. Weakening family attraction to fix the now too strong page effect (round 7) brought all metrics into line.

What did not work

25. The final model and what it shows

How the final model works

The model reached overnight writes each page word by word according to the following rules (numbers are the final settings).

  1. New words (about 65% of words not at line edges, and all line-initial and line-final words) are written glyph by glyph. Each glyph is chosen from the previous two or three glyphs (including the last two glyphs of the previous word and the word boundary) according to the manuscript’s glyph-continuation statistics, mixing statistics for the whole section with those of nearby pages (3 pages on each side). Line-final words are written with line-final statistics.
  2. Nearby words are copied (about 35% of words not at line edges). Sources are mainly anywhere in the previous 3 lines (nearer lines more often; slightly closer columns favoured) or anywhere on the page, where words with larger families of similar words are favoured. When copying, 12 candidates are picked and altered in one or two places, and the one whose beginning most readily follows the previous word is chosen. No copying at line starts or ends.
  3. An earlier word on the same line is occasionally copied verbatim (about 0.5% of words not at line edges).
  4. The beginning of the previous word is retraced and the rest rewritten (about 3% of new words).
SettingNameValue
Share of copied words (non-edge)p_cite0.35
of which from earlier words on the same linew_local0.10
of which copied verbatimloc_keep0.15
of which from the previous few linesw_win0.30
lines looked backwin_lines3
weight per extra line backwin_q0.50
column closeness (larger = weaker)col_tau2.50
Family attraction (copies from anywhere on page)fam_a1.00
Copies altered in one placep_mut10.75
Copies altered in two placesp_mut20.20
Strength of glyph-grammar constraint on alterationsbeta2.02
Copy candidatesK12
Strength of linkage-based selectiongamma2.00
Share of retraced wordspref_p0.03
Weight of 3-glyph context (rest: 2-glyph)mk_lam30.45
Mixing of nearby-page vs section statistics (smaller = more local)mk_mu5.0
Nearby pages (each side)kpages3
Glyph-choice temperature (1 = as in manuscript)mk_T1.08
Line-final statistics (smaller = stronger)mk_mend1.0

Main settings of the final model (all values in final_params.json).

Check on fresh random seeds

The search kept using the same six seeds, so it risked selecting settings that happen to suit them. The top candidates were therefore re-evaluated on six seeds not used in the search.

CandidateJ (search seeds)J (fresh seeds)h2Once-onlyPage char.AboveReached (fresh)
Final model (round 7, R7-2)0.0840.0832.2269.5%1.601.26h2, once-only, page, above
Best of auto search 30.0580.0862.2269.7%1.611.30h2, once-only, page, above
Best of auto search 20.0880.0922.2567.7%1.611.28h2, once-only, page, above
Round 4 (R4-5)0.0980.1002.2667.0%1.581.28h2, once-only, page, above
Start (Ch. 23, round 3)1.1171.0642.4967.2%1.431.16once-only

“J (search seeds)” uses seeds 101–106; “J (fresh seeds)” uses seeds 201–206.

The final model (R7-2 from round 7) has J = 0.083 on the fresh seeds, with all four key targets within range (h2 2.22, once-only words 69.5%, page character 1.60, directly above 1.26). The best of automatic search 3 looked far better on the search seeds (J = 0.058), but on fresh seeds it is 0.086, no different from R7-2. Discounting seed tuning, the level reached by the mechanism changes up to round 7 is the night’s result. The starting point (Ch. 23, round 3) has J = 1.064 on fresh seeds, so J fell to about 1/13.

Scorecard: every yardstick so far

The final model was compared with the manuscript on every yardstick used in this report, including metrics not used for fitting (mean of the six fresh seeds).

MetricFittedManuscriptCh. 19 modelCh. 23 (round 3)Final model
Next-glyph unpredictability h2○2.242.592.502.21
Once-only words○67.9%65.8%67.7%69.4%
Distinct words per 10k○2,8893,7543,7402,826
Mean word length○4.424.254.354.40
Word-length distribution difference0.00000.00430.00100.0082
Adjacent: same word○1.341.451.261.37
Adjacent: one glyph○1.211.221.151.24
3–10 words back○1.181.271.111.12
11–30 words back○1.081.061.051.05
1 line apart: same1.191.671.211.22
1 line apart: one glyph1.171.261.111.11
2 lines apart○1.061.031.061.06
4–6 lines apart○1.030.980.990.98
Directly above○1.291.881.131.27
One line up, adjacent1.221.841.141.22
Page character○1.601.561.431.62
of which page effect1.141.191.041.15
of which section effect1.381.321.371.43
Head–tail association0.0880.0290.0330.076
y→q○3.813.423.373.13
Word-to-word linkage○0.1920.1230.1290.197
Line-start bias○0.2010.1370.1780.218
Line-end bias○0.0810.0490.0750.075
Origin of rare words (Ch. 11)1.321.731.591.87

Metrics without a mark in the “Fitted” column were not part of the search objective and serve as checks. “Origin of rare words” is the Chapter 11 test (ratio to chance of once-only words having a one-glyph-different word within the previous 10 words). “Word-length distribution difference” is the JSD from the manuscript (smaller = closer). The page and section effects are estimated from sampled word pairs and fluctuate by about ±0.04 (the difference from the manuscript values 1.14 and 1.42 in Chapter 24 is within this range).

Most metrics not used for fitting are also close to the manuscript. In particular, the head–tail association (0.076; manuscript 0.088) is closer to the manuscript than in the earlier models that combined parts independently (about 0.03), showing that the “nearly independent head and tail” property of Chapter 12 also arises naturally from glyph-by-glyph writing. The split between page and section effects (1.15, 1.43; manuscript 1.14, 1.38) and similarity one line up, adjacent (1.22; manuscript 1.22) also match.

What this model shows

Most statistical properties of the manuscript text can now be reproduced by a combination of fairly simple writing rules. In summary, the manuscript fits a way of writing like this:

Three caveats. First, the model is built from the manuscript’s own statistics (glyph continuation, section and nearby-page biases, line-final shapes, etc.), so it shows not that the manuscript was written this way, but that assuming so is statistically consistent. Second, it does not prove the text is meaningless: meaningful content written in a peculiar system assembling syllable-like parts, by a scribe who wrote while looking at nearby words, could give similar statistics — although such a way of writing differs from every natural-language text examined (Chapters 6–8, 21). Third, evaluations fluctuate with the random seeds, and small differences (up to about 0.05 in J; Chapter 31) are meaningless.

Remaining differences. (1) Origin of rare words: in the model, once-only words have a one-glyph-different word within the previous 10 words at 1.87× chance, higher than the manuscript (1.32×). In the model, too many new forms arise as altered copies of nearby words; the scribe may have more often altered copies into forms used elsewhere (the direction of the “real-word type” of Chapter 11). (2) y→q is 3.13×, short of the manuscript’s 3.81× (overall word-to-word linkage is 0.197, the same as the manuscript’s 0.192, so only the specific y-then-q combination is weak). (3) One-glyph similarity one line apart (1.11; manuscript 1.17) and similarity 3–10 words back (1.12; manuscript 1.18) are slightly weak. These are the next tasks.

26. Comparison with 23 contemporary recipe collections

The contemporary vernacular recipe collections compared in Chapter 8 were only two (Middle English and Italian). On GitHub we found a dataset of medieval and early-modern recipe collections, mainly from the German-speaking area, transcribed in their original spelling (neongrau/fyndling-tei; transcriptions based on Monumenta culinaria, the Graz Corpus of Recipes of the Middle Ages (CoReMA), and others). We measured the 23 collections dated before 1560 with at least 3,000 words using the same yardstick. Only the original text of each recipe was used, not the modern German translations included in the dataset.

CollectionDateLanguageWordsAdjacentzSame1-glyphh2
Le Viandier de Guillaume Tirel, dit Tailleventc. 1300Old French3,7120.31-7.20.250.653.00
Daz buoch von guoter spîsec. 1350Middle High German7,5570.38-14.00.220.892.98
The Forme of Cury*c. 1390Middle English15,5230.59-9.00.411.923.23
Le Ménagier de Parisc. 1393Old French31,5900.33-12.10.210.623.09
Libro della cocina (Anonimo Toscano)late 14th c.Medieval Italian3,6030.27-4.50.210.393.02
Registrum Coquine quomodo et qualiter prepar…c. 1431–1435Medieval Latin3,9140.23-6.00.130.853.08
Rheinfränkisches Kochbuch (ohne Originaltite…c. 1445Middle High German3,4170.37-9.80.240.642.95
Maister Hannsen des von Wirtenberg Koch1460Early New High German24,0220.29-22.20.220.532.99
München, Bayerische Staatsbibliothek, Clm 15…1458–1464Early New High German3,1700.41-9.20.251.062.91
Libro de arte coquinariac. 1465Medieval Italian24,0220.40-10.00.370.453.05
Wel ende edelike spijsec. 1475Middle Dutch3,1700.47-7.40.430.582.91
Berlin, Staatsbibliothek zu Berlin – Preußis…mid-15th c.Early New High German19,1200.40-17.20.270.843.00
Karlsruhe, Badische Landesbibliothek, Cod. A…15th c.Early New High German6,2140.57-9.20.490.892.97
München, Bayerische Staatsbibliothek, Cgm 3842nd half 15th c.Early New High German4,8340.51-7.70.500.582.94
Graz, Universitätsbibliothek, Ms. 1609 (CoRe…2nd half 15th c.Early New High German25,4460.44-19.50.320.733.04
Wien, Österr. Nationalbibl., Cod. 2897mid-15th c.Early New High German18,6660.40-16.20.270.813.03
München, Bayerische Staatsbibliothek, Cgm 5919c. 1500Early New High German8,2480.35-12.90.240.662.98
Kuchařství o rozličných krměch, kterak se už…1535Early Czech11,8650.37-6.30.200.723.42
Das Kochbuch der Philippine Welser1543–44Early New High German24,9980.47-19.70.270.692.92
Wolfenbüttel, Herzog-August-Bibliothek, Cod.…1543Early New High German10,1580.34-15.50.320.383.02
Ein künstlichs vnd nutzlichs Kochbuch, vorma…1545Early New High German30,7750.40-14.90.290.513.17
Das kochbúch der sabina welserin1553Early New High German16,3340.35-17.20.270.563.02
Augspurger Kochbuoch, worinnen enthalten für…1554Early New High German8,5500.16-14.30.100.263.01

Recipes of each collection in manuscript order, up to 34,859 words. Values are ratios to chance (words shuffled within the page). z is the deviation from chance (200 shuffles). *The transcription of The Forme of Cury contains an 18th-century editor’s glosses pairing old and modern spellings (e.g. “morter. Mortar.”), which inflates the one-glyph value; indicative only.

In conclusion, the explanation “neighbours are similar because recipe texts repeat stock phrases” does not hold even for handwritten recipe collections of the same period and region as the Voynich, in unstandardised spelling. Together with the results up to Chapter 8 (93 languages, Latin recipe collections and herbals, contemporary texts), the neighbour similarity of the Voynich is a property distinct from texts of this kind in Europe at the time.

27. Middle High German medical and herbal texts (ReM)

After the recipe collections of Chapter 26, we measured medical and herbal texts. The source is the Reference Corpus of Middle High German (ReM: Referenzkorpus Mittelhochdeutsch 1050–1350, Version 2.1), which transcribes manuscripts of 1050–1350 in their original spelling, including abbreviation marks and long s (ſ). From it we extracted the medical, herbal and lapidary texts. For comparison we added, from the same corpus, the Physiologus (a book on the natures of animals), the encyclopaedic dialogue Lucidarius, and the cookbook Daz buoch von guoter spîse, which was also measured in Chapter 26.

TextWordsAdjacentzSame1-glyphh2Normalised: adjacentNormalised: h2
Bartholomäus (medical)11,8650.44-9.10.270.633.190.483.08
Zürich medical book2,6420.47-4.40.310.603.290.463.25
Small medical texts (10, pooled)4,5090.51-6.60.380.703.330.523.28
Physiologus (control)7,4060.57-6.00.470.673.220.583.12
Lucidarius (control)6,4820.56-7.00.490.633.060.553.04
Daz buoch von guoter spîse (cookbook)8,0640.59-6.80.350.823.040.632.98

Values are ratios to chance (words shuffled within each page); z is the deviation from chance (200 shuffles). Values measured on the manuscript spelling (a word with abbreviation marks counted as one spelling) are shown next to values after changing ſ to s and removing abbreviation marks. “Small medical texts” pools ten short texts (a few hundred words each): the Prüll and Innsbruck medical books, herbal, lapidary and recipe texts.

In conclusion, beyond the recipe collections (Chapter 26), medical and herbal texts close in content to the Voynich, in their original manuscript spelling, also avoid similar words next to each other. The Voynich property that both identical and one-glyph-different words cluster next to each other cannot be explained by the genre or the spelling variability of such texts of the period.

Source: Roussel, Klein, Dipper, Wegera, Wich-Reif (2024), Referenzkorpus Mittelhochdeutsch (1050–1350), Version 2.1 (CC BY-SA 4.0).

28. 15th-century herbals and medical books (ReF)

Following the Middle High German texts (up to 1350) of Chapter 27, we measured texts from around the 15th century, the period of the Voynich. The source is the Reference Corpus of Early New High German (ReF: Referenzkorpus Frühneuhochdeutsch 1350–1650, Version 1.0.2), which transcribes manuscripts and prints in their original spelling, including abbreviation marks and long s (ſ). From it we chose 10 medical, herbal, natural-history and divination texts. The core ones are the German herbal Gart der Gesundheit (Mainz, 1485), which gives an illustration and the virtues of each plant and was printed by Schöffer’s press, which had published the Latin Herbarius measured in Chapter 7 the year before, and a handwritten herbal and recipe collection of 1511. As counterparts to the Voynich’s star charts and astrological drawings we also added a moon divination book, Hartlieb’s Book of all forbidden arts and an astrological annual forecast.

TextDateTypeWordsAdjacentzSame1-glyphh2Normalised: adjacent
Buch der Natur (Megenberg)c. 1350–75manuscript16,7960.45-13.70.340.573.200.46
Mainau natural philosophylate 14th c.manuscript6,1250.52-7.20.490.573.150.55
Moon divination bookc. 1400manuscript8,6640.54-7.70.330.673.020.54
Book of all forbidden arts (Hartlieb)1465manuscript21,1180.49-14.30.350.703.130.52
Ulm surgery booklate 15th c.manuscript20,3240.38-18.00.330.493.280.38
Gart der Gesundheit (herbal)1485print24,9980.51-15.10.380.653.160.56
Practica (astrological forecast)1496print4,1930.23-11.90.090.383.030.24
Buch der Cirurgia (Brunschwig)1497print20,7820.52-13.20.330.693.150.55
Surgery book (Pfalzpaint)1495–1505manuscript24,9980.35-21.10.240.573.060.35
Herbal and recipe collection1511manuscript20,6510.41-15.10.260.553.210.43

Values are ratios to chance (words shuffled within each page); z is the deviation from chance (200 shuffles). Words are the space-separated units of the manuscript or print, with words split at line ends rejoined. “Normalised” changes ſ to s and removes abbreviation marks. Each text is measured over the portion transcribed in the corpus (up to 25,000 words).

In conclusion, even in the genres closest to the Voynich’s drawings and from its own period (plant-by-plant herbals, recipe collections, surgery books, moon divination), texts in their original spelling avoid similar words next to each other. Across Chapters 26–28 we measured about 40 texts — 23 recipe collections, 13th–14th-century medical books and 15th-century herbals and medical books — and none has the Voynich property that both identical and one-glyph-different words cluster next to each other.

Source: Wegera, Solms, Demske, Dipper (2021), Referenzkorpus Frühneuhochdeutsch (1350–1650), Version 1.0.2 (CC BY-SA 4.0).

29. A 15th-century northern Italian recipe book and herbal

Chapters 26–28 centred on the German-speaking area, so we measured texts from northern Italy, a region that has also been linked to the Voynich. The first is a 15th-century Venetian medical recipe book in manuscript MA 400 of the Biblioteca Civica in Bergamo (first complete edition by Lemme 2024, CC BY), with 112 recipes of the kind “take …, grind it to powder, knead it with honey”. The edition fills in the manuscript’s abbreviations in round brackets, so we measured both “abbreviations kept” (the bracketed letters removed, close to how the manuscript looks) and “expanded”. Footnotes, page and folio numbers were removed. The second is the Italian herbal Herbolario volgare, printed in Venice in 1522.

TextDateTypeWordsAdjacentzSame1-glyphh2
Venetian medical recipe book (abbreviations kept)15th c.manuscript7,1380.62-3.80.241.223.12
Same (abbreviations expanded)15th c.manuscript7,2530.51-4.10.181.123.10
Herbolario volgare (herbal)*1522print34,8590.54-7.20.420.753.42

Values are ratios to chance (words shuffled within each page); z is the deviation from chance (200 shuffles). *The Herbolario volgare text is the machine transcription from page images on the Internet Archive; it has reading errors (e.g. long s read as f) and includes the table of contents, so it is indicative only (first 34,859 words).

In conclusion, the Voynich combination does not appear in a 15th-century northern Italian recipe book or an early 16th-century herbal either. A formulaic recipe book can place rhyme-like one-glyph pairs next to each other, but it avoids repeating the same word — the opposite of the Voynich pattern.

Sources: Lemme, C. (2024). «Il ricettario veneziano del ms MA 400 della Biblioteca Civica “A. Mai” di Bergamo (cc. 66r-98v)». Quaderni Veneti 13, 31–70 (CC BY). Herbolario volgare (Venice, 1522), Wellcome Collection copy, Internet Archive.

30. Do head and tail preferences follow the type of drawing?

Head and tail preferences differ between sections (Chapters 12 and 14). But when the section changes, the hand and Language A/B often change too, so it was not clear whether the differences come from the content of the drawings (plants, baths, jars, etc.) or from the hand and the time of writing. If tail preferences were tied to the type of drawing, that would be a clue that tails carry meaning.

We therefore compared pages with different types of drawing within the same hand and language. Two such groups exist: Hand 1 / Language A has herbal and pharmaceutical (jar) pages, and Hand 2 / Language B has herbal, bath, text-only and cosmological pages. Pages were grouped into cells of “drawing type × quire” (a quire is a gathering of folded sheets bound together), and we measured how much the distributions of heads, tails and whole words differ between cells (JSD; 0 means identical). To remove the effect of different word counts, we drew 350 words at random from each cell and averaged over 200 draws.

GroupPartHalves of the same cell (baseline)Same drawing, other quireDifferent drawingp
Hand 1, Language A (herbal, pharma)Head0.1510.2090.2450.03
Hand 1, Language A (herbal, pharma)Tail0.0880.1540.1610.34
Hand 1, Language A (herbal, pharma)Whole word0.5480.6340.6770.10
Hand 2, Language B (herbal, bath, text-only, cosmological)Head0.1250.1860.2100.10
Hand 2, Language B (herbal, bath, text-only, cosmological)Tail0.0590.1160.1070.82
Hand 2, Language B (herbal, bath, text-only, cosmological)Whole word0.5020.6220.6360.26

“Halves of the same cell” is the difference when one cell is split at random into two, i.e. the size of chance fluctuation. p is the share of 2,000 permutations of drawing-type labels among cells in which the gap between “different drawing” and “same drawing, other quire” is at least as large as observed.

In conclusion, the differences in head and tail preferences are determined not by the content of the drawings but by which quire the text was written in (probably the time of writing or a continuous stretch of work). This fits “the sheet is the unit” of Chapter 14. At least with this measure, there is no evidence that word tails represent the type of drawing — plants, baths, jars. Quire differences are clearly visible with this yardstick (the same drawing type in another quire gives a larger value), so an effect of drawing type of similar size would have been detected.

31. Steering altered copies towards “forms used elsewhere”

One of the differences left in the final model of Chapter 25 (R7-2) was how rare words arise. Among the model’s once-only words, too many had a one-glyph-different word within the previous 10 words: too many new forms arose from altered copies of nearby words. We therefore added a mechanism: when a copied word is altered, the alteration is retried until the result is a form already written earlier (at most 20 tries; if none is found, the last attempt is used). The assumption is that the scribe, even when altering a nearby word, often changed it into a form used elsewhere.

ModelOrigin of rare wordsh2Once-only wordsWord types per 10kAdjacent: sameAdjacent: 1-glyphDirectly aboveJ
Manuscript1.322.240.6792,8891.341.211.28—
R7-2 (search seeds, mean of 3 orderings)1.772.220.6942,8501.341.231.250.106
Steered (same)1.402.210.6852,7281.291.271.270.085
R7-2 (hold-out seeds)1.862.220.6972,8451.391.251.290.088
Steered (hold-out seeds)1.292.220.6862,7331.261.281.260.091

“Origin of rare words” is the share of once-only words with a one-glyph-different word within the previous 10 words (ratio to chance). Values for the search seeds (101–106) are means over three different “orderings” (see below). The hold-out seeds (201–206) were not used in the search.

A correction on evaluation noise. While checking this chapter we found that the generated text also changes with Python’s set ordering (PYTHONHASHSEED). For the same R7-2, J on the search seeds ranges from 0.070 to 0.154 across orderings, and similarity to the word directly above is 1.21, 1.25, 1.28 (just outside the target range for some orderings). This ordering was not fixed in the autonomous loop of Chapter 24, so differences in J between candidates of up to about 0.05 should be read as meaningless. The steered version fluctuates less (J 0.081–0.088) and meets all four key targets under all three orderings.

In conclusion, the mechanism “when altering a copied nearby word, change it into a form used elsewhere” almost removes the remaining difference in how rare words arise (Chapter 25). The statistics fit well if the scribe, while taking cues from nearby words, mostly chose forms from among words already in use. This version (R7-2 plus att_p = 1.0, att_T = 20) is the model closest to the manuscript so far.

32. Discrimination test: can a classifier tell the manuscript from the model?

So far we have compared the manuscript and the model on measures we chose ourselves, which cannot reveal differences in properties we did not choose. We therefore mixed manuscript pages with generated pages (same word count and line shape per page) and asked a classifier (logistic regression) to tell them apart. It uses about 300 features per page: glyph frequencies, glyph pairs, word lengths, word-initial and word-final glyphs, line-initial and line-final glyphs, junctions between words, and repetition and vocabulary measures. We used the 193 pages with at least 50 words and 5-fold cross-validation, always keeping a real page and its generated version on the same side. The score is AUC: 0.5 means indistinguishable, 1.0 means perfectly distinguishable. Generation used seeds not used in the search (201–203).

Compared withAllSingle glyphsGlyph pairsWord lengthWord start/endLine start/endWord junctionsRepetition, vocabulary
Manuscript shuffled within pages (control)1.000.500.500.500.500.980.990.66
Starting point (Chapter 23)1.000.721.000.650.680.450.720.78
R7-2 (Chapter 25)0.900.740.740.880.790.470.740.76
Steered (Chapter 31)0.900.740.720.900.770.510.730.67
+ word-length habit0.820.780.780.500.790.490.780.67
Chapter 32 version (+ choice of linkage etc.)0.710.650.670.570.690.470.670.65

“All” uses all features; the other columns use only that kind of feature (AUC, mean of 3 runs). The control, “manuscript shuffled within pages”, only breaks word order and is perfectly distinguished through line edges and junctions (confirming that the classifier is powerful enough).

h2Once-onlyPage characterDirectly aboveAdj.: sameAdj.: 1-glyphy→qRare-word originJ
Manuscript2.240.6791.601.281.341.213.811.32—
Ch. 32 version, search seeds2.210.6631.651.281.341.243.701.330.081
Ch. 32 version, hold-out seeds2.210.6641.681.251.321.243.661.330.106

Main measures of the Chapter 32 version (search seeds 101–106 and hold-out seeds 201–206, 6-run means). With the hold-out seeds, page character is 1.68, slightly above the target range (1.60 ± 0.08).

In conclusion, the discrimination test found two differences invisible to the measures we had chosen: a “word-length habit” and a “bias towards common word starts”. Fixing both brought the model closer to the manuscript while keeping the other measures, and also removed the long-standing y→q gap. It is natural to think that the scribe, even when building words glyph by glyph, had an approximate length in mind (or fitted glyphs into slots of fixed length).

33. Comparing with a meaningful ciphertext: the Naibbe cipher

Greshko (2025) proposed the “Naibbe cipher”, which turns Latin or Italian into Voynich-like strings using only tools available in the 15th century (playing cards and dice). The plaintext is cut into pieces of one or two letters, and each is replaced, using one of six tables chosen at random, by a form resembling manuscript words (in EVA). It is a decipherable, “meaningful” ciphertext. With the published implementation (github.com/greshko/naibbe-cipher) we encrypted about 35,000 words each of Pliny’s Natural History book 16 and Caesar’s Gallic War (Latin) and Dante’s Divine Comedy (Italian), and measured them with the same yardstick as the manuscript. The ciphertext was laid out with the same word counts and line shapes as the manuscript pages.

h2Once-onlyAdjacentAdj.: sameAdj.: 1-glyphy→qDirectly abovePage characterDistinguishability (AUC)
Manuscript2.240.681.241.341.213.811.281.60—
Chapter 32 model2.210.661.261.341.243.701.281.650.71
Naibbe: Pliny, Natural History 16 (Latin)2.170.440.860.640.910.941.001.001.00
Naibbe: Caesar, Gallic War (Latin)2.160.420.880.650.940.930.991.021.00
Naibbe: Dante, Divine Comedy (Italian)2.190.390.900.760.941.001.051.011.00

Ratios to chance (words shuffled within each page) etc., defined as in earlier chapters. Distinguishability is the AUC of the classifier of Chapter 32 (0.5 means indistinguishable). The Naibbe cipher has no mechanism for line or page structure (as its author states), so we also checked discrimination without line-start and line-end features.

Note that this is not a fair comparison. The Chapter 32 model is built from the manuscript’s own statistics (glyph continuations, section biases, etc.), whereas the Naibbe cipher uses its own tables and carries a meaningful plaintext, and its author states that line and page properties are outside its scope. Still, one thing follows: a cipher of the kind “replace each word independently” does not produce the manuscript’s most distinctive features — identical and one-glyph-different words clustering next to each other, the next word’s start depending on how the previous word ends, and nearby lines and the same page being similar. If the manuscript is a ciphertext, something beyond the substitution must have been added: a procedure of writing while looking at nearby words (copying with alterations), or of choosing the substitution to fit the previous word.

Source: Greshko, M. A. (2025). The Naibbe cipher: a substitution cipher that encrypts Latin and Italian as Voynich Manuscript-like ciphertext. Cryptologia. doi:10.1080/01611194.2025.2566408. Implementation and data: github.com/greshko/naibbe-cipher (modified MIT licence). Encryption used the default settings (52-card deck, standard respacing).

34. Can a “scribal habit” be added while keeping the meaning?

The Naibbe cipher of Chapter 33 had none of the context properties. But it has freedom: for the same one or two plaintext letters there are 6 to 36 possible substitutions, and any of them decrypts to the same plaintext. We therefore chose among these candidates with scribal habits. Whatever is chosen, the decryption is unchanged, so the meaning is kept. There are three habits:

We varied the strength of the habits for the three works by Pliny, Caesar and Dante (means over the three).

h2Once-onlyAdjacentAdj.: sameAdj.: 1-glyphy→qDirectly abovePage characterAUC
Manuscript2.240.681.241.341.213.811.281.60—
No habit (standard choice)2.090.370.870.690.950.951.000.981.00
Moderate habit1.960.410.960.761.061.851.111.061.00
Strong habit1.900.421.090.791.211.561.261.171.00

“No habit” chooses according to the card weights (almost the same as the ciphertext of Chapter 33, but values differ slightly because we choose by weight rather than drawing from a deck). Decrypting the strong-habit ciphertext with the author’s decryption program returned the original plaintext for 97.9% of tokens, and the remaining 2.1% included the correct plaintext as one of two candidates (the no-habit version has the same kind of ambiguity for 1.1%). No token decrypted wrongly.

In conclusion, even a meaning-preserving cipher can, with a habit of choosing forms similar to nearby words, produce one-glyph-different neighbours and similarity to the line above. But the manuscript’s most conspicuous feature — repetition of the same word (sequences like daiin daiin, qokedy qokedy) — does not arise in this kind of cipher unless the plaintext repeats in the same places. If the manuscript is a ciphertext, either the plaintext itself was highly repetitive, or some of the repeats are meaningless words (skipped in decryption). This differs from the simple form rejected in Chapter 5 (“specific filler words were mixed in”): here the fillers would enter as a habit of copying nearby words.

35. What the repetition of identical words really is

Chapter 34 showed that the manuscript’s “same word next to itself” is hard to produce with a meaning-preserving substitution cipher. So what does this repetition resemble? We examined the 287 places where the same word follows itself on a line (1.31× chance) and compared them with Indonesian, which has grammatical reduplication (repeating a word to mark plurality, as in orang-orang “people”), and with the Chapter 32 model (a mechanism of copying nearby words).

TextRepeat ratioPer 1,000 wordsTop 20 wordsRanks 21–200OthersLine-start pairMid-lineLine-end pairNext word also similarTriples
Manuscript1.319.30.981.803.060.441.590.773.314.5
Chapter 32 model1.4214.01.191.434.191.011.690.332.523.4
Indonesian (Bible)2.5529.51.414.547.872.462.632.250.000.0
Hebrew (Bible)0.191.10.030.390.740.130.180.30——
Latin (Bible)0.091.20.010.111.410.070.100.05——
English (Bible)0.020.40.000.040.420.060.020.03——

“Repeat ratio” is the rate of the same word following itself on a line, relative to chance (words shuffled within each page, 30 times); the frequency and position columns are likewise ratios to chance. “Next word also similar” compares how often the word right after a repeat is identical to or one glyph different from the repeated word, against non-repeat positions. “Triples” compares how often a third copy follows two, against the overall repeat rate. The Bibles were laid out with the manuscript’s page and line shapes, so their line-position values are meaningless. Texts with fewer than 50 repeats are shown as “—”. Indonesian reduplication is split at the hyphen and counted as two words.

In conclusion, the manuscript’s repetition of identical words is quite unlike grammatical reduplication and fits well the trace of a way of writing: “looking at nearby words and writing the same word, or a slightly altered one, in succession”. Together with Chapter 34, this makes it likely that the repetition does not carry the meaning of a plaintext but arises as a writing habit (or as meaningless words). The Chapter 32 model differs at line starts (line-start pair 1.01×, i.e. at chance; line-end pair 0.33×). The scribe seems to have avoided repeating a word right at the start of a line — the next improvement for the model.

36. An autonomous search aimed at the discrimination test (second night)

The Chapter 32 model could still be told apart by the classifier (AUC 0.71). So we ran the autonomous improvement loop for another night under the same rules as Chapter 24. The goal was to bring the classifier’s distinguishability (AUC) towards 0.5, with a penalty added whenever a key measure tuned so far (h2, once-only words, page character, directly above, y→q, identical and one-glyph neighbours, rare-word origin) left its target range.

From 17:09 until 6:30 the next morning, 107 candidates were evaluated and 12 adopted. The full history is in disc_history.csv, the search log in disc_search.log, and the final settings in final_params_ch36.json.

ChangeEarlier classifierStrong classifiers (mean)Gradient boosting alone
Start (Chapter 32 version)0.75——
Shape habit (length, first and last glyph)0.62——
Shape habit with glyph pairs0.56——
Fine tuning (best of first half)0.500.810.87
Habit for frequent words0.490.650.79
Fine tuning (final)0.480.640.80

The main adopted changes and the distinguishability at that point (search seeds). “Earlier classifier” is the one from Chapter 32 (logistic regression on about 300 features). “Strong classifiers” use about 800 features (adding glyph triples and the frequencies of the 200 most common words) and average two methods, logistic regression and gradient boosting (stacked decision trees). The judge was switched to these partway through.

First half: word-shape habits make the earlier classifier fail

The cues the classifier relied on showed mismatches in word starts and ends, such as too many words starting with q and ending in o. We therefore added weights that favour shapes matching the manuscript’s distributions of word length, first glyph, last glyph and glyph pairs (a shape habit). New words are built as several candidates and chosen by this weight, and the weight is also applied when choosing a word to copy. With this, the earlier classifier’s AUC fell from 0.75 to 0.50: no better than chance.

A pitfall: a different classifier could still tell them apart

We then checked with stronger classifiers. Their AUC was 0.81 (gradient boosting 0.87), still clearly distinguishable. The model had only been fitted to what one particular classifier looks at; it could not be said to have come closer to the manuscript. So partway through the search the judge was switched to the strong classifiers.

Second half: a habit for frequent words

The strong classifiers’ cues showed mismatched frequencies of common words (the one-glyph words s and r too rare, o, dain and ain too common, etc.). Adding a weight matching the frequencies of the manuscript’s 300 most common words lowered the strong classifiers’ mean AUC from 0.81 to 0.65. Logistic regression can no longer tell them apart, but gradient boosting still can (0.79).

Check with seeds not used in the search

Earlier classifierStrong: regressionStrong: boostingh2Once-onlyPage characterDirectly abovey→qAdj.: sameAdj.: 1-glyphRare-word origin
Target (manuscript)0.50.50.52.240.681.601.283.811.341.211.32
Chapter 32 version0.760.850.902.210.6621.671.253.711.321.241.36
Chapter 36 version0.500.500.802.240.6641.631.254.061.301.271.34

Six-run means for the Chapter 32 and 36 versions with seeds 201–206 (and orderings different from the search).

What gradient boosting sees. Feature importances show that the share of one-glyph words matters most. Its overall mean is almost the same as the manuscript’s, but its spread across pages differs: in the manuscript one-glyph words appear moderately on every page, while in the model pages split into those with none and those with many (standard deviation of the per-page share: manuscript 0.026, model 0.045). The share of adjacent one-glyph pairs and the variety of words within a page show the same tendency. Because the model copies nearby words, the same forms tend to clump within a page, whereas the manuscript’s words are spread more evenly over the page.

Caution. The shape habit and the frequent-word weights added in this chapter are built from the manuscript’s own distributions. This amounts to giving the model the scribe’s preferences for words and shapes, and part of the reduced distinguishability is the effect of that fitting. It moves somewhat away from the Chapter 24 goal of “simple rules that could be carried out by hand”.

In conclusion, on statistics taken one at a time, such as glyph sequences and word frequencies, the model and the manuscript can no longer be told apart. The remaining difference lies in combined statistics of how words are spread over a page, showing that the model’s central mechanism, copying nearby words, clumps words more than the manuscript does. A natural next step is a different way of writing that keeps adjacent similarity while copying less (for example, choosing a set of candidate words before starting a page).

37. Two Claudes compared: one night from the same starting point

We handed the continuation of Chapter 36 to two Claudes at the same time, under the same conditions: Opus 5.5, which has been writing this research note, and Sonnet 5.5 (reasoning effort set to "medium").

In the morning we graded both with a final exam that neither had seen. It uses seeds 401–406, which were never used in the search, and five classifiers. Two of them, marked *, were never used in the search: a random forest, and gradient boosting with added features for how words are spread within a page. The exam was written before the search began and was not changed afterwards. Note, however, that the Opus side wrote it.

What happened

In the afternoon both work environments were restarted midway, and the search processes stopped.

Because the search times differ, we also put Opus's best as of 17:26 through the same exam, to compare equal amounts of time.

Search time, candidatesGradient boostingRandom forest*With dispersion features*Strong: regressionChapter 32 classifier
Start (Chapter 36 version)—0.800.780.800.520.51
Sonnet 5.5 (stopped at 17:26)about 8 h, 190.650.610.660.420.51
Opus 5.5 (best as of 17:26)about 8 h, 330.700.680.700.450.49
Opus 5.5 (final at 6:30)about 21 h, 970.590.500.610.390.46

Mean AUC over six runs in the final exam (seeds 401–406); 0.5 means the classifier cannot tell them apart. * marks classifiers never used in the search. Candidates are settings evaluated, not counting re-checks.

h2Once-onlyPage characterDirectly abovey→qAdj.: sameAdj.: 1-glyphRare-word origin
Target (manuscript)2.240.681.601.283.811.341.211.32
Start (Chapter 36 version)2.240.6631.591.284.101.301.271.30
Sonnet 5.5 (stopped at 17:26)2.240.6571.601.253.951.241.231.25
Opus 5.5 (best as of 17:26)2.250.6581.611.284.011.341.251.47
Opus 5.5 (final at 6:30)2.240.6541.581.263.981.221.221.37

Key statistics in the same exam. Bold marks values outside the target range.

The key statistics stayed mostly within range. In both searches, however, the share of once-only words fell slightly from the starting point (0.663) to just outside the range. Identical neighbours also fell just below the range for Sonnet (1.24) and for the final Opus model (1.22). At 17:26, Opus's rare-word origin (1.47) was slightly outside.

What both searches found independently

Where they differed

Caveats

In conclusion, at equal time Sonnet had built the better model. The final difference came down to whether, when the long run stopped midway, each noticed and restarted it by itself. Gradient boosting is still at 0.59, short of 0.5. The two searches reached the same wall — combinations of features — by different mechanisms, so the next step is worth trying both mechanisms together.

38. The second comparison, and a "leak" in the evaluation

After Chapter 37 we gave the same two Claudes (Opus 5.5 and Sonnet 5.5) another night under identical conditions. There were three changes from Chapter 37:

This time neither run stopped, and both sent hourly reports until morning. Sonnet stopped its own search a little before the deadline, re-measured its top candidates on other seeds, and re-chose its final setting. The final exam was the same as in Chapter 37: seeds 401–406 and five classifiers, where * marks those never used in the search.

Search time, candidatesGradient boostingRandom forest*With dispersion features*Strong: regressionChapter 32 classifier
Start (final Opus model of Chapter 37)—0.590.500.610.390.46
Sonnet 5.5 (final, second round)about 17 h, 510.560.480.550.440.53
Opus 5.5 (final, second round)about 19 h, 800.580.560.590.510.55
Opus 5.5, leak-free version(same settings, profiles drawn at random)0.610.590.610.470.53

Mean AUC over six runs in the final exam; 0.5 means the classifier cannot tell them apart. Candidates are settings evaluated.

On this table alone Sonnet improved most, with gradient boosting at 0.56 and the random forest at 0.48. Opus's gradient boosting (0.58) is about the same as the start (0.59), and its random forest got worse (0.50 → 0.56). However, these numbers include a leak in the evaluation.

The leak

Both searches adopted the mechanism Sonnet built in Chapter 37, borrowing another page's profile: each model page borrows a little of the glyph, first-glyph, last-glyph and length proportions of another manuscript page in the same section.

Gradient boosting: normalLeak removedChangeRegression: normalLeak removed
Start (Chapter 37 Opus final, no borrowing)0.5960.606+0.0100.3900.417
Sonnet, second round (borrows)0.5610.609+0.0480.4410.477
Opus, second round (borrows)0.6100.642+0.0320.5090.536
Opus, leak-free version0.5960.595-0.0020.4800.491
For reference: Chapter 37 Sonnet final (borrows)0.6520.668+0.0160.4240.455

Strong-classifier AUC on the final-exam seeds (401–406), normal evaluation versus evaluation with the leaking pages removed from training; means over six runs. Opus's code still has an unseeded random generator in generation, so these are different generations from the first table and can differ by about 0.02.

So with the leak removed, neither search lowered gradient boosting below the start (about 0.60), and Opus's final model is actually worse. Chapter 37's Sonnet final also contained the mechanism, but its leak was small (0.65 → 0.67), so the conclusion of Chapter 37 stands.

The regression falling below 0.5 also happens for the starting point, which borrows nothing (0.39). This is a separate bias that cross-validation tends to show when two groups are nearly indistinguishable. Sonnet also confirmed this property independently.

h2Once-onlyPage characterDirectly abovey→qAdj.: sameAdj.: 1-glyphRare-word origin
Target (manuscript)2.240.681.601.283.811.341.211.32
Start (final Opus model of Chapter 37)2.240.6541.581.263.981.221.221.37
Sonnet 5.5 (final, second round)2.260.6521.581.263.641.331.151.29
Opus 5.5 (final, second round)2.270.6511.611.293.921.281.191.38
Opus 5.5, leak-free version2.270.6521.621.333.901.291.201.32

Key statistics in the same exam. Bold marks values outside the target range.

What each found

Summary

In the second round both runs searched until morning without stopping, and the progress-report mechanism did its job. But most of the drop in distinguishability came from the leak that profile borrowing brought into the evaluation. With the leak removed, gradient boosting has not moved from the Chapter 37 final (about 0.60).

From now on, any mechanism that uses statistics of manuscript pages has to be evaluated with training and test split in a way that accounts for which pages it drew on. The remaining difference is that model pages have too few distinct words, a point the two searches reached from different directions.

39. A rebuilt yardstick and a third night: five machines

Looking again at the evaluation leak found in Chapter 38, it turned out not to come only from profile borrowing. For a long time the model has built new words from the statistics of nearby pages. So in the old evaluation, which splits training and test by page, the statistics of a manuscript page sent to the test set reached the training side through the neighbouring fake pages.

With this yardstick we ran a third night on five machines.

The work environment was restarted twice during the night, but every machine noticed at its hourly check and restarted by itself. One Haiku noticed that its measurement died together with its waiting command, and found the fix of starting the measurement detached; we passed this fix on to the other two.

Final exam (second edition)

The final exam was rebuilt with the same split as the new evaluation (seeds 401–406, five classifiers; * marks classifiers never used in the search). The classifiers and features are the same as in the Chapter 37–38 exams; only the way training and test are split differs.

Gradient boostingRandom forest*With dispersion features*Strong: regressionChapter 32 classifier
Start (Chapter 37 final)0.700.650.700.560.61
Top of the Haiku grid (strength 0.8, keep 0.28)0.650.640.650.530.57
Sonnet 5.5 final0.670.650.660.490.54
Opus 5.5 final0.630.620.630.540.56

Mean AUC over six runs in the final exam (second edition, leak-free split). 0.5 means the classifier cannot tell them apart.

Checking on seeds not used for selection

Choosing the best of many candidates makes it look better by whatever luck it had (the winner's curse). Before the deadline, both explorers re-measured the start and their final on seeds not used in the search (113–118).

O: search seedsO: check seedsO: unused seedsGradient boosting (same)Regression (same)Penalty (same)
Start0.657—0.6620.6800.5510.047
Sonnet final0.6270.6350.6460.6750.5060.056
Opus final0.6030.5830.5960.6450.5300.008

Values as given in each explorer's report. O is the objective (0.5 + mean distance of the two strong classifiers from 0.5 + penalty); lower is better.

The Haiku grid: what exhaustive measurement showed

SettingSet 1 (101–106)Set 2 (107–112)Set 3 (113–118)Mean
sp0.7_lk0.220.6540.6280.6610.648
sp0.8_lk0.280.6510.6470.6650.654
sp0.7_lk0.280.6520.6600.6510.654
sp0.8_lk0.340.6470.6680.6720.662
sp1.0_lk0.15 (start)——0.6620.662
sp0.8_lk0.4_lm1.0——0.6650.665
sp0.7_lk0.340.6450.6870.6720.668
sp0.8_lk0.220.6850.6670.6640.672
sp0.9_lk0.220.6620.6830.6700.672
sp0.9_lk0.280.6790.7010.6370.672
sp0.8_lk0.28_lm0.5——0.6730.673
sp0.9_lk0.340.6790.6690.6730.674

Haiku phase two: O (lower is better) for combinations of selection strength (sp) and keep share (lk), on three seed sets.

Exhaustive measurement confirmed that recombining existing settings does not give a reliable improvement over the start. In the explorers' runs too, the reliable gains came from new mechanisms.

What worked: Opus's diagnosis

Sonnet reached the same problem from another direction: in the manuscript, adjacent pages' glyph proportions are about twice as correlated as in fake pages, and the fewer words a page has, the easier it is to distinguish (AUC 0.78 below 80 words, 0.64 above 200). But the four new mechanisms it built to fix this did not move gradient boosting.

h2Once-onlyPage characterDirectly abovey→qAdj.: sameAdj.: 1-glyphRare-word origin
Target (manuscript)2.240.681.601.283.811.341.211.32
Start (Chapter 37 final)2.240.6541.611.273.961.261.221.45
Top of the Haiku grid (strength 0.8, keep 0.28)2.240.6521.561.263.901.331.201.37
Sonnet 5.5 final2.240.6621.651.293.921.371.221.34
Opus 5.5 final2.230.6741.601.263.871.291.191.40

Key statistics in the same exam. Bold marks values outside the target range.

Caveats

In short, rebuilding the yardstick showed that the model is easier to distinguish than we had thought. On that yardstick, adding coherent page-to-page variation and a writer-like way of repeating words clearly lowered distinguishability. What remains lies in the finer details of the direction of page variation.

40. Checking the yardstick: splits and the amount of training

Chapter 39 listed, among its caveats, that the new yardstick might still be too lenient. Before the next overnight search we checked this. We looked at two things.

The material is the fake pages made by the start (the Chapter 37 final) and by the Opus final (Chapter 39). They were generated with the same seeds as the final exam (401–406), and we averaged over the six runs. These seeds were used only to compare yardsticks, never to choose a model or setting. Features and classifiers are those of the final exam (gradient boosting, random forest and regression on the strong features).

Changing the split

At first we simply widened the buffer and measured again. The values fell, but only because fewer pages were left for training. With a 15-page buffer on the fake side, for example, only about 25 fake pages per fold remain for training, against 154 manuscript pages. In that setting we cannot tell whether a lower value means a leak was removed or the classifier simply learned too little.

So for every split we drew the same number of manuscript and fake pages at random for training (100 each, and 55 each; three draws, averaged).

SplitStart
GB
Start
RF
Opus final
GB
Opus final
RF
Training: 100 + 100 pages
Blocks 8, no buffer0.6500.6430.6020.607
Blocks 8, buffer 5 fakes only (current)0.6460.6510.6110.611
Blocks 8, buffer 5 both0.6620.6830.6120.637
5 parts, buffer 10 both0.6430.6560.6090.620
5 parts, buffer 20 both0.6450.6460.5940.616
Training: 55 + 55 pages
Blocks 8, no buffer0.5830.5840.5400.548
Blocks 8, buffer 5 fakes only (current)0.5860.5990.5520.574
Blocks 8, buffer 5 both0.5890.6080.5570.576
Blocks 8, buffer 10 both0.5900.6160.5600.580
Blocks 16, buffer 5 both0.5830.5780.5460.549
Blocks 16, buffer 15 both0.5900.5940.5630.564
5 parts, buffer 10 both0.5790.5910.5610.571
5 parts, buffer 30 both0.5650.5740.5440.556

Distinguishability (AUC) for each split, mean over seeds 401–406. GB is gradient boosting, RF is random forest. "On both" also removes manuscript pages near the test pages from training. "5 contiguous parts" cuts the manuscript into five consecutive parts. Compare rows within the same training size (values are lower overall in the 55-page rows).

Changing the amount of training

Comparing the two halves of the table, going from 55 to 100 training pages of each kind raises the values by 0.04–0.07 under the same split. The amount of training mattered far more than the split.

Manuscript pages cannot be increased (193 pages have 50 words or more, and about 154 per fold are available for training). Fake pages, however, can be generated in any number by changing the seed. So, keeping the current yardstick (blocks of eight, buffer of five on the fake side), we changed the amount of training in two directions.

0.50 0.55 0.60 0.65 0.70 0.75 0.80 0 200 400 600 800 current exam Fake pages used for training (per fold) Distinguishability (AUC) Start GB Start RF Opus GB Opus RF

Number of fake pages used for training (per fold) against distinguishability (AUC). The vertical line marks the amount in the current final exam (about 111 pages). The dotted line at 0.5 means "indistinguishable". Further right, more fake pages from other seeds have been added. GB is gradient boosting, RF is random forest.

Fake pagesStart GBStart RFOpus GBOpus RFOpus regr.
390.5810.5940.5480.5670.526
550.6080.6140.5710.5880.537
770.6410.6390.5980.6080.531
940.6690.6620.6150.6240.539
111 (current exam)0.6900.6830.6430.6470.540
221 (2×)0.7090.7000.6670.6690.544
332 (3×)0.7350.7130.6920.6830.542
442 (4×)0.7260.7220.7080.6980.550
664 (6×)0.7420.7320.7210.7000.564
885 (8×)0.7460.7400.7270.7110.552

The same values as the figure (mean of six runs). The left column is the number of fake training pages per fold. The regression barely moves at any amount.

What this means

Caveats

In short, no large leak remains in the Chapter 39 yardstick. But the classifiers were shown too few fake pages, which made the models look harder to distinguish than they are. With eight times the fake pages, even the Opus final is distinguished at 0.73, and the difference from the manuscript is still clear.

41. Seven critical editions provided by a specialist

Chapter 29 measured a 15th-century Venetian recipe book and a herbal printed in 1522. We wanted more handwritten medical texts from 15th-century northern Italy, but the Italian corpus of medieval medical texts (ReMediA, OVI) was unreachable because of a server problem. We therefore wrote to Prof. Ilaria Zamuner (University of Chieti-Pescara), who co-directs ReMediA. She kindly provided seven critical editions prepared by herself and her colleagues, and agreed that we may publish the values and cite the editions. The texts and PDFs themselves are not published.

TextWordsAdjacentzSame1-glyphh2
Voynichearly 15th c. (vellum)34,8591.24+11.31.341.212.24
Two recipe books, New Haven, Cushing/Whitney ms. 52late 13th c., Florence · recipes7,6300.87-1.90.880.873.06
Recipe book, Ravenna, Classense ms. 215, sections A and C15th c., Catalan (with Latin) · recipes16,3340.65-4.50.451.033.30
Same, section B15th c., Tuscan (with Catalan) · recipes4,2860.30-5.00.120.573.17
Bruno, Chirurgia magna, Bergamo MA 501mid-15th c., eastern Lombard · surgery69,8460.41
0.38–0.44
-11.50.151.243.04
Almansore (Rhazes, translated)14th c., Florence · medicine232,8750.52
0.38–0.68
-9.30.330.823.11
Roger Frugardi, Chirurgia, BNCF Conv. Soppr. B.3.1536late 14th c., western Tuscan · surgery25,7290.64-7.10.411.043.13
Same work, Riccardiana 2163Tuscan · surgery29,2470.78-4.90.521.083.11
Ref.: Venetian recipe book (Ch. 29)15th c., Venetian · recipes7,2530.51-4.10.181.123.10

Ratios to chance ("adjacent" = share of words with a word differing by at most one glyph 1–2 positions earlier, split into "same" and "1-glyph"). z is the deviation from chance (within-page shuffle). For long texts, the small numbers under "adjacent" give the minimum and maximum across sections.

Caveats

In short, adding seven northern Italian and Tuscan recipe books, surgeries and medical treatises still yields no medieval text in which both identical and one-glyph-different words cluster next to each other. Identical repeats, in particular, are clearly avoided in all of them. This property of the Voynich cannot be explained by its genre (recipe or medical text) or by northern Italian origin.

Sources: I. Zamuner – E. Ruzza, I ricettari del codice 52 della Historical Medical Library di New Haven (XIII sec. u.q.), Firenze, Olschki, 2017 / C. Lemme, Il ricettario del ms. 215 della Biblioteca Classense di Ravenna (ff. 93r-156v), Alessandria, Edizioni dell'Orso, 2022 / E. Ventura, La «Chirurgia Magna» di Bruno da Longobucco in volgare, Berlin/Boston, De Gruyter, 2020 / R. Piro, L'Almansore. Volgarizzamento fiorentino del XIV secolo, Firenze, SISMEL, 2011 / E. Artale – M. Panichella, “Un volgarizzamento toscano della Chirurgia di Ruggero Frugardo”, Bollettino dell'Opera del Vocabolario Italiano XV (2010), 227–98 / I. Zamuner, “Il volgarizzamento toscano della Chirurgia di Ruggero Frugardo nel codice 2163 della Biblioteca Riccardiana”, BOVI XVII (2012), 245–332. We thank Prof. Ilaria Zamuner for providing the editions and agreeing to the publication of the results.

42. A fourth night: searching with the pooled yardstick

Chapter 40 showed that classifiers shown too few fake pages make the model look harder to distinguish than it is. For the fourth overnight run we therefore switched the yardstick to the “pooled classifier”. It is trained on all fake pages from the six evaluation runs together, about six times as many fake pages as manuscript pages.

Final exam (version 3)

ClassifierStartFinalDiff.
Pooled: gradient boosting0.6820.687+0.005
Pooled: random forest*0.6850.681-0.003
Pooled: regression0.5640.541-0.023
1×: gradient boosting0.6290.628+0.000
1×: random forest*0.6230.616-0.007
1×: with dispersion features*0.6290.628-0.001
1×: regression0.5390.529-0.010
Chapter 32 classifier0.5650.548-0.017

Distinguishability (AUC) in the final exam, mean of six seeds. 0.5 means indistinguishable. * = classifiers never used in any search. Bold: values that moved by 0.02 or more. Pooled values vary by about 0.01–0.02 per seed.

Search
start
Search
final
Unused
start
Unused
final
O (lower is better)0.64000.61500.63970.6243
Pooled: regression0.5360.5170.5620.526
Pooled: gradient boosting0.7030.6890.7020.706
Penalty0.0200.0120.0080.008

From the explorer's report. “Search” = search seeds (101–106); “Unused” = seeds never used for selection (113–118). Values on the search seeds (101–106) are optimistic because the final was chosen among many candidates (winner's curse). The unbiased comparison is the “unused seeds” (113–118) columns.

What was learned

Caveats

In short, the fourth search could not lower the tree classifiers by tuning settings. Instead, it became clear why they do not move: model pages resemble their neighbours too closely and lack page-specific novelty, and strong classifiers see this difference spread across many features. What is needed next is not more tuning but a mechanism that gives each page manuscript-like novelty, and a way of comparing candidates that is not swamped by seed noise.

Worth trying next

Methods and limitations