Однажды американский программист Джесс Андерсон задумался, а могут ли миллионы обезьян, бездумно набирающих на печатных машинках слова английского языка, в какой-то момент воссоздать полное собрание сочинений Шекспира.
Написав программу, которая функционирует по такому принципу, Андерсон пришел к выводу, что «виртуальным обезьянам» это по плечу, сообщает британская телерадиокомпания BBC.
На проверку довольно странной гипотезы у американского программиста ушло чуть больше месяца. Согласно предположениям Джесса Андерсона, если дать миллиону обезьян миллион печатных машинок и заставить их бездумно набирать слова английского языка, то в какой-то момент у них получится воссоздать собрание сочинений Шекспира. Разумеется, провести этот эксперимент на животных невозможно, поэтому программист написал миллион маленьких программ - «виртуальных обезьян», каждая из которых ежесекундно генерировала слова английского языка, состоящие из девяти букв.
Сгенерировав слово, каждая «виртуальная обезьяна» проверяла, встречается ли оно в произведениях величайшего английского драматурга. Если да, то слово или фраза заносилась в базу данных, если нет - удалялось навсегда. Работа была огромной: «виртуальные обезьяны» перебрали 550 триллионов комбинаций, которыми можно составить строки, состоящие из девяти произвольных букв английского алфавита. Программы работали круглосуточно, на данный момент они справились с задачей на 99,99%.
Чтобы облегчить и без того нелегкую задачу, Джесс Андерсон запрограммировал своих «обезьян» не учитывать пробелы и знаки препинания при воссоздании текстов Шекспира. По словам британских математиков из Уорикского университета, если бы Андерсон обращал внимание и на эти параметры, то ему не хватило бы и десяти жизней, чтобы завершить проект.
Ранее ученые уже пытались провести эксперименты, подобные тому, что поставил американский программист. Так, в 2003 году сотрудники одного из британских зоопарков поставили в клетку к шести макакам компьютер с клавиатурой. За пять месяцев обезьянам удалось напечатать пять страниц с одной лишь буквой «S» и сломать клавиатуру.