Комочек слизи, плававший в первом Мировом океане, стал предком яблони и морской звезды, червя и стрекозы, подберезовика и человека. Для объяснения всего этого построено учеными, начиная с Дарвина, огромное здание учения об эволюции. Эволюция — по-латыни это означает «развертывание», но обычно употребляется в смысле «развитие». Эволюция живого мира включает в себя как непременное условие борьбу за существование и выживание наиболее приспособленных, то есть естественный отбор.
Из двух оленей, за которыми гонятся волки, погибает менее быстроногий. В угольных районах Англии один вид бабочек за сотню с лишним лет заменил природный свой белый цвет черным: в каждом поколении выживали более темные бабочки, незаметные для своих врагов на фоне угольной пыли. Пещерный медведь — последнее животное, бывшее серьезным противником человека, — погиб в борьбе с новым владыкой мира.
А способность живого существа приспособиться (да простится мне эта тавтология) опирается не только на унаследованные свойства, но и на их случайные изменения, которые тоже могут быть унаследованы. Если эти случайные изменения вредны для организма, он гибнет, не оставив потомства, и вместе с ним исчезают и новые его признаки. Если изменения благоприятны, организм оставляет потомство, обладающее ими, поскольку они наследственны. (Давайте не будем сейчас вдаваться в проблему, как, где и почему закрепляются случайные свойства, дающие живому существу добавочные шансы на сохранение жизни.
Для той модели эволюции, о которой сейчас пойдет речь, это не имеет прямого значения.)
Идею такой модели выдвинул академик В. М. Глушков; осуществили ее его сотрудники А. А. Летичевский и А. А. Дородницына.
Это была проверка возможности переноса в программу вычислительной машины некоторых общих принципов естественного отбора. Ох, до чего длинная фраза! Давайте поговорим покороче и поконкретнее.
В эволюции вида два главных сотрудника — организм и среда. Она на него влияет, он к ней приспосабливается — или гибнет. Внешняя среда, говоря сверхусловно, состоит из пространства, в отдельных местах которого можно добыть пищу. Что же, в кибернетической модели в качестве пространства «представительствуют» 40 взятых на окружности точек. В каждой из них может быть «пища». А может и не быть. Состояние клетки с «едой» обозначается цифрой 1, клетки без еды, естественно, — цифрой 0. Разумеется, состояние клеток можно менять, изымая «пищу» из одних клеток и перенося ее в другие. В конкретных опытах «пища» имелась в 15 клетках, расположенных подряд, и весь этот «пищевой массив» двигался по окружности по часовой стрелке, то есть слева направо, сдвигаясь за единицу времени на один шаг. Только что «пищу» содержали, находились в «состоянии один» точки с № 15 по № 29 — и вот уже «питательными» стали точки с № 16 по 30, ну и так далее. Движение пищи имитирует важнейший двигатель эволюции — изменения внешней среды. А шаги «пищи» становятся единицей времени в этом уж подлинно микромире. В таких «шагах» измеряется и возраст его обитателей — автоматов.
Каждый из них занимает одну из точек «среды», каждый из них знает, есть в этой точке «пища» или нет. Знает он еще и то, есть ли «пища» в обеих соседних точках — слева и справа. Когда в его точке «пища» исчезает (с движением пищевого массива), автомат может перебраться в ту из соседних точек, где она еще есть. А если и по соседству нет пищи? Тогда начинаются ее поиски. Автомат наделен особой таблицей переходов, определяющей направление его движения в этом случае. Безрезультатные поиски «пищи», как и в природе, не могут продолжаться до бесконечности. 16 шагов без поступления «еды», 16 шагов без попадания на точку в состоянии 1 — и судьба автомата решена. Он исчезает с «колеса жизни», погибает. Грустно, конечно. Но… все как на самом деле. И, как на самом деле, не может жить бесконечно даже удачливый автомат, в избытке находящий «пищу». Больше 40 шагов «колеса судьбы» он прожить не может. И тоже исчезает. 40 шагов — период полной смены поколений автоматов. А откуда берется смена старшим? Опять-таки все «как в жизни». Автоматы, которым успело «исполниться» 16 шагов, способны к размножению. Конечно, при условии, если перед совершеннолетием они не голодали больше 7 шагов.
Автомат, отвечающий этим условиям, распадается на два автомата. Как это возможно технически? Да очень просто. На самом деле нельзя увидеть своими глазами ни кольцо из 40 точек, ни автоматы, ни тем более их размножение. Все это переведено в формулы и цифры и введено в программу вычислительной машины «Киев». И в виде цифр же сообщает машина нам о том, что происходит с автоматами. А наглядно вообразить себе эти процессы очень несложно. Немногим сложнее, чем по шахматной записи восстановить сыгранную в ваше отсутствие партию.
…Итак, вместо одного автомата налицо два. Они обладают теми же свойствами, что их родитель, за одним исключением. В каждый новорожденный автомат попадает в числе прочих частей таблица переходов, с помощью которой определяется направление движения автомата. Но при раздвоении таблицы ее заместительницы уже не совсем точно копируют свою предшественницу. В них есть изменения, из-за которых автоматы-дети несколько иначе выбирают направление движения, чем автомат-родитель.
Иначе! А лучше или хуже? Ответ на этот вопрос такой: и лучше и хуже. Одни новорожденные тычутся без толку во все стороны, как слепые щенята. Пища может попасться им только случайно. Начинается голод, который через 16 шагов беспощадного времени кончается смертью. Другие же представители молодого поколения умеют найти «пищу» в более короткий срок и остаются в живых. Но и среди выживавших отмечалась разница в поведении. Через 12 поколений, через 500 шагов среди автоматов можно было по поведению выделить два отличных друг от друга типа.
Еще в первом поколении выживали прежде всего те автоматы, которые, обнаружив, что «пищи» нет ни под ними, ни по соседству, начинали двигаться влево, навстречу возвращающемуся к ним по колесу жизни «пищевому массиву».
Во втором поколении таких «умных» автоматов было больше, в третьем — еще больше… Закон выживания наиболее приспособленных действовал вовсю.
Но тут кибернетики разыграли роль бога. Не того бога, о котором говорят церковники XX века, не бога-ленивца, запустившего механизм вселенной и удалившегося на покой. Нет, Летичевский и Дородницына вмешались в жизнь своих подопечных автоматов на манер свирепых богов древности. Они заставили автоматы умирать от голода не на 16-м, а на 13-м шагу без «пищи».
Естественно, автоматы стали гибнуть гораздо чаще. Ведь достаточно было одного-двух неверных шагов или вредной неподвижности, чтобы даже при общем движении влево, навстречу «пищевому массиву», автомат не смог преодолеть пустыню на своем пути и погиб.
Менялись поколения. Одно, другое, третье, девятое… В 76-м поколении — через 3 тысяч шагов! — ученые заметили у части автоматов новую привычку. Находясь в массиве «пищи», они больше не оставались неподвижными, а предусмотрительно двигались внутри него направо. Они, так сказать, предвидели, что «пища» может их покинуть. Поневоле здесь приходит в голову воспоминание о сезонных перелетах птиц, о кочевках степных животных… Но ученые были беспощадны. Они еще сократили время жизни без «пищи». И стали свидетелями массовой гибели своих созданий.
Собственно, один автомат даже в таких бы условиях не погиб. Беда была в том, что автоматы мешали друг другу. Да, я забыл сказать о том, что размножение автоматов было с самого начала ограничено: оно прекращалось, когда их число достигало 20. Но и 20 автоматов в условиях последней стадии опыта — это было слишком много. Ведь в каждой точке мог находиться только один автомат. Если из двух соседних один «хотел» двигаться влево, а другой — вправо, они мешали друг другу и оставались на месте. Точно так же случайно оставшийся неподвижным автомат становился — до своей гибели от голода или естественной кончины — преградой для всех остальных, вынужденных оставаться на месте или двигаться в противоположном направлении.
Так кончилась жизнь микромира в первом его варианте. Затем опыт повторили. Только теперь размножаться, делиться автоматы начинали лишь в возрасте 21-го шага, а умирали от 14 шагов голода. Довольно быстро — через 200–300 шагов, то есть 5–8 поколений, все автоматы вымерли. Ведь теперь случайные ошибки в движении почти наверняка вели к гибели, большая, чем раньше часть автоматов успевала умереть, прежде чем могла дать потомство, а часть доживала до естественной кончины, но доживала впроголодь, и права на деление так и не получала.
Опыт повторили в точно той же форме. Снова картина всеобщей гибели. Еще раз все сначала… И в одном из запусков случай благоприятствовал автоматам. Сочетание цифр в таблице переходов у одного из автоматов оказалось настолько удачным, что его потомство, сохранившее это сочетание, стало благоденствовать даже в столь тяжелых условиях. Приспособилось.
Что сделали кибернетики? Они еще ухудшили жизнь своих созданий. Теперь пища находилась только в 12 (вместо 15) точках из 40 возможных.
Автоматы долго оказывали сопротивление этому машинному «великому оледенению». Они просуществовали еще 2293 шага. Лишь 75-е поколение было последним… Какой трагический конец!
Но эта трагедия — оптимистическая. Она ведь была поставлена намеренно. Жизнь автоматов как модели вида (вида животных) можно было сделать практически бесконечной — в их масштабах времени. Но к чему это было нужно? От модели взяли все, что возможно. Убедились, что эволюционный принцип можно моделировать на вычислительной машине. Теперь настала пора усложнения модели. Эта модель была одномерной — все жизненное пространство автомата представляла собой только одна геометрическая линия окружности, не имевшая, как и полагается геометрической линии, ни ширины, ни толщины. И сами автоматы друг с другом не взаимодействуют, если не считать того, что порой мешают друг другу в силу одномерности их жизненного пространства, где ни одно препятствие нельзя ни обойти, ни перескочить через него.
В модели следующей ступени сложности оба эти недостатка должны отсутствовать. Модель окажется сложнее, а значит, хоть чуточку приблизится к своему прототипу.
Значение машинного розыгрыша естественного отбора гораздо больше, чем может подуматься. Конечно, здорово, что удалось на модели показать реальность биологических теорий. Но это в каком-то смысле второстепенный результат. Гораздо важнее будущее принципа «естественного отбора» в кибернетике. В. М. Глушков видит здесь способ получения сложных информационных систем, которые трудно создать другими способами. А между прочим, понятие «информационная система», то есть система, перерабатывающая информацию, очень широко. Под него подходим и мы с вами.
Конечно, академик имел в виду информационные системы несравненно меньшей сложности. Но сама по себе возможность получать с помощью модели естественного отбора модели животных, притом построенные не по заданной программе, — великолепна.
А в будущем так будут создаваться машины, план которых будет неизвестен их создателям, а вернее, прародителям. Кибернетика выполнит на деле странное задание старой русской сказки — «Найди то, не знаю что».