Слепой часовщик | страница 52
Вот и все, на что способен одноступенчатый отбор случайных изменений. А как насчет накапливающего отбора, намного ли он будет эффективнее? Очень намного — возможно, больше, чем мы в состоянии вообразить, хотя если подумать, то это покажется почти что очевидным. Мы снова воспользуемся нашей компьютерной обезьянкой, но внесем в программу одно существенное изменение. Как и в предыдущий раз, компьютер начинает со случайной 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