Что такое искусственная жизнь?
Создание моделей является чуть ли не главным инструментом познания. Платон создал утопическую модель идеального государства, а Эвклид — модель мира, в котором параллельные линии не пересекаются. Историки, излагая исторические факты, придерживаются своей модели, которая отражает их взгляды.
Компьютеры совершили переворот в процессе создания и познания моделей. Появилась возможность делать их всё более реальными и живыми. Разумеется, наибольшее развитие это получило в компьютерных играх. Стало возможно погружаться в эти миры, например, бегая по промышленной базе на Фобосе и расстреливая демонов из плазмагана.
Но, к сожалению, как правило, такие миры статичны и абсолютно предсказуемы. Их обитатели действуют по заданному шаблону, они оживают лишь с появлением протагониста. И поневоле возникает вопрос: а нельзя ли создать такой мир, чтобы его обитатели были совершенно независимы и непредсказуемы в своих действиях. Такой, чтобы в нём росли трава и деревья, жили животные. Именно жили: рождались, старились, нуждались в пище, воде и сне, взаимодействовали друг с другом, боролись за жизнь.
В играх давно пытаются приблизиться к этому идеалу. Мир «Космических рейнджеров» содержит массу авантюристов, не обращающих на протагониста большого внимания. В «Обливионе» обитатели спят, завтракают, работают, а то и дерутся, совершенно независимо от игрока. Хотя драки, как правило, заканчиваются тем, что в конце концов прибегают стражники, рубят всех смутьянов мечами и в нашей карманной вселенной воцаряется мир и спокойствие.
Такие миры можно создать с использованием «агентного моделирования». Это совсем новое направление в моделировании, появившееся в 90-х годах. Оно изучает правила и законы системы, состоящей из агентов. Агент — некая сущность, обладающая активностью и автономным поведением. В сети немало бесплатных систем, позволяющих создать свой маленький двухмерный мир, населённый активными существами, например, Starlogo. В комплекте с ним идёт ряд готовых примеров для запуска: мир, заселённый кроликами, поедающими траву, симуляция пробок на дорогах, симуляция распространения инфекции. С их помощью можно понять, как важен баланс и как легко его можно нарушить. Извлеките кроликов из среды на несколько секунд и поместите их обратно — произойдёт взрывной рост их популяции, а количество травы упадёт до минимума. Далее последует такое же взрывное уменьшение их числа и полное вымирание. Кролики не успевают дожить до того момента, когда их мир снова зазеленеет.
А что если задать агентам все свойства живых существ? Дать им возможность адаптироваться к условиям внешнего мира, размножаться и передавать свои характерные черты по наследству. При этом сделать окружающий мир жестоким, с минимальными шансами на выживание у плохо приспособленных особей. Тогда получится то, что называется «искусственной жизнью», или a-life.
Искусственная жизнь — это наука, занимающаяся изучением жизни, живых систем и их эволюции при помощи созданных человеком моделей. Эволюционное развитие при этом реализуется через генетический алгоритм. Появилась она совсем недавно — в 80-х годах прошлого века. Как правило, под искусственной жизнью подразумевают мягкую (soft), компьютерную жизнь.
Миры с такой жизнью часто поражают воображение. Например, создадим бесконечный океан, населенный комками биомассы. Комки не имеют разума и органов чувств, но способны передвигаться благодаря рефлекторным сокращениям. По достижении определённого возраста они могут поделиться надвое, потомки унаследуют форму и способности к передвижению (с небольшими мутациями). Хозяевами в океане являются быстрые, хищные акулы, которые едят всё, что поймают. Поначалу кажется, что биомасса может противопоставить хищникам только скорость размножения. Но уже через 100 поколений океан становится заполнен разнообразными видами червей, некоторые из которых могут посоревноваться с акулами в скорости. Подождём ещё несколько сотен поколений. Бесформенные комки протоплазмы исчезли — по океану снуют быстрые, торпедообразные рыбы, некоторые даже с плавниками. Акулы же переживают тяжёлые времена: в пищу им достаются только немногие, медлительные особи — следствие неудачных мутаций.
Дав беззащитной протоплазме всего лишь шанс на эволюцию, мы спасли её от вымирания.
Интересное замечание: в мире с неисчерпаемыми источниками энергии и пищи любая экосистема превращается в однородную массу виртуальных существ с одинаковыми характеристиками. Другими словами, в обществе реального изобилия развитие вообще становится невозможным. Вспоминается аналогичный опыт на дрозофилах: если дать мушкам идеальные условия для обитания, при которых будут выживать все потомки — вырождение начинается всего через несколько поколений. Так что рай и всеобщее процветание, похоже, недостижимы.
Сходу приходит на ум множество практических применений такой модели (например, создать истребитель идеальной формы, вырастить супер-игрока на бирже). Нужно лишь создать динамическую модель среды, населить её множеством разновидностей своего объекта и дать им пожить. Слабые особи будут отмирать, сильные — скрещиваться, закрепляя в новых поколениях свои лучшие черты. Через несколько тысяч поколений возникнет «цивилизация» практически неуязвимых особей, идеально приспособленных к заданному миру. Не факт, что эти существа будут соответствовать вашим представлениям о прекрасном (или вообще быть близки к чему-то ожидаемому). Но выживаемость решения, прошедшего жесточайший отбор, будет достаточной, чтобы противостоять любым действиям конкурентов.
Эту методику используют при моделировании многие представители большого бизнеса (в том числе Ford). Только вместо океана здесь мировой рынок, населённый акулами-конкурентами. А вместо биомассы — россыпь фирм. А ученые Университетского колледжа Лондона в 2004 году успешно применяли генетические алгоритмы для совершенствования гоночных машин «Формулы 1». Хромосомы компьютерных моделей автомобилей насчитывали 68 генов, модели постоянно проходили испытания на двух виртуальных маршрутах, пока лучшая «особь» не побила рекорды трасс.
Наконец, a-life позволяет изучать процессы эволюции, ведь в них таится немало загадок. Например, как в процессе развития мог возникнуть глаз — ведь недоразвитые «промежуточные» глаза крайне неэффективны.
Как известно, теория без возможности применения никому не нужна. Для практического использования доступны пакеты Evolver и GeneHunter. Ну, а «бедные студенты» могут поискать сайты, статьи и книги по генетическим алгоритмам и искусственной жизни.
На практике же эта технология может быть применена для решения задач по оптимизации. Например, фирма по сборке компьютеров, используя GeneHunter, сможет рассчитать, какие комплектующие нужно покупать для сборки компьютеров на максимальную сумму.
Тема искусственной жизни немало обыгрывалась в фантастике. Если в фильме «Матрица», или рассказе Пейджа Джералда «Счастливец» компьютерные симуляции используются для контроля над обществом, то в фильме «13 этаж» ставится вопрос об этичности создания искусственных миров. А всем известный «Терминатор» показывает опасность искусственной эволюции.
Увидеть миры, заселённые эволюционировавшими существами, можно здесь.