Цифровой журнал «Компьютерра» 2010 № 28 | страница 16
Речь идёт о программе Avida. «Компьютерра» писала о ней в 2003 году, так что вдаваться в детали проекта сейчас смысла особого нет.
Суть же его, в целом, следующая: Avida населяет огромное количество «цифровых форм жизни» — Avidians, программ, которые самовоспроизводятся, благодаря фрагментам компьютерного кода, выполняющим те же функции, что и ДНК в живой природе; благодаря рандомным погрешностям в этих строках кода, «авидийцы» способны мутировать, а конкуренция за «еду» — т.е. за вычислительные ресурсы, которые позволяют им активнее самовоспроизводиться, приводит к появлению у них новых особенностей. В том числе, памяти.
В 1980-е годы среди программистов была весьма популярна игра Core Wars. Суть её состояла в следующем: кодеры писали программы, которые должны были отключать друг друга; автор программы-"горца", разделавшейся со всеми остальными, считался победителем.
В конце 1980-х экологу Томасу Рэю пришло в голову, что Core Wars — прекрасный инструмент для изучения эволюции. Тогда он создал Tierra, программу, моделировавшую целый мир, населённый самовоспроизводящимися программами, которые при самовоспроизведении могли совершать некоторые ошибки. Собственно говоря, таким образом моделировались генетические мутации, наблюдаемые в живой природе.
Когда клонировавшиеся программы заполняли предоставленный им объём памяти, они начинали перезаписывать уже существовавшие копии. Тут-то и началось нечто удивительное. Если оригинальная программа имела 80 строк кода, то через некоторое время Рэй обнаружил программы с 79 строками, потом 78. А вылилось всё в появление программы длиной 45 строк, которая избавилась от собственной инструкции на самовоспроизведение и заменила её более коротким фрагментом кода, позволявший отнимать инструкции самовоспроизведения у более длинных программ.
Т.е. получился компьютерный вирус — вот уж, право, венец эволюции.
Avida в определённой степени является духовным наследником Tierra, хотя и более сложным. Кроме того, Avidians не могут использовать код друг друга, что слегка повышает их жизнеподобие.
Один из участников проекта, Лора Грабовски — сотрудница Университета Пан-Американ в Техасе — создала внутри Avida своего рода «пищевой градиент», где с каждой следующей ячейкой увеличивалось количество «еды», доступной авидийцам. Закономерным образом первое поколение авидийцев располагалось в первой ячейке, где «пищи» было меньше всего.
Около 100 поколений авидийцы жили, воспроизводились и «умирали» внутри одной и той же ячейки. Затем у одного из поколений, в результате рекомбинации компьютерной «ДНК», выработалась инструкция двигаться вперёд — т.е. в следующую ячейку, где «еды» было побольше.