Зарегистрироваться

Хорьки Докинза всё ещё лучше обезьян с пишущими машинками

Категория: математика | Источник: http://science.compulenta.ru

 

В классическом примере на тему вероятности говорится об обезьянах с пишущими машинками, которые рано или поздно случайно отстучат пьесу Шекспира (в одном из суровых отечественных вариантов — «Войну и мир» Толстого; бедные русские обезьянки).

 

Американский программист Джесс Андерсон решил перейти от умозрительных рассуждений к практическому эксперименту и предоставил такой шанс виртуальным мартышкам.

 

Надо заметить, энтузиаст облегчил себе задачу: его обезьянки выдают строки стандартных символов ASCII без знаков препинания, заглавных букв, цифр и пробелов. Это значительно повышает вероятность появления осмысленного текста.

 

Второе упрощение: г-н Андерсон не стремится к повторению Шекспира. Его алгоритм похож на тот, который использовался как простая демонстрация силы биологической эволюции.

 

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

 

На другом конце спектра находится мысленный эксперимент британского биолога Ричарда Докинза. Он рассматривал пример с шекспировской строчкой «Methinks it is like a weasel» («По-моему, оно смахивает на хорька»). Эту фразу произносит Гамлет, обсуждая с Полонием форму облака. Докинз предложил случайный ввод символов в качестве аналога генетической мутации. Однако биолог добавил одно условие, характерное для естественного отбора: если какая-то буква оказывается правильной, она сохраняется, пока остальные перемешиваются и снова проверяются на «нужность». Это радикально сокращает время, которое требуется, чтобы прийти к правильному решению, так как обезьяне уже не придётся начинать всё сначала.

 

Программа г-на Андерсона гораздо ближе к этому примеру. Каждая обезьяна выдаёт не один символ, а целых девять. Эти блоки затем сравниваются со всеми текстами Шекспира. Если они совпадают, блок помечается как полный. Поскольку используются только 26 символов, существует 5,4 трлн девятизначных блоков. Но шанс на то, что удастся составить такую простую фразу, как «Methinks it is like a weasel» из 28 знаков (Докинз не игнорировал пробелы), равен одному к 1,2×1040. Программа была запущена 21 августа, и виртуальные мартышки выдали пока только 500 млрд комбинаций.

 

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

 

Подготовлено по материалам Ars Technica.

 

ДМИТРИЙ ЦЕЛИКОВ