Информатика и ИИПрепринтАнализ данных5 мин чтения

В РУКОПИСИ ВОЙНИЧА МАЛО СЛЕДОВ ЯЗЫКА

Рукопись Войнича — книга примерно из 240 страниц, которую радиоуглеродный анализ датирует началом XV века. Рисунки растений, звёзд и купающихся фигур окружают около 38 000 слов, написанных письмом, которое больше нигде не встречается. Никто не может её прочитать.

Она похожа на письменность: слова разделены пробелами, много редких слов, а знаки — их называют глифами — занимают внутри слов фиксированные места. Но ведёт она себя не так, как любой известный язык. Одно и то же слово часто повторяется два-три раза подряд, многие слова отличаются от соседних одним глифом, а частые слова коротки и похожи друг на друга.

Бессмыслица или переодетый язык?

Согласно одной версии, текст ничего не означает: писец писал каждое новое слово, копируя одно из предыдущих и меняя глиф-другой, — такой процесс предложили Тимм (Timm) и Шиннер (Schinner) в 2020 году. Согласно другой, за шифром скрывается настоящий язык: одна из недавних схем, шифр Наиббе (Naibbe), превращает латынь или итальянский в текст, очень похожий на текст рукописи.

Каждая сторона давно аргументирует статистиками, подобранными под свою цель. Синь Чжан (Xin Zhang) и Виктор С. Шэн (Victor S. Sheng) из Техасского технологического университета оценили обе версии по одним и тем же правилам.

Те же страницы, тот же бюджет, невиданные статистики

Каждая версия стала программой, которая заполняет страницы и строки рукописи слово за словом. Копирующие программы пишут каждое слово либо как новое, либо как изменённую копию одного из предыдущих. Шифрующие программы зашифровывают настоящий средневековый текст, заменяя каждое слово кодовым словом — или же его буквы, его слоги или только его грамматический класс. Каждому шифру к тому же придан копирующий писец, чтобы локальные повторы не давали преимущества ни одной из сторон.

Каждую программу настраивали по 22 статистикам текста, а затем оценивали по 15 другим, которых она никогда не видела.

  • Правила копирования Тимма и Шиннера предсказывают эти невиданные статистики гораздо лучше любого шифра с одним ключом. Их худший промах остаётся меньше пяти стандартных отклонений (типичный разброс текстов самой программы); словесный код промахивается по одной из статистик более чем на сто.
  • Решающая статистика — дрейф. В рукописи есть два «диалекта», Currier A и B, по-разному использующие глифы. Фиксированный ключ пишет одни и те же глифовые привычки на каждой странице; писец, который строит слова из только что написанных им слов, позволяет им блуждать.
  • Но шифры со вторым ключом — отдельным ключом для страниц Currier B — или кодирующие только классы слов настоящего текста справляются не хуже — при писце, который искажает примерно половину слов. По словам авторов, «лучше всего подходят те шифры, чей открытый текст значит меньше всего» (открытый текст — исходный текст до шифрования).

Одних статистик слов недостаточно для решения, и ни одна программа не совпадает со всеми 37 статистиками одновременно.

Слова, которые всё время встречаются в одной строке

Поэтому авторы стали искать след языка, не требующий расшифровки. В осмысленном тексте слова, связанные друг с другом, — существительное и его глагол, части устойчивого выражения — оказываются в одной строке чаще, чем по случайности, и делают это снова в других местах текста. Словесный код сохраняет эту закономерность; пара, порождённая копированием на одной странице, не имеет причин вернуться страницами позже.

Тест делит книгу надвое и проверяет, оказываются ли одни и те же пары частых слов в общих строках в обеих половинах. Одинаковые слова и слова, отличающиеся одним глифом, исключаются, так что копирование не может подделать сигнал.

  • 28 текстов на 16 языках, размещённые на страницах рукописи, набирают от 0,139 до 0,411 (это корреляция между двумя половинами: 0, когда пары, найденные в одной половине, ничего не говорят о другой, и 1, когда они полностью совпадают).
  • Рукопись набирает 0,071, а во второй, независимой транслитерации (перепечатке глифов стандартным алфавитом) — 0,053: вдвое меньше, чем самый слабый текст.
  • Словесные коды опускаются до этого уровня, только если в их исходном тексте эта закономерность выражена слабо — прежде всего в средневековой латыни, записанной с сокращениями, где получается 0,102, — или если искажено много слов.

Калибровка важна: программа, обученная отличать бессмыслицу добровольцев от настоящей прозы, называет рукопись бессмыслицей, но бессмыслицей она называет и 53 из 54 зашифрованных осмысленных текстов.

Дешифровщики, которые сначала должны прочитать известные тексты

Каждый решатель ищет ключ, при котором текст больше всего похож на заданный язык, оценивая это по простой статистической таблице того, какая буква или какое слово обычно следует за какой в старых текстах на этом языке. Каждый сначала запускали на контрольных текстах — настоящих текстах, зашифрованных тем же способом; если он не мог их прочитать, тест считался нерешённым.

  • Буквенные шифры. Решатель прочитал контрольные тексты 15 из 16 языков. В каждом из них рукопись показала меньше порядка, чем контрольные тексты, а её прочтения оказались цепочками букв без узнаваемых слов. Иврит остался нерешённым.
  • Словесные коды. Для кода на сокращённой латыни — исходного текста, который предпочитали шифрующие программы, — таблица, построенная по 5 миллионам слов такой латыни, всё равно находила в контрольных текстах больше порядка слов, чем в рукописи, если только два слова из пяти не были искажены.
  • Одно слово на букву или слог. 28 таких схем дали 1144 решения: 596 исключений, 429 нерешённых и 119 случаев, которые не удалось исключить: рукопись лишь чуть превзошла тексты вообще без послания, но так и не расшифровалась во что-то читаемое.

Шифр, который проскальзывает

Номенклатор — распространённый в ту эпоху вид кода — записывает самые частые слова целыми кодовыми словами, а остальные пишет по буквам. Со вторым ключом и писцом, который искажает значительную долю слов (37% и 56% в двух его лучших вариантах подгонки), он воспроизводит пары слов рукописи, и решатели не могут исключить его в 9 из 16 языков. Шифр, ключ которого меняется по ходу текста, вообще не проверялся.

Шов между словами

Самая сильная оставшаяся структура находится на границах слов. Последний глиф слова ограничивает первый глиф следующего: 0,204 бита взаимной информации (насколько одно говорит о другом) против 0,078 у копирующей программы и 0,014 у шифров. Эта связь объясняет большую часть того, что нашёл буквенный решатель. Авторы связывают её с тем, что глифы привязаны к соседям вдвое теснее, чем буквы в проверенных языках; ни одна программа не воспроизводит её вместе с пробелами рукописи.

Место для короткого послания

Авторы также встраивали в текст рукописи послания длиной от 50 до 5000 букв и искали их. Надёжно обнаруживается лишь один вид: каждая буква всегда записана одним и тем же словом, и слова стоят подряд. Если такие послания длиной 500 букв прятали в первых словах абзацев, их находили все до одного. Ничто в рукописи не указывает на подобное послание — но послание, использующее несколько слов на букву или с буквами, разнесёнными по тексту, всё ещё могло бы там скрываться.