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

Манускрипт Войнича — одна из самых известных загадок в истории криптографии и лингвистики. Написанный неизвестным алфавитом и обильно иллюстрированный, он не поддаётся расшифровке вот уже более ста лет. В попытке понять, почему все предыдущие подходы провалились, автор статьи разработал слотовую марковскую модель на Python, которая воспроизводит статистику манускрипта с точностью до сотой бита. Результаты оказались неожиданными: модель показала, что текст обладает статистическими свойствами, характерными для осмысленного языка, но контрольный тест на случайном шуме дал такой же результат. Это означает, что без внешнего ключа — известного словаря, билингвы или хотя бы предположения о языке — никакой статистический анализ не сможет отделить сигнал от шума. И именно поэтому АНБ, как и все остальные, потерпело неудачу.
Как работает слотовая марковская модель и что она показала
Автор построил слотовую марковскую модель — вероятностную модель, которая предсказывает следующий символ на основе предыдущих, но с учётом позиции в слове. В отличие от обычной марковской цепи, где учитывается только последовательность символов, слотовая модель фиксирует контекст внутри слова: начало, середина, конец. Это важно, потому что в манускрипте Войнича слова имеют чёткую структуру: корень, суффиксы, окончания. Модель обучалась на всём тексте манускрипта (около 170 000 символов) и генерировала новые последовательности, статистически неотличимые от оригинала. Проверка по критерию хи-квадрат и энтропии показала, что расхождение между реальным текстом и сгенерированным составляет менее 0,01 бита на символ. Это означает, что модель улавливает все статистические закономерности манускрипта — но это не доказывает, что текст осмыслен.
Какие эксперименты проводились и почему они не дали ответа?
Первый эксперимент: модель обучили на манускрипте и сравнили с моделью, обученной на случайном тексте с той же частотой символов. Разница оказалась значительной — манускрипт демонстрировал более низкую энтропию и более длинные корреляции. Это можно было бы интерпретировать как признак осмысленности. Второй эксперимент: модель обучили на перемешанном тексте (перестановка слов), и она показала почти те же результаты, что и оригинал. Это намекает на то, что структура важнее порядка слов. Третий эксперимент: модель обучили на тексте, где символы были заменены случайными (с сохранением частот), и она показала значительное отличие. Казалось, что найден «признак смысла». Но четвёртый эксперимент всё перевернул: контрольный тест на случайном шуме (равномерное распределение символов) дал точно такой же паттерн, как и манускрипт. То есть, различие между осмысленным текстом и случайным шумом оказалось неотличимым при данной модели. Вывод: статистические методы не могут подтвердить или опровергнуть осмысленность манускрипта без внешнего ключа.
Почему статистика бессильна без внешнего ключа
Ключевая проблема: манускрипт Войнича может быть осмысленным текстом на неизвестном языке, шифром, или просто бессмыслицей, сгенерированной по сложным правилам. Статистические модели улавливают только эти правила, но не могут отличить «настоящий» язык от искусственного, если оба имеют одинаковую сложность. Для расшифровки нужна точка опоры: известное слово, билингва, или хотя бы предположение о языке, которое можно проверить. Без этого, как показал эксперимент, даже идеальное воспроизведение статистики не даёт гарантии расшифровки.
Технические детали: код и данные открыты
Автор выложил весь код на Python (около 200 строк) и данные на GitHub. Модель использует библиотеки numpy и scipy для расчётов, а также собственные реализации слотовой марковской цепи и критериев сравнения. Для воспроизведения экспериментов достаточно запустить скрипт, который загружает текст манускрипта в кодировке EVA (латинизированная транслитерация оригинального алфавита). Код задокументирован и снабжён комментариями, так что любой желающий может проверить результаты. Автор также приводит ссылки на оригинальные работы по слотовым моделям и статистическому анализу манускрипта.
Кого затронет это исследование и что оно меняет
Для криптографов и лингвистов, работающих над манускриптом Войнича, это исследование — ещё одно подтверждение того, что чисто статистические подходы зашли в тупик. Для разработчиков, интересующихся NLP и вероятностными моделями, это отличный пример того, как не попасть в ловушку ложных корреляций. В контексте СНГ и России, где манускрипт Войнича также вызывает интерес (существуют русскоязычные форумы и публикации), статья может стимулировать поиск альтернативных методов — например, с привлечением исторических данных или лингвистической типологии.
Что будет дальше: возможные сценарии расшифровки
Автор предполагает, что без внешнего ключа манускрипт не будет расшифрован никогда. Однако если когда-нибудь найдётся билингва (например, параллельный текст на известном языке) или будет идентифицирован язык, на котором он написан, статистические модели могут быстро подтвердить гипотезу. Пока же единственный путь — кропотливый исторический и криптографический анализ, а не автоматическая обработка. Возможно, будущие методы на основе нейросетей, обученных на большом корпусе древних языков, смогут уловить более тонкие закономерности, но пока это лишь гипотеза.
Итог
Эксперимент с слотовой марковской моделью на Python показал, что манускрипт Войнича обладает сложной статистической структурой, но это не доказывает его осмысленность. Без внешнего ключа никакой статистический анализ не способен расшифровать текст, и это объясняет неудачу всех предыдущих попыток — включая усилия АНБ. Исследование подчёркивает ограничения современных методов NLP и напоминает, что некоторые загадки требуют не только алгоритмов, но и исторического контекста.