
已確定 Beinecke MS 408 是一部真正的15世紀早期抄本:犢皮紙經放射性碳測年為1404–1438年,鐵膽墨水,時代相符的顏料,五位抄寫者的筆跡,來源可追溯到約1600年的布拉格(第09節)。排除了現代偽造。
已排除 它不是十一種歐洲語言中任何一種在普通分詞下的明文、一對一替換、字母換位、子音音素文字形式或填充虛碼的形式(第03、04和05節)。條件字元熵在原始 EVA 中至少比自然語言下限低1.0位元,在三種獨立的字形切分下至少低0.4位元。
仍成立 一種冗長或槽位模板編碼,即一個明文單位變成一個固定的兩字形或三字形組;與之相對的是透過複製加修改生成、保留槽位結構的無意義文字(第06和08節)。每一項把伏尼契文與語言區分開的統計量,兩類中都各有成員能復現。判斷*:大致對半,約45:50,其餘歸於一種未加密的冷僻語言。
01 問題與方法
這不是一次解讀。問題在於這份文字是無意義的、加密的,還是一種語言,以及在一輪工作中,公開資料能把這個問題推進多遠。五次文獻梳理,每個假說或證據類別一次,產出了 SOURCES.md。六項計算檢驗, a1 to a6,在 ZL 轉寫本上執行,對照自然語言語料庫和實現出來的騙局生成器。另一個智慧體以對抗方式重跑了每項檢驗(v_a1 to v_a6),並修正了其中幾項;引用的是修正後的數字。在智慧體執行之前寫好的兩個基線指令碼復現了 a1 和 a2 的主要結論:原始 EVA 去掉空格時 h2 為2.32位元,齊普夫斜率−1.04,相鄰重複0.81%。
(S) 表示本輪由某個具名指令碼計算出的數字;(L) 表示引自文獻的數字,附來源和年份。判斷帶星號。
資料 (S)。ZL3b-n,即 Zandbergen–Landini 的 EVA 轉寫(voynich.nu,2025年5月13日),只取段落文字:去掉含未讀字形或擴充套件 EVA 字形的詞後共34,116個詞次,其中 Currier A 約10,750個,B 約22,900個,詞型7,236個。用 RF1b-er、IT2a、GC2a(v101)和 CD2a(Currier)做了交叉核對。2,463個不確定的空格當作斷點處理;把它們連起來也不會帶來實質改變(v_a2)。語言對照是單本 Gutenberg 書籍和一個經 OCR 的16世紀義大利文語料庫。熵用插入估計;Miller–Madow 校正對 h2 的改變最多0.007。
02 先擺出最有力的反駁
每一項字元統計都以轉寫本為前提,並假定 EVA 空格標記的是明文單位。在每個 e、s 和 m 之後重新切分的拉丁文,會朝伏尼契文的槽位固定性移動60%的距離,而切成以母音結尾的音節的拉丁文,在等長條件下比伏尼契文還要固定(S:v_a3)。因此,排除的範圍是十一種現代拼寫語言中保留詞邊界的編碼。基於規則的重新切分,或一種以音節方式書寫、具有固定子音-母音音節的語言,沒有檢驗。
第二,在 h1、h2 及其比值上同時與原始 EVA 吻合的那個冗長對照,產生的詞長是應有的2.3倍,11.52個符號對5.07個,而其詞熵仍是拉丁文的(S:v_a1)。這駁倒了以整個拉丁詞為單位的字母層冗長密碼。這兩點都縮小了結論的範圍,但都沒有推翻它。
03 字元層面
最可靠的結果是條件字元熵 h2,即已知前一個字形時某個字形的不確定度。Bennett(1976年)測得伏尼契文為2.22位元,而歐洲語言為3.01到3.37(L);Lindemann 和 Bowern(2021年)發現它低於一個 Wikipedia 語料庫中全部250種語言(L)。這一差距在合併字形以及採用 Currier 和 v101 字母表後依然存在。所有行均為 (S),不含空格,a1、v_a1 和 v_a5。
| 文字 | h1 | h2 | h1−h2 | h2/h1 | 平均詞長 |
|---|---|---|---|---|---|
| ZL 原始 EVA,Currier A | 3.832 | 2.353 | 1.479 | 0.614 | 4.98 |
| ZL 原始 EVA,Currier B | 3.859 | 2.182 | 1.677 | 0.565 | 5.12 |
| ZL 原始 EVA,全部 | 3.865 | 2.311 | 1.554 | 0.598 | 5.07 |
| ZL 合併(benches、i/e 組、aiin、qo) | 4.039 | 2.870 | 1.170 | 0.710 | 3.7–3.9 |
| GC v101(68個符號) | 4.144 | 2.893 | 1.25 | 0.698 | 3.7–4.0 |
| Currier CD2a(35個符號) | 3.857 | 2.660 | 1.197 | 0.690 | |
| 拉丁文,《埃涅阿斯紀》 | 4.025 | 3.510 | 0.515 | 0.872 | 5.77 |
| 德文(摺疊變音符號後為3.335) | 4.160 | 3.391 | 0.769 | 0.815 | 4.88 |
| 11種語言的範圍(摺疊後下限3.32) | 3.94–4.52 | 3.32–3.88 | 0.49–0.77 | 0.82–0.88 | 4.2–6.6 |
| 拉丁文,去掉母音 | 3.659 | 3.515 | 0.144 | 0.961 | 3.11 |
| 拉丁文的冗長密碼,每個字母2–3個符號,共24個符號 | 3.901 | 2.325 | 1.576 | 0.596 | 11.52 |
| 冗長密碼,8個字母保持單符號 | 4.102 | 2.916 | 1.186 | 0.711 | 7.64 |
原始 EVA 給出2.18到2.35位元;ZL 合併、v101 和 Currier 給出2.66到2.89;十一種語言摺疊變音符號後的下限是3.32。拉丁文的任何換位都至少給出3.44。去掉母音後拉丁文為3.52,h2/h1 為0.961,方向與子音音素文字恰好相反。
冗餘在哪裡。在詞內部。詞內 h2 原始值為1.92到2.13位元,而語言為2.94到3.41。字形與詞內位置之間的互資訊在 ZL、Currier 和 v101 中為0.69到0.73位元,而語言為0.17到0.27;21%到31%的字形被鎖定在一個詞內位置,而字母只有0%到8%(S:a5、v_a5)。
字形對合並。貪心地合併高頻字形對,大約要合併40次之後才能彌合 h1−h2 的差距,所以一種由50到60種單位中抽取的兩到三字形單位構成的編碼與字元統計相容,而普通的字母密碼則不相容(S:a5)。貪心合併只檢驗了一種啟發式方法,而非整個冗長密碼類別(S:v_a5)。
資訊預算。詞流承載425,468位元,每個詞次12.47位元,在同一模型下是等長拉丁散文的0.82倍(S:a5、v_a5)。
04 詞層面
在詞層面,伏尼契文看起來像一種語言,正如 Landini(2001年)和 Reddy 與 Knight(2011年)所報告的(L)。表 (S),a2 和 v_a2,34,116個詞次。
| 語料 | 齊普夫斜率,第1–1000位 | 單現詞佔詞型的% | Heaps beta | 最高頻詞佔比 |
|---|---|---|---|---|
| 伏尼契全部 | −1.040 | 69.7 | 0.710 | 2.25% |
| 伏尼契 A / B | −0.994 / −1.068 | 72.2 / 68.6 | 0.743 / 0.679 | 4.27% / 2.13% |
| 拉丁文(《埃涅阿斯紀》) | −0.820 | 67.0 | 0.749 | 4.9% |
| 德語 | −1.045 | 65.1 | 0.779 | 3.46% |
| 中文釋義 | −1.056 | 55.1 | 0.675 | 4.68% |
詞型熵為9.8到10.3位元,而拉丁散文為10.3到10.8,義大利文、法文和德文為9.4到9.8(S:v_a1)。合併計算時最高頻詞佔比偏低,是 A+B 混合造成的(S:v_a2);與單本書樣本相比,單現詞比率高於所有語言(S:v_a5)。這些都沒有區分力:齊普夫分佈和單現詞都能被人寫的胡言亂語(Gaskell 與 Bowern 2022)、生成器(Rugg 與 Taylor 2016;Timm 與 Schinner 2020)以及一種從拉丁文出發的手工密碼(Greshko 2025)復現(L)。
詞長
合併 EVA 的詞長(S:a2、v_a2):
| 語料 | 均值 | 方差 | (長度−1) 的方差/均值 |
|---|---|---|---|
| 伏尼契全部(原始 EVA 5.07 / 3.73 / 0.92) | 4.11 | 2.48 | 0.80 |
| 伏尼契 A | 3.93 | 2.89 | 0.99 |
| 伏尼契 B | 4.20 | 2.27 | 0.71 |
| 僅《埃涅阿斯紀》/ 僅《懺悔錄》 | 4.97 / | 1.04 / 1.74 | |
| 義大利文 / 德文 / 英文 / 丹麥文 | 4.53 / 4.99 / 4.23 / 4.67 | 6.52 / 7.04 / 5.41 / 7.40 | 1.85 / 1.77 / 1.67 / 2.02 |
著名的欠離散現象,即“二項式詞長”,是 Currier B 的特性。B 的方差均值比為0.71,A 為0.99,單一文字的拉丁詩歌為1.04,所以 Currier A 與拉丁詩歌相符,而 a2 中二項式擬合的對比是搜尋上限造成的假象。B 和合並文字則遠離現代散文的1.67到2.02。
05 詞的語法與重複
Tiltman(1951年)、Stolfi(2000年)和 Zattera(2022年)描述了伏尼契文詞內部一種嚴格的位置語法(L)。這裡的測量方法是:在長度匹配的條件下,計算順序違反單一最佳字形排序的字形對所佔比例;打亂零假設為0.49。所有行均為 (S):a3、a2、v_a2。
| 統計量 | 伏尼契 | 拉丁語 | 義大利文 | 德語 | 中文釋義 |
|---|---|---|---|---|---|
| 相對最佳字形順序的字形對順序違反率,長度匹配(打亂零假設0.49) | 0.160 (v101 0.140) | 0.363 | 0.318 | 0.278 | 0.308 |
| 相鄰相同詞次,%及觀測值:打亂值 | 0.907 / 2.5 | 0.047 / 0.1 | 0.047 / 0.1 | 0.157 / 0.3 | 0.137 / 0.2 |
| 行首首字形效應,Cramér’s V,不含段落首行 | 0.277 | 人為分行的散文0.02–0.03;六步格詩0.148 | |||
伏尼契文比任何被檢驗的語言都固定1.7到2.3倍。在沒有任何假設的情況下從資料推匯出的字形順序——q,然後 p f sh,然後 ch,然後 o t k,然後 e ee,然後 d s a,然後 l r y,然後 g n iin m——就是盲目復原出來的 Stolfi 和 Zandbergen 佈局(S:a3)。
行內位置是有影響的,正如 Currier(1976年)所說(L)。行首效應超過六步格詩,比人為分行的散文高出一個數量級;a2 報告的行尾效應,在去掉詞尾的 m 和 g 異體字形後降到 V 0.07到0.16(S:v_a2)。
06 自我引用與生成器比拼
Timm(2014、2016年)認為,相似的詞在頁面上成簇出現,這是複製前面某個詞再加以修改的指紋;Timm 與 Schinner(2020年)發表了實現這一過程的演算法(L)。檢驗方法是:對每個詞次,在同一頁上找到編輯距離為1以內的最近的前一個詞次,所有語料都灌入完全相同的頁與行骨架。兩個 Rugg 式生成器和一個重新實現的自動抄寫器用同一程式碼執行。所有行均為 (S),a4 和 v_a4。
| 語料 | 中位距離 | 10個詞次以內 | 頁內打亂 | 全域性打亂 | 長詞次(5+)在10個以內 |
|---|---|---|---|---|---|
| 伏尼契 ZL | 14 | 0.269 | 0.238 | 0.167 | 0.225 |
| 拉丁文(《埃涅阿斯紀》) | 41 | 0.035 | 0.034 | 0.030 | 0.006 |
| 英文(義大利文、德文類似) | 17 | 0.176 | 0.177 | 0.164 | 0.019 |
| 丹麥文(詩歌) | 15 | 0.196 | 0.172 | 0.138 | 0.035 |
| 自動抄寫器(Timm–Schinner 的重新實現) | 13 | 0.329 | 0.275 | 0.079 | 0.257 |
| Rugg 漏格板 | 36 | 0.067 | 0.249 | 0.066 | 0.033 |
| Rugg 排序表 | 34 | 0.329 | 0.162 | 0.112 | 0.341 |
| 在伏尼契文上訓練的三階字元馬爾可夫模型 | 19 | 0.194 | 0.194 | 0.194 | 0.119 |
順序超額,即真實值減去頁內打亂值,衡量的是複製順序:伏尼契 +0.031,丹麥詩歌 +0.024,自動抄寫器 +0.054,散文約為零。頁面詞彙超額,即真實值減去全域性打亂值:伏尼契 +0.102,各語言最多 +0.058,自動抄寫器 +0.250。對於五個或更多字形的詞次,各語言基線降到0.035或以下,而伏尼契文保持在0.225,但一個什麼都不復制的三階字元馬爾可夫模型也能達到0.119:長詞次密度約有一半來自詞內結構,而非複製(S:v_a4)。
比拼
| 文字 | 詞型 | h2 原始 | h2 合併 | 齊普夫斜率 | 單現詞 % | 相鄰重複 | 字形對違反率 |
|---|---|---|---|---|---|---|---|
| 伏尼契 ZL | 7,236 | 2.311 | 2.646 | −1.040 | 69.7 | 0.0082 | 0.160 |
| 自動抄寫器,兩個種子 | 11,660 / 11,330 | 2.709 / 2.723 | 3.274 / 3.005 | −0.825 / −0.859 | 72.2 / 71.1 | 0.0013 / 0.0018 | 自由編輯 0.41–0.46 |
| Rugg 漏格板 / 排序表 | 3,747 / 1,757 | 2.798 / 2.629 | 3.176 / 2.912 | −0.429 / −0.622 | 5.7 / 13.9 | 0.0003 / 0.0893 | 擬合表 0.122 |
沒有一個生成器能在每一欄上都吻合。自動抄寫器按詞次計只產生37%的真實伏尼契詞型,以 qo 開頭的詞只有2%(實際為15%),h2 高出0.4到0.6位元;它過度產生了區域性性和頁面詞彙,而手稿自身的順序超額只有丹麥詩歌那麼大。它是一個有文件記錄的偏差的重新實現,不是 Timm 的參考程式。漏格板在齊普夫和單現詞上直接失敗。唯一能復現槽位固定性的那張表,其各欄是從伏尼契文中讀出來的:只能證明充分性(S:v_a3)。
07 Currier A 與 B
Currier(1976年)在手稿中發現了兩種統計意義上的語言(L)。區分它們的是(S:a6、v_a6):
| 統計量 | A | B |
|---|---|---|
| 以 -edy 結尾 / 含 ed 的詞次 | 0.20% / 0.29% | 17.34% / 20.84% |
| 含 cho / 以 qo- 開頭 / 以 -ol 結尾 | 16.1 / 10.0 / 14.5% | 2.7 / 17.7 / 7.1% |
| ch 之後的字形:e / o | 24.5 / 46.1% | 60.1 / 10.1% |
| 每千詞次中的 daiin | 42.5 | 13.0 |
對197張做無監督聚類,以95.4%到99.5%的準確率復原了 Currier 的標籤。單一的 -edy 閾值在留一法檢驗下以99.5%的準確率把兩者分開:A 是一個尖峰,114張中有112張低於2%;B 是一個從3%到42%的連續體;IT2a 中也是如此。Parisel 2026年的預印本獨立得出了同樣的單開關描述(L)。
筆跡決定語言。採用 IVTFF 頭資訊中 Davis(2020年)劃分的五種筆跡,H(語言 | 筆跡) 為0.09位元,僅憑筆跡就能預測98.2%的行;唯一混合的單元是星辰部分中的第3種筆跡。決定語言的是抄寫者,而不是主題。
詞彙共享,經過校準。規模匹配的 A 對 B 給出 Jaccard 0.147 和前100詞重合度0.95,而 A 的兩半之間為0.207和1.00,兩部英文小說之間為0.172和0.91,丹麥文對挪威文為0.116和0.67。一種詞尾模式從0.2%變到17%,在同一語言的不同書之間沒有先例,在不同語言之間卻有:法文對義大利文,詞尾 -o,從0.19%到17.5%(S:v_a6)。
分部詞彙。各部分特有的詞彙確實存在,每詞次平均卡方值0.654,而打亂後為0.121,義大利文為0.40,而且在同一抄寫者、同一語言內部依然存在。但這些分部詞彙屬於同樣的亞詞族——qokain、qol、qokeedy、okeol——而不是任何類似實義詞彙的東西(S:v_a6)。
08 各假說的現狀
排除
- 所檢驗的十一種語言的明文或單表替換:h2 差距原始至少1.0位元,合併後至少0.4位元(S:a1、v_a1;L:Bennett 1976,Zandbergen,Lindemann 與 Bowern 2021)。
- 替換加去母音或常規縮寫(S:a1、a5;L:Lindemann 與 Bowern 2021)。
- 真實明文的字母層換位,包括漏格板重排(S:v_a5;L:Parisel 2026)。
- 維吉尼亞型多表替換(L:D’Imperio 1978,Stolfi 2000)。
- 以單字形虛碼作為冗餘的來源(S:a5)。
- 具名的解讀:Cheshire 2019(被其審稿人駁倒)、被當作解讀來讀的 Hauer 與 Kondrak 2016(作者本人有所保留)、Bax 2014、Gibbs 2017、Ardic、Gladyseva 2023、Schechter 2025,以及2025–2026年藉助大語言模型的各種讀法:都沒有可復現的金鑰,沒有一個經得起盲測應用(L)。
- 現代偽造(L:放射性碳測年、墨水、來源)。
不被看好*
- 一種未加密的冷僻語言:已發表的最接近的 h2 是夏威夷語的2.77(L),而槽位語法沒有先例。
- 以 Rugg 的表加漏格板為機制:卡爾達諾漏格板約出現於1550年,而犢皮紙是1404–1438年的;f 和 p 的特殊作用不可能由表產生(L:Zandbergen 2021);本輪的漏格板在齊普夫和單現詞上失敗(S:a4)。
- 這裡實現的自由編輯式自我引用:它過度產生區域性性和詞彙,字元冗餘又產生得不足(S:a4、v_a4;第06節)。
- Dee 和 Kelly 的靈語(L:Daruka 2020),這與犢皮紙的年代相沖突。
仍成立
- (a) 一種由短單位構成的冗長或槽位模板密碼、一部名碼本,或一種有意義的人造語言。與第03、05和07節相容,也與一種可以手工執行、能復現若干主要統計量的15世紀設計相容(L:Greshko 2025,Naibbe 密碼;Bowern 與 Gaskell 2022)。它還必須滿足詞長約束(冗長對照給出7.6到11.5個符號;S:v_a1)、詞次之間近乎為零的可預測性(L:Rozanova 與 Temerev 2026,預印本)以及行首效應(S:v_a2)。
- (b) 保留槽位結構的複製加修改生成(L:Timm 與 Schinner 2020、2023;Timm 2026)。與所測的一切相容,但槽位語法是該模型的輸入,而不是它的產物(S:a3),而且還沒有任何實現在手稿長度上、對照頁面、分部和抄寫者結構執行過(L:三次梳理皆然)。
- (c) 一種在非詞切分下的真實語言。未檢驗(S:v_a3)。
09 實物證據補充了什麼
全部為 (L)。四張的放射性碳測年:1404–1438年(Hodgins,亞利桑那大學,2009年)。通篇為鐵膽墨水和時代相符的顏料(McCrone 2009;耶魯 2014)。五種筆跡——其中三種寫了227頁中的188頁——共用一套書寫系統(Davis 2020)。羅曼語方言的月份名和 f116v 上一條德語筆跡的批註,表明它在幾十年內經過講德語和講法語/奧克語的人之手。十張的多光譜影象(2014年拍攝,2024年公佈)復原出 f1r 上一份被擦去的字母表試寫和 Tepenecz 的藏書標記,但沒有新的伏尼契文。來源從約1600年的布拉格,經 Baresch(1639年)、Marci(1665年)和基歇爾,一直到1912年。
其推論是對稱的。無意義文字的解釋必須設想:這是1420年代在新鮮小牛皮上製作的產物,由幾位協作的抄寫者完成,他們在兩百多頁中始終保持同一套槽位語法和同一個 A/B 開關——這種代價沒有任何統計量能說明。密碼的解釋則必須說明,為什麼決定語言的是抄寫者而不是主題(第07節)。
10 怎樣才能解決其餘問題
- 一場預先登記的、手稿長度的生成器比拼:自我引用、表加漏格板、用 Naibbe 加密的拉丁文和人寫的胡言亂語,放在同一組檢驗下,包括 Montemurro–Zanette 的長程關鍵詞峰(L:2013)、主題×插圖×抄寫者的共同聚類、相鄰頁相似度、A/B 可分性、f 和 p 規則以及詞次可預測性。指令碼 a1 到 a6 是一組可用於任何 TSV 格式文字的部分檢驗。
- 手稿長度的人寫胡言亂語,花幾周時間寫成,配有插圖和分部,這是 Gaskell 與 Bowern(2022年)提出的懸而未決的檢驗(L)。
- 插圖與文字之間的互資訊,並排除筆跡、帖和相鄰關係的影響。
- 僅按確定的空格重新切分詞次,並對拉丁文和義大利文的音節切分計算同樣的統計量,以彌補第02節留下的缺口。
- 對任何聲稱的金鑰:由第三方盲測應用於五張 A 和五張 B,並附打亂字形的對照。
11 已核查、未核查、須核實
已核查。a1 到 a6 中的每個主要數字都由獨立的重新實現 v_a1 到 v_a6 復現,包括 Levenshtein 程式碼、熵公式、估計量偏差、語料內容和 Gutenberg 版權套話。在 ZL、RF1b、IT2a、GC2a 和 CD2a 上的穩健性。已應用的更正:單本書樣本;拉丁文詞熵取自散文而非詩歌;摺疊後的下限為3.32;固定性比率為1.7到2.3;欠離散是 Currier B 的特性;行尾效應來自 m/g 異體字形;A/B 規則在留一法下為99.5%。
未核查。需付費的 Cryptologia 全文(Rugg 2004、Schinner 2007、Timm 與 Schinner 2020 和 2023、Daruka 2020、Greshko 2025)是根據摘要和二手概述來把握的。沒有計算更高階的熵和按筆跡分的熵、A 對 B 的顯著性檢驗以及自助法區間。沒有重新計算任何更高層次的文獻統計量(Montemurro–Zanette 峰、主題模型、相鄰頁相似度)。Davis 的筆跡劃分取自 IVTFF 頭資訊。除放射性碳測年、墨水、筆跡和1639年的信之外的實物證據,包括墨水分層、顏料順序和帖的順序,都沒有考察。
使用者引用前須核實。語料選擇(單本 Gutenberg 書籍;一個含約8%拉丁文的 OCR 義大利文語料庫;詩歌對散文拉丁文)、字形合併列表、24符號冗長對照的設計、把不確定的空格當作斷點的處理,以及“已排除”“不被看好”和“仍成立”這些標籤。有兩個數字以不止一種形式出現:合併後的 h2 在熵表中是2.870,在比拼表中是2.646;相鄰重複率在固定性表中是0.907%,在比拼表中是0.0082,在基線中是0.81%。筆記沒有調和這些差異;可能的原因是合併列表和詞次過濾器不同*,這可以透過以下位置中各指令碼的 JSON 來確認: results/ 。所有輸出在複核之前都未經驗證。
12 檔案與復現
所有內容都在 targets/voynich/. parse_ivtff.py 把 IVTFF 轉換為 TSV; data/ZL3b-n.words.tsv 是解析後的主轉寫本。原始檔案來自 voynich.nu/data,需帶瀏覽器請求頭;伺服器會拒絕普通的 curl。 baseline.py 和 baseline2.py 是獨立的基線。檢驗: a1_charstats.py, a2_wordstats.py, a3_wordgrammar.py 連同 a3_supplement.py, a4_selfcitation.py, a5_cipher.py, a6_structure.py;重跑 v_a1.py to v_a6.py. results/ 存放各指令碼的 JSON 和 Markdown 以及生成器樣本。 NOTES.md 是本頁所濃縮的裁定; SOURCES.md 是五次文獻梳理。