ヴォイニッチ手稿には、言語の痕跡がほとんど見られない
ヴォイニッチ手稿は約240ページの本で、放射性炭素年代測定によって15世紀初めのものとされている。植物、星、入浴する人々の絵が、ほかのどこにも見られない文字で書かれた約38,000語を取り囲んでいる。誰もそれを読むことができない。
見た目は文字で書かれた文章のようだ。単語は空白で区切られ、まれな単語が多く、記号(グリフと呼ばれる)は単語の中で決まった位置を守っている。それでも、既知のどの言語とも違うふるまいを見せる。同じ単語が2回や3回続けて現れることがよくあり、多くの単語は隣の単語とグリフ1つだけ違い、頻出する単語は短く、互いに似ている。
意味のない文字列か、偽装された言語か
一方の説では、このテキストには何の意味もない。写字生が新しい単語を書くたびに、前に書いた単語を書き写してグリフを1つか2つ変えたというのだ。これは2020年にTimmとSchinnerが提唱した過程である。もう一方の説では、本物の言語が暗号の陰に隠れている。最近考案された暗号の1つであるNaibbe暗号(Naibbe cipher)は、ラテン語やイタリア語を、手稿によく似たテキストに変える。
どちらの側も長いあいだ、目的に合わせて選んだ統計にもとづいて論じてきた。テキサス工科大学のXin ZhangとVictor S. Shengは、両者を同じルールのもとで評価した。
同じページ、同じ予算、見たことのない統計
それぞれの説は、手稿のページと行を単語ごとに埋めていくプログラムになった。書き写しプログラムは、各単語を、新しい単語として、あるいは前の単語を変えて書き写したものとして書く。暗号プログラムは本物の中世のテキストを暗号化し、各単語をコード語に置き換えるか、その文字、音節、あるいは文法上の品詞だけを置き換える。どの暗号にも書き写しを行う写字生を加え、局所的なくり返しがどちらの側にも有利にならないようにした。
各プログラムは、テキストの22の統計量で調整され、一度も見ていない別の15の統計量で評価された。
- TimmとSchinnerの書き写しルールは、鍵が1つだけのどの暗号よりも、これらの未知の統計量をはるかによく予測する。その最大の外れでも5標準偏差(プログラム自身が生成するテキストの典型的なばらつき)未満にとどまる。一方、単語コードは、ある統計量を100標準偏差以上も外す。
- 決め手となる統計量は「ドリフト」、つまり緩やかな移り変わりである。手稿には2つの「方言」、Currier AとBがあり、グリフの使い方が異なる。固定された鍵では、どのページにも同じグリフの癖が書き込まれる。直前に書いたばかりの単語から単語をつくる写字生なら、その癖が少しずつさまよっていく。
- しかし、2つ目の鍵(Currier Bのページ用の別の鍵)をもつ暗号や、本物のテキストの品詞だけを符号化する暗号も、単語の約半分を書き誤る写字生と組み合わせれば、同じくらいうまくいく。著者たちの言葉では、「最もよく当てはまる暗号は、その平文が最も意味をもたない暗号である」(平文とは、暗号化される前の元のテキストのこと)。
単語の統計だけでは決着がつかず、37の統計量すべてに同時に合うプログラムは1つもない。
1つの行でくり返し出会う単語
そこで著者たちは、解読を必要としない言語の痕跡を探した。意味のあるテキストでは、結びつきのある単語、たとえば名詞とその動詞や、決まり文句の構成要素は、偶然よりも頻繁に同じ行に現れ、しかもテキストの別の場所でもまたそうなる。単語コードはこのパターンを保つ。一方、あるページで書き写しによって生まれた組には、何ページも後で再び現れる理由がない。
このテストでは、本を2つに分け、頻出する単語の同じ組が、両方の半分でくり返し同じ行に現れるかどうかを調べる。同一の単語や、グリフ1つだけ違う単語は除外されるので、書き写しがこの信号を偽造することはできない。
- 16言語の28のテキストを手稿のページに配置すると、スコアは0.139〜0.411になる(2つの半分のあいだの相関で、一方の半分で見つかった組が他方について何も教えないときは0、完全に一致するときは1)。
- 手稿のスコアは0.071で、独立した2つ目の翻字(グリフを標準的なアルファベットで打ち込んだもの)では0.053である。これは最も弱いテキストの半分の強さだ。
- 単語コードがこの水準まで下がるのは、元のテキストがこのパターンを弱くしか示さない場合、とりわけ略記を用いて書かれた中世ラテン語(0.102)の場合か、多くの単語が書き誤られた場合だけである。
較正が重要だ。ボランティアがでっち上げた意味のない文字列と本物の散文を見分けるように訓練されたプログラムは、手稿を意味のない文字列と判定する。しかしそれは、暗号化された意味のある54のテキストのうち53も、意味のない文字列と判定してしまう。
まず既知のテキストを読まなければならない暗号解読器
それぞれの解読器(ソルバー)は、テキストがある言語に最も近く読めるような鍵を探す。その評価には、その言語の古いテキストでどの文字、またはどの単語がどれに続きやすいかを示す、単純な統計表を使う。各ソルバーはまず対照テキスト、つまり同じ方法で暗号化した本物のテキストで試された。ソルバーが対照テキストを読めなかった場合、そのテストは判定不能とされた。
- 文字暗号:ソルバーは16言語のうち15言語の対照テキストを読めた。そのどれについても、手稿が示す秩序は対照テキストより少なく、手稿から得られた読みは、見覚えのある単語を含まない文字の並びだった。ヘブライ語は判定不能のままだった。
- 単語コード:暗号プログラムが好んだ元テキストである略記ラテン語のコードについては、そうしたラテン語500万語から作った表でも、単語の秩序は手稿より対照テキストのほうに多く見つかった。ただし、5語に2語が書き誤られている場合は別である。
- 1文字または1音節につき1単語:このような方式28種類から、1,144の判定が得られた。596が排除、429が判定不能、そして119は排除できなかった。手稿は、メッセージをまったく含まないテキストをわずかに上回ったが、解読しても読めるものは何も出てこなかった。
すり抜ける暗号
ノーメンクラター(nomenclator)は当時よく使われた種類の暗号で、最も頻出する単語は丸ごとコード語で書き、それ以外の単語は1文字ずつつづる。2つ目の鍵と、単語のかなりの部分を書き誤る写字生(最もよく合った2つのケースで37%と56%)を組み合わせると、この暗号は手稿の単語の組に一致し、ソルバーは16言語のうち9言語でそれを排除できない。テキストに沿って鍵が変わる暗号は、まったく試されていない。
単語と単語の継ぎ目
残っている最も強い構造は、単語の境界にある。ある単語の最後のグリフが、次の単語の最初のグリフを制約するのだ。相互情報量(一方が他方についてどれだけ教えてくれるか)は0.204ビットで、書き写しプログラムの0.078、暗号の0.014を上回る。このつながりが、文字ソルバーが見つけたものの大部分を担っている。著者たちはこれを、試した言語の文字と比べて2倍も強く隣のグリフと結びついたグリフに由来するとしている。手稿の空白と合わせてこれを再現するプログラムは1つもない。
短いメッセージの入る余地
著者たちはまた、50〜5,000文字のメッセージを手稿のテキストに埋め込み、それを探索した。確実に見つかるのは1種類だけだった。各文字をつねに同じ単語で書き、その単語を隣り合わせに並べたものである。段落の最初の単語に隠した場合、500文字のそうしたメッセージはすべて見つかった。手稿の中に、そのようなメッセージを示すものは何もない。しかし、1文字に複数の単語を使ったメッセージや、文字を間隔をあけて配置したメッセージなら、まだそこに隠れている可能性がある。
