伏尼契手稿几乎看不出语言的痕迹
伏尼契手稿是一本约240页的书,放射性碳定年将其年代定在十五世纪初。植物、星辰和沐浴人物的图画环绕着约38,000个词,所用的文字在其他任何地方都找不到。没有人能读懂它。
它看起来像文字:词与词之间有空格,有许多罕见词,符号——称为字符(glyphs)——在词内保持固定的位置。然而它的表现不像任何已知语言。同一个词常常连续出现两三次,许多词与相邻词只差一个字符,而常用词又短又相似。
胡言乱语,还是伪装的语言?
一种解释认为,这些文本毫无意义:抄写员每写一个新词,都是抄写前面的某个词并改动一两个字符——这一过程由 Timm 和 Schinner 于2020年提出。另一种解释认为,一种真实的语言隐藏在密码背后——最近的一种设计,即 Naibbe 密码,能把拉丁语或意大利语变成与手稿非常相似的文本。
长期以来,双方都各自援引为此专门挑选的统计量来论证。德克萨斯理工大学的 Xin Zhang 和 Victor S. Sheng 用同一套规则评判了两者。
同样的页面,同样的预算,未见过的统计量
每种解释都变成了一个程序,逐词填满手稿的页面和行。抄写程序把每个词写成新词,或写成前面某个词的改动副本。密码程序则加密一篇真实的中世纪文本,把每个词替换为一个码词(code word),或者替换它的字母、音节,或者只替换它的语法类别。每个密码程序还配有一位会抄写的抄写员,使局部重复不偏向任何一方。
每个程序都先在文本的22个统计量上调参,然后在另外15个它从未见过的统计量上接受评判。
- Timm 和 Schinner 的抄写规则对这些未见统计量的预测,远好于任何只有单一密钥的密码。它们最大的偏差也不到五个标准差(程序自身生成文本的典型离散程度);而一种词码在其中一项上的偏差超过一百个标准差。
- 起决定作用的统计量是一种漂移。手稿有两种“方言”,即 Currier A 和 B,它们使用字符的方式不同。固定的密钥会在每一页上写出同样的字符习惯;而一位用刚写过的词来造新词的抄写员,则会让这些习惯逐渐漂移。
- 但带有第二个密钥(为 Currier B 页面单独设置的密钥)的密码,或者只编码真实文本词类的密码,表现同样好,前提是抄写员抄错约一半的词。用作者的话说,“拟合最好的密码,恰恰是那些明文最无关紧要的密码”(明文即加密前的原始文本)。
仅凭词的统计量无法作出判断,而且没有一个程序能同时吻合全部37个统计量。
总在同一行相遇的词
于是作者寻找一种无需破译的语言痕迹。在有意义的文本中,彼此相关的词——一个名词和它的动词、固定短语的各个部分——出现在同一行的频率高于随机,而且会在文本的其他地方再次如此。词码会保留这种模式;而在某一页上因抄写而产生的词对,没有理由在许多页之后再次出现。
这项检验把书分成两半,检查同样的高频词对是否在两半中都反复出现在同一行。相同的词以及只差一个字符的词被排除在外,因此抄写无法伪造这一信号。
- 16种语言的28篇文本按手稿的页面排版后,得分在0.139到0.411之间(这是两半之间的一种相关系数:若一半中找到的词对对另一半毫无提示,则为0;若两者完全吻合,则为1)。
- 手稿得分为0.071,在第二种独立的转写(把字符录入为标准字母)中为0.053:只有最弱文本强度的一半。
- 只有当原文本身的这种模式较弱时——尤其是带缩写的中世纪拉丁语,得分0.102——或者当许多词被抄错时,词码才会降到这一水平。
校准很重要:一个经过训练、用来区分志愿者写的胡言乱语与真实文章的程序会把手稿判为胡言乱语,但它也把54篇加密的有意义文本中的53篇判为胡言乱语。
必须先读懂已知文本的破译程序
每个求解程序都搜索一个密钥,使文本在该密钥下读起来最像某种给定语言;打分依据是一张简单的统计表,记录在该语言的古老文本中哪个字母(或词)倾向于跟在哪个后面。每个求解程序都先在对照文本上运行——即用同样方式加密的真实文本;凡是它读不懂对照文本的情况,检验都记为未定。
- 字母密码。求解程序读懂了16种语言中15种的对照文本。在每种语言中,手稿显示出的规律都少于对照文本,其解读结果是一串串没有可识别词语的字母。希伯来语仍未定。
- 词码。对于一种缩写拉丁语的词码——这正是密码程序偏好的原文——一张由500万词此类拉丁语构建的统计表,在对照文本中找到的词序规律仍多于手稿,除非有五分之二的词被抄错。
- **每个字母或音节对应一个词。**28种此类方案给出了1,144个判定:596个排除,429个未定,另有119个无法排除:手稿的得分仅略高于完全不含信息的文本,但解码出来仍是不可读的内容。
漏网的密码
名录密码(nomenclator)是那个时代常见的一种密码,它把最常用的词写成完整的码词,其余的词则逐字母拼写。带上第二个密钥、再加上一位抄错大量词语的抄写员(在它的两个最佳拟合中分别为37%和56%),它就能吻合手稿的词对,而求解程序在16种语言中的9种里都无法排除它。密钥沿文本变化的密码则完全没有被测试。
词与词之间的接缝
剩下最强的结构位于词的边界。一个词的最后一个字符会约束下一个词的第一个字符:互信息(一个能告诉你多少关于另一个的信息)为0.204比特,而抄写程序为0.078,密码为0.014。这一关联承载了字母求解程序所发现的大部分内容。作者把它归因于字符与相邻字符的结合比所测试语言中的字母紧密一倍;没有任何程序能在重现手稿空格的同时再现它。
容纳一条简短信息的空间
作者还在手稿文本中植入了50到5,000个字母的信息,然后去搜寻它们。只有一种能被可靠地发现:每个字母总是写成同一个词,这些词紧挨着排列。藏在段落开头几个词里时,每条这样的500字母信息都被找到了。手稿中没有任何迹象指向这样一条信息——但如果一条信息每个字母使用几个不同的词,或者字母之间相隔分布,它仍可能藏在其中。
