воспользуемся нашей компьютерной обезьянкой, но внесем в программу одно существенное изменение. Как и в предыдущий раз, компьютер начинает со случайной 28-буквенной последовательности:
WDLDMNLTDTJBKWIRZREZLMQCOP
А затем приступает к “селекции”. Он воспроизводит эту бессмысленную фразу несколько раз подряд, но с определенной вероятностью случайной ошибки – “мутации” – при копировании. Далее компьютер изучает получившиеся бессмысленные фразы – “потомство” исходной – и выбирает среди них ту, которая хоть сколько-нибудь больше других походит на искомое METHINKS IT IS LIKE A WEASEL. В данном случае среди следующего “поколения” победительницей оказалась такая фраза:
WDLTMNLTDTJBSWIRZREZLMQCO P
Не то чтобы явное улучшение! Но алгоритм продолжает выполняться, теперь уже эта фраза “производит” мутантное “потомство”, из которого выбирается новый “победитель”. Десять поколений спустя фраза, оставляемая “на племя”, выглядела так:
MDLDMNLS ITJISWHRZREZ MECS P
А по прошествии 20 поколений она была такой:
MELDINLS IT ISWPRKE Z WECSEL
К этому времени предубежденному взгляду уже начинает мерещиться сходство с нужной фразой. Спустя 30 поколений никаких сомнений не остается:
METHINGS IT ISWLIKE B WECSEL
Сороковое поколение отделяет от цели всего одна буква:
METHINKS IT IS LIKE I WEASEL
Цель была окончательно достигнута в 43-м поколении. Второй заход компьютер начал с фразы:
Y YVMQKZPFJXWVHGLAWFVCHQXYOPY, —
прошел через следующие промежуточные стадии (я снова привожу только каждое десятое поколение):
Y YVMQKSPFTXWSHLIKEFV HQYSPY
YETHINKSPITXISHLIKEFA WQYSEY
METHINKS IT ISSLIKE A WEFSEY
METHINKS IT ISBLIKE A WEASES
METHINKS IT ISJLIKE A WEASEO
METHINKS IT IS LIKE A WEASEP —
и достиг конечной фразы в поколении 64. В третий раз он начал так:
GEWRGZRPBCTPGQMCKHFDBGW ZCCF —
и пришел к METHINKS IT IS LIKE A WEASEL за 41 поколение направленной “селекции”.
Какое именно время потребовалось компьютеру для достижения цели – не имеет значения. Если вам интересно, в первый раз он справился с задачей, пока я выходил пообедать. То есть где-то за полчаса. (Читатели, увлекающиеся компьютерами, сочтут это неоправданно долгим. Причина в том, что программа была написана на бейсике – компьютерной разновидности детского лепета. Когда я переписал ее на паскале, выполнение заняло 11 секунд.) В таких делах компьютеры несколько проворнее обезьян, но на самом деле разница не принципиальна. Что действительно существенно, так это разница между сроком, потребовавшимся для накапливающего отбора, и тем промежутком времени, который потребовался бы для достижения той же самой цели тому же самому компьютеру, работающему точно с такой же скоростью, но методом одноступенчатого отбора: около миллиона миллионов миллионов миллионов миллионов лет. Это более чем в миллион миллионов миллионов раз больше сегодняшнего возраста Вселенной. Лучше даже будет сказать так: по сравнению с тем временем, которое понадобится обезьяне или компьютеру, чтобы случайно набрать нужную фразу, нынешний возраст вселенной – пренебрежимо малая величина,