Сергей Бобровский Искусственная жизнь (ИЖ, ALife) как отдельное научное направление выделилось из теории искусственного интеллекта (ИИ) в 80-х гг. прошлого века, когда состоялась первая Международная конференция ALife I (1989 г., Лос-Аламос). Вскоре за ней последовали Европейская конференция по искусственной жизни и Международная конференция по моделированию адаптивного поведения (обе –1991 г., Париж). Тематика первых мероприятий затрагивала темы, как теперь выражаются, «мягкой» (soft) ИЖ – создание вычислительных систем и моделей, действующих на базе биологических и эволюционных принципов. В последние же годы, во многом в связи с развитием нанотехнологических дисциплин и молекулярной биологии, а также благодаря возросшему пониманию назначения отдельных генов и способов их взаимодействия и появлению средств манипуляции отдельными молекулами, существенное внимание стало уделяться новой концепции «влажной» (damp) ИЖ – созданию новых, искусственно синтезированных биологических форм, что требует философского обоснования ИЖ и, как минимум, определения понятия «жизнь» (что же вообще понимать под этим словом). В соответствии со спецификой нашего издания мы рассмотрим «мягкую» форму ИЖ.
Одной из главных задач ИЖ считается создание искусственных существ, способных действовать не менее эффективно, нежели живые организмы[1]. Только способы достижения этой цели существенно отличаются от общепринятых в практике ИИ, где задействованы самые разные инженерные технологии и математические концепции (выбираемые фактически бессистемно), характеризующиеся тем не менее достаточно четкими и прозрачными причинно-следственными связями между исходными данными экспериментов и результирующим поведением моделируемых объектов. Так, чаще всего действия роботов основываются на системах логического вывода, выполняющих известные манипуляции с наборами фактов и правил. Нейронные сети, результат работы которых менее предсказуем, находятся на стыке ИИ и ИЖ и активно задействованы представителями каждого из этих направлений, а вот такая технология, как генетические алгоритмы, сегодня по праву считается полноценной вотчиной ИЖ. Общепринятые же традиционные подходы, базирующиеся на компьютерной архитектуре фон Неймана и вычислительной концепции Тьюринга (хранимые в памяти и не модифицируемые программы, выполняемые последовательно), в ИЖ особой популярностью не пользуются. Пожалуй, главное отличие ИЖ от других сфер ИИ заключается в стремлении не просто добиться поведенческого сходства искусственных существ с биологическими, а достичь этого с помощью естественных, природных, эволюционных подходов. Тем самым не только достигается прагматический результат, но и появляется шанс познавать базовые принципы функционирования и развития живых существ «изнутри». На такой основе и намечается переход от «мягкой» сферы исследований к «влажной» – искусственному созданию биологической жизни эволюционным путем «снизу вверх». Поэтому закрытые решения, пусть и позволяющие добиться высокой эффективности действий робота или моделируемого объекта, в классических проектах ИЖ обычно не применяются и не представляют ценности, если не содержат информацию, помогающую познать реальный мир через познание самой модели. Хотя, конечно, далеко не все исследователи, занимающиеся проблемами сферы ИЖ, стремятся к глубокому познанию реальности. Многих интересуют конкретные прикладные результаты, и хорошее соответствие действий искусственных и естественных существ уже само по себе может служить научным инструментом (за счет предсказания поведения). Поэтому значительная область ИЖ охватывает вопросы построения систем эволюционного, самоорганизующегося, масштабируемого, адаптивного поведения, основанных на биологических принципах. Ведь немалое число практических проблем невозможно решить точными математическими методами по самым разным причинам (неполнота исходных сведений, большое число конкурентов и противников, высокие размерность задачи и динамика действий в среде). Поэтому нередко проще смоделировать процесс развития некоторой ситуации, нежели пытаться сразу вычислить точный ответ. Шахматы, например, характеризуются простыми правилами и ограниченными возможностями для маневра, но все сильные компьютерные программы просто моделируют развитие позиции на несколько ходов вперед и оценивают уже готовые расстановки фигур. Определить же последствия тех или иных действий математически, не перебирая варианты, пока никому не удается даже в такой внешне прозрачной и полностью формализованной игре.
По этим причинам существенное внимание в ИЖ уделяется упомянутым генетическим алгоритмам (ГА), неплохо имитирующим эволюционные механизмы. Родоначальником ГА считается Джон Холланд, выпустивший в 1975 г. книгу «Адаптация в природных и искусственных системах»[2]. В теории ГА рассматриваются искусственные объекты (на практике это чаще всего компьютерные модели, используемые из-за простоты реализации), способные: а) адаптироваться к меняющимся условиям внешней среды и конкурировать за ресурсы; б) накапливать знания об этой среде и обмениваться ими, комбинируя выработанные способности по определенным схемам (например, получая готовые навыки по наследству в виде комбинации генов родителей); в) мутировать под влиянием определенных воздействий или случайно (в генах происходят изменения).
Хромосомы (наборы генов) каждой виртуальной особи представляют собой определенный вариант решения поставленной задачи. Каждая хромосома может быть оценена некоторой функцией, с помощью которой вырабатывается степень соответствия варианта решения нуждам заказчика. Так, если решается задача многокритериальной оптимизации, то каждый ген хромосомы соответствует значению определенного критерия, и по набору этих значений выдается результат целевой функции[3].
Далее начинается процесс взаимодействия и развития объектов в среде: в процессе спаривания они порождают новых особей с другими комбинациями генов (значений критериев); более приспособленные (с большим значением функции оценки) продолжают существование, у некоторых из них хромосомы случайно меняются (мутируют – изменяется вариант решения), а менее приспособленные погибают. Такое взаимодействие продолжается сотни и тысячи поколений[4], и развившиеся в процессе эволюции особи обычно определяют весьма успешные варианты решения исходной задачи (точность найденного решения достигает в среднем 80–90% от теоретически возможного). Чаще всего ГА дают эффект в неопределенных ситуациях, где существует несколько достаточно хороших, хотя и неочевидных решений, а другие методы поиска ответов оказываются непригодны или малоэффективны. Помимо этого, такие алгоритмы неплохо формируют шаблоны успешного поведения, так как хромосомы выживших в процессе эволюции созданий хранят, по сути, коллективный опыт многих поколений.
Ну и, конечно, ГА не гарантируют ответ, а предложенный вариант сильно зависит от мастерства постановщика задачи (насколько корректно ему удалось закодировать форму решения в терминах ГА, описать ее в виде виртуальных хромосом). А если функция оценки не учитывает, скажем, степень допустимого риска, то ГА, при оптимизации, например, стратегии игры на бирже в конечном итоге может просто предложить сохранить исходный капитал, ничего не делая и ничем не рискуя. Поэтому растет востребованность средств динамического контроля за ходом эволюции и эффективной передачи важных знаний, пока практически не проработанных. Кроме того, генетические алгоритмы обычно требуют немалых ресурсов, поэтому предпринимаются попытки переноса ГА в распределенную вычислительную среду, благо генетические модели это позволяют. Хороши же ГА прежде всего тем, что их можно быстро применить к произвольной предметной области и даже при наличии ограниченных вычислительных и интеллектуальных ресурсов получить хорошие результаты, недостижимые другими способами.
Так, в январе 2005 г. программист Джейк Мойланен разработал библиотеку (kerneltrap.org/node/4493/) настройки ядра Linux 2.6.9, оптимизирующую деятельность планировщиков ввода-вывода и загрузки процессора и позволяющую достичь максимально возможной производительности ОС. Для этого он использовал ГА, с помощью которых планировщики совершенствуют сами себя. А ученые Университетского колледжа Лондона в 2004 г. успешно применяли генетические алгоритмы для совершенствования гоночных машин «Формулы 1». Хромосомы компьютерных моделей автомобилей насчитывали 68 генов, и модели, развиваясь в процессе искусственной эволюции, скрещиваясь и мутируя, постоянно проходили испытания на двух виртуальных маршрутах, пока лучшая «особь» не побила рекорды трасс. ГА также оказались полезны при выработке стратегий ведения гонок и проектирования отдельных компонентов машин.
Большое внимание в ИЖ уделяется клеточным автоматам (общеизвестна игра «Жизнь» Джона Конвея, профессора Принстонского университета, и ее многочисленные модификации[5], с помощью которых удается, используя набор небольшого числа простых правил, моделировать крайне сложное и разнообразное поведение. Автоматы составляются дискретными комбинациями нескольких клеток (чаще всего на плоскости, хотя существуют и многомерные варианты; каждая клетка может находиться в нескольких состояниях). Взаимодействие (размножение и гибель) соседних клеток задается определенными законами, обычно в зависимости от ближайшего окружения, после чего клеточные конфигурации начинают развиваться, а каждое поколение формируется на основе предыдущей комбинации. Применяются клеточные автоматы при исследовании процессов движения жидкостей и газов, состоящих из простейших однородных частиц, в системах распознавания образов, в самых разных задачах моделирования.
Конечно, и нейронные сети, в определенной степени, видимо, соответствующие принципам работы мозга, пользуются у исследователей ИЖ заслуженной и неизменной популярностью, причем интересны не только результаты их работы, но и принципы внутреннего развития таких сетей. Занимаясь исследованиями генетических алгоритмов, клеточных автоматов, автономных агентов, эволюционных механизмов развития, ученые рассчитывают лучше понять принципы мышления и реагирования человека и животных. Возможно, появится детальное понимание процесса развития одноклеточных организмов в многоклеточные, способа организации нейронов в сложные структуры мозга, а главное, есть вероятность того, что удастся создать устойчиво работающие распределенные самоорганизующиеся системы. Не исключено, что важные результаты в этой области принесет закрытый проект Autonomous Cognitive Model (ACM) фирмы Artificial Development (ad.com). Летом 2004 г. она приступила к работам по созданию искусственной личности Kjell, в ходе которых будет смоделирована деятельность подкорки и ряда периферийных систем человеческого мозга (в первую очередь областей, ответственных за анализ и понимание изображения и звука). Пока Kjell обучается текстовому общению через консоль с помощью классических методов стимул–реакция. В будущем подготовленные ACM-системы смогут применяться в задачах анализа данных, интеллектуального поиска информации, обработки естественных языков. В проекте задействован ориентированный на нейронное моделирование Linux-кластер CCortex, составленный из 1000 процессоров, ОЗУ объемом 1 Тб и жесткого диска емкостью 200 Тб. Kjell насчитывает 20 млрд. нейронов, между которыми установлено 20 трлн. связей – такая сеть в 10 тыс. раз крупнее существующих нейронных моделей. В последние годы на международных конференциях все чаще обсуждаются вопросы конструирования масштабных адаптивных решений, а на системах интеллектуальных агентов успешно отрабатываются социальные концепции и методы управления большими группами людей. Австралийские ученые выяснили, например, что социальное взаимодействие в современном мире хорошо описывается моделями поведения насекомых, выполняющих несложный набор определенных функций и стремящихся к удовлетворению известных потребностей. А их коллеги из английского Университета Лидс, исследуя принципы имитационного обучения («делай как я»), установили, что внешнее подражание поведению «лидера» далеко не всегда дает эффект, если не учитываются индивидуальные особенности конкретного существа и влияние его окружения. Гораздо более результативны принципы так называемого социального обучения, когда каждый ученик рассматривается с учетом всех его связей с окружающим миром.
На базе большого числа успешных практических решений и проектов ИЖ выработано понимание и ограничений классических положений эволюционной теории, концепция генотипа и фенотипа (статичности и изменчивости) в которой урезана уровнем биологических систем. Однако эволюция не сводится только к генетическим манипуляциям и мутациям отдельных индивидуумов и вершится, как предполагается, на более глобальных уровнях. Надо понимать и учитывать связь и различие эволюции как физических тел, так и психической, нервной, а также коллективной деятельности. Возможно, что такие феномены, как эффект Болдуина[6], будут с помощью достижений ИЖ со временем обобщены и распространены на социальное поведение.
Другое дело, что сама по себе эволюция вряд ли имеет определенную цель (так как никем и ничем не управляется и представляет скорее универсальный процесс и закон развития) и не ведет напрямую к усилению конкуренции или избирательности отдельных особей и видов: повышение выживаемости живых существ – лишь побочный эффект единого глобального процесса развития, принципы которого и пытаются познать специалисты по ИЖ. Поэтому если в ходе теоретических обсуждений и практических экспериментов удастся выработать серьезный философский фундамент[7] эволюционной идеи, то выводы и следствия из него будут очень занимательными.
Ведь ученые давно пытаются понять, как сложные системы развивают сами себя, переходя на более высокий функциональный уровень[8]. Интересно, что путь к более развитому состоянию чаще всего начинается не из режима повышенной стабильности, а с границы между порядком и хаосом[9]. Возможно, в понимании подобных процессов и кроется тайна эволюции, которая не обязательно совершается плавно, постепенно. Так, хотя Дарвин и выдвигал тезисы в защиту эволюционного появления в ходе естественного отбора таких сложных органов, как глаз, но все же признавал, что их постепенная эволюция маловероятна, потому что организмы с недоразвитыми «промежуточными» глазами, своеобразной обузой, быстро бы погибали[10]. Впрочем, далее будет показано, как даже несложные правила коллективного развития могут приводить к феноменальному возникновению новых упорядоченных сущностей более высоких и сложных смысловых порядков, причем фактически «революционным», резким путем, за считанные поколения.
Наиболее популярные международные конференции по вопросам ИЖ – это International Conference on Artificial Life, проходящая раз в два года (очередная, юбилейная ALife X пройдет в 2006 г.; см. alife.org), и организуемая с такой же частотой ее европейская сестра – European Conference on Artificial Life (состоится в сентябре нынешнего года). Тематика этих конференций уже много лет остается весьма пестрой. Специалисты обсуждают все, что прямо или косвенно имеет отношение к эволюционному развитию и может быть реализовано искусственно: эволюция и самовосстановление аппаратных систем, оптимизация группового поведения роботов, самовоспроизведение в дискретных и непрерывных системах, тенденции развития естественных языков и социумов и т. п. Постоянно обсуждаются и всевозможные прикладные исследовательские проекты – создание средств многомерного анализа информации с помощью самообучающихся агентов, моделирование поведения рыб, функционирования магазинов и развития паники в зданиях (для оптимизации схем эвакуации) или, например, применение технологий выявления характерных признаков деятельности планетарной биосферы для поиска иных цивилизаций и обнаружения искусственно сгенерированных сигналов из космоса.
Однако профессиональный глубокий научный анализ эволюции живых систем подразумевает прежде всего выработку способов формального описания соответствующих задач, семантики и правил взаимодействия элементов ИЖ, определения минимальных требований для успешного развития биологической системы, универсальных и стандартизованных средств и методов моделирования. Сфера ИЖ постепенно приближается к новому этапу развития, стремясь к согласованному принятию единых правил и стандартов и тем самым оптимизируя и упорядочивая собственную деятельность[11].
Так, Еврокомиссия, финансирующая европейскую сеть социально-информационных проектов IST Programme (http://www.cordis.lu/ist/), открывает весной новое направление – моделирование феноменов слияния в комплексных системах (http://www.cordis.lu/ist/fet/co.htm). Оно охватит вопросы моделирования жизни (деятельность клеток на молекулярном уровне) и социальных систем (где взаимодействие автономных агентов стало модным осуществлять через обмен символическими сообщениями на естественных языках), а также способы применения этих моделей в задачах проектирования и управления. Ученым придется выработать методы создания и проверки качества моделей для прикладных научно-технических и социальных проектов, определить средства измерения их эффективности, а также подготовить соответствующие стандарты. Так как модель сложной системы обычно представляет собой иерархию подсистем, каждая из которых в свою очередь может реализовываться достаточно масштабной моделью, а все они взаимодействуют друг с другом на компьютере, рекомендовано построить универсальную математическую модель аппаратной и операционной исполнительной среды, чтобы учитывать ее ограничения и вносимые погрешности.
Предпринимаются усилия по формализации процессов слияния разрозненных направлений ИЖ (благо сегодня уже не представляют редкость, например, нейронные сети, контролирующие эволюцию автономных агентов), на стыке которых возникают подчас самые удивительные феномены[12]. Технологии создания виртуальной реальности, цифровые игрушки нового поколения, способные развиваться и «жить» (общеизвестна популярность японских тамагочи) – отдельная сфера ИЖ, заслуживающая особого рассмотрения. Не остаются без внимания на конференциях социальные и этические аспекты ИЖ[13].
Продолжается оптимизация уже хорошо известных технологий ИЖ (в частности, классического пакета Tierra), уточнение и развитие отдельных методологий, поиск подходящих прикладных сфер применения наработанных исследований, решение возникающих в практических проектах проблем. Так, хорошо известны сложности взаимодействия исполнителя и слабо знакомого с ИТ заказчика и трудность в объяснении компьютеру терминологии прикладной области, ее перевода на язык машины. Эта проблема выявилась при попытках задействовать алгоритмы автоматической сборки многоуровневых иерархических структур в проектах автоматизированного строительства современных зданий, когда потребовалось объяснить компьютеру тысячи строительных норм и правил. К решению подобных задач планируется привлечь создателей моделей развития естественных языков, которые на коллективах виртуальных существ изучают, каким образом децентрализованно, в случайных попытках обмена знаниями зарождаются методы полноценного общения между особями, как формируется семантика и грамматика естественных языков, как вырабатывается понимание смысла посланий. Но основное внимание на конференциях уделяется, конечно, вопросам эволюционного развития, самоорганизации, моделирования групповой активности. Растет интерес к моделированию функций связи в системах коллективного поведения, что открывает новые возможности оптимизации глобальных телекоммуникационных комплексов. Тема самоконструирования стимулирует появление нетрадиционных концепций программирования, когда исходный код автоматически модифицируется и подстраивается под требования проекта, которые могут со временем изменяться, а самообучающаяся система при этом автоматически накапливает и обобщает проектный опыт. На конференциях «отпочковываются» тематические группы, обсуждающие эффективные способы эксплуатации датчиков автономных устройств, ведь чем миниатюрнее электронные компоненты, тем большее их число можно устанавливать на роботах. Бортовая аппаратура – единственный способ познания мира автономными устройствами, поэтому им необходимо учиться результативно и целенаправленно использовать возможности датчиков, формирующих всё большие объемы «сырых» данных, ведь быстро разобраться в них совсем не просто. Повышенное внимание в таких группах уделяется молекулярным датчикам, способным определять вещество, из которого состоят окружающие предметы, и тем самым более точно понимать структуру внешнего мира.
Правда, датчики – вещь хотя и полезная, но не самая необходимая. Исследователи университета Сассекса (г. Брайтон, Великобритания), экспериментируя с искусственной эволюцией нейронных сетей, ставили роботов в исходно усложненные ситуации, оборудуя их только инфракрасными датчиками, и тем не менее аппараты научились рациональному групповому поведению и организованному передвижению[14]. Схожих результатов добились и специалисты Швейцарского института системной инженерии. Они снабдили крохотных роботов, каждый из которых умещается на десяти квадратных сантиметрах, дешевыми микропроцессорами, минимальным объемом ОЗУ и слабым источником энергии, научив их подходам ИЖ, и те уверенно выбираются из запутанных лабиринтов. Поэтому аппаратные ресурсы – важная, но отнюдь не самая главная составляющая успешного поведения.
Отдельная крупная область ИЖ – так называемая искусственная (синтетическая, эволюционная) химия, возникшая, по всей видимости, в ответ на потребности нанотехнологов. Она занимается вопросами молекулярной сборки самоорганизующихся, самособирающихся, самовоспроизводящихся и самовосстанавливающихся устройств, построением биологических ДНК-машин, исследованием биохимии клеток, стыковкой наноустройств с цифровой аппаратурой и т. д. Кстати, среди разработчиков ИЖ не прекращаются споры о возможности построения интеллектуальных объектов, которые смогут конструировать системы более сложные, чем они сами (не по готовому алгоритму, а самостоятельно, как выдающиеся инженеры делают изобретения и открытия). К этой же области синтетической химии относится теория аморфных вычислений (использование сетей химических реакторов как вычислителей, где аналоговый результат формируется в ходе взаимодействия химических процессов) и другие приложения нетрадиционной логики и нелинейных цифровых автоматов. Интересно, что химики-эволюционисты активно интересуются приемами построения механических вычислителей – устройств, создававшихся десятки и сотни лет назад. После того как на смену таким машинкам пришла цифровая техника, они оказались полностью забыты, однако неожиданное на первый взгляд второе рождение простейшим счетным устройствам дали нанотехнологии. Появилась возможность использовать молекулы как элементы счетных устройств, а взаимодействие между ними можно с определенной долей условности считать механическим или аналоговым. Поэтому конструирование из молекул аппаратов наподобие арифмометров может оказаться крайне продуктивным решением при создании молекулярных компьютеров.
В Сети можно найти самое разное ПО, интересное и полезное исследователям ИЖ. Правда, почти все такие программы, отличаясь хорошими функциональными возможностями, предлагают бедные и невыразительные средства визуализации процесса моделирования и отображения результатов, отличаются запутанным пользовательским интерфейсом и сложностью настроек. Кроме того, вследствие определенного консерватизма научных кругов, опасающихся проводить серьезные эксперименты на малоизученных приложениях, в десятках проектов уже много лет эксплуатируются старые программы с интерфейсом командной строки и выдачей результатов в виде текстового файла. А современные 3D-системы, представляющие процесс эволюции на экране в виде трехмерных сцен приличного качества, пока очень слабо задействованы в реальных исследованиях.
Одна из наиболее популярных у специалистов по ИЖ систем – это Tierra (http://www.his.atr.jp/~ray/tierra/; доступны исходные тексты на Си), последняя версия которой 6.02 вышла в марте 2004 г. Она была разработана Томасом Рэем из Оклахомского университета и представляет собой виртуальный компьютер, исполняющий программы, написанные на условном ассемблере. Код программы считается ее своеобразным генотипом. Программы в ходе функционирования взаимодействуют друг с другом, размножаются и эволюционируют – части кода программы могут изменяться случайно (мутировать), а некоторые его элементы могут быть заменены на другие, взятые у «коллег». Таким несложным образом удается смоделировать и затем изучить самые разные особенности процесса эволюции. Возможно, что успеху Tierra послужило наличие встроенных функций статистического анализа, позволяющих подробно исследовать результаты моделирования.
Было создано несколько клонов и аналогов Tierra, отличавшихся весьма выразительными средствами представления процесса эволюции (например, Helix, necrobones.com/alife/helix.htm), однако и по сей день Tierra остается самым проверенным решением для желающих экспериментировать с взаимодействием самовоспроизводящихся программ. Заложенные в нее идеи были существенно развиты и дополнены в системе Avida (dllab.caltech.edu/avida/), которая применяется в задачах эволюционной динамики и теоретической биологии и отличается более удобным графическим интерфейсом.
Немало сильных сторон Tierra воплощено в мощной Java-системе Archis: An Extendable Platform for Artificial Life Simulation (http://www.generalnegentropics.com/archis/), свободно доступной в исходных текстах, которая также моделирует взаимодействие компьютерных программ. Она выполнена в открытой и гибкой серверной архитектуре, масштабируемой на 64-разрядные кластеры, и позволяет наращивать функциональность через подключаемые модули. Ее автор, Адам Иерейменко, ухитрялся, например, отлаживать и совершенствовать Archis эволюционным путем с помощью ее собственных предварительных версий, и добился интересных следствий. Так, некоторые ошибки в Archis приводили к появлению в моделях неконтролируемых и неисчерпаемых источников энергии и пищи, и оказалось, что при наличии таких источников практически любая экосистема очень быстро превращается в однородную массу виртуальных существ с одинаковыми характеристиками, равномерно заполняющих все доступное пространство (здесь прослеживается сходство с нанотехнологической концепцией «серой слизи»[15]). Другими словами, в обществе реального изобилия развитие вообще становится невозможным.
Эволюция с помощью Fluidiom
Еще одна широко известная система ИЖ называется SWARM (wiki.swarm.org). Она была создана в центре изучения комплексных систем Мичиганского университета, последняя версия 2.1.1 обновлялась в 2000 г. SWARM позволяет моделировать поведение сложных систем, состоящих из множества автономных агентов с разнообразными характеристиками. В качестве сценарного языка, задающего схему реагирования агентов, применяется Лисп. Типичные примеры, входящие в поставку SWARM, объясняют как быстро создать мир, в котором функционируют существа, потребляющие и выделяющие тепло, и как они оптимизируют свое поведение, собираясь в группы и делясь теплом друг с другом (Heatbug), или как построить пространство заряженных мячиками триггеров, срабатывание любого из которых вызывает цепную реакцию (Mousetrap). На базе SWARM были реализованы десятки прикладных исследовательских работ из самых разных областей. Известны проекты моделирования экосистем Gecko, роста бактерий и их популяций BacSim и Metabolizing Agents, поведения насекомых на базе нейронных сетей Bugverse и т. д. На ежегодных SWARM-фестивалях заслушиваются доклады по экономике, политике, географии, военным приложениям и экологии. Интересно, что с помощью SWARM неоднократно показывалась схожесть биологических и социальных систем, которые развиваются по одинаковым законам и характеризуются близким адаптивным поведением. А на фестивале SwarmFest 2004 демонстрировалась модель террористической деятельности, которую можно понять и изучить не на уровне поведения отдельной личности, а на уровне группы преступников как целого, в виде комплексного социального феномена. Сети интеллектуальных агентов наподобие SWARM, как показывает практика, дают неплохой результат в ситуациях, когда детальная информация по нужному вопросу отсутствует, а поведение отдельной структуры на первый взгляд хаотично. Классические системы анализа по типу «что, если» в таких случаях не срабатывают, а вот эволюционные модели приносят заметную пользу.
На схожих с SWARM принципах строится система Bayesian Inspired Brain and Artefacts (BIBA, www-biba.imag.fr) французского Института информатики и математических приложений. Средства нейронного самообучения позволяют по результатам экспериментов добиться рационального (близкого к оптимальному) поведения роботов в различных ситуациях реального мира при наличии ограниченной и неполной информации. Если, например, заяц пересекает поле, то ему необходимо уметь предсказывать вероятные события и оценивать, не прячется ли в траве хищник и стоит ли рисковать, забираясь в дальний огород за более вкусной капустой. Животные в условиях минимума информации делают это достаточно хорошо – значит, по силам подобные задачи и компьютерам. С помощью BIBA французы уже научили робота действовать в незнакомом помещении по принципам обычных муравьев, помечая маршруты возвращения искусственными метками, только вместо используемого насекомыми запаха робот оставляет на полу фишки.
Миг, когда из хаоса внезапно рождаются упорядоченные структуры
BIBA-программы хорошо обучаются поведению человека-партнера, и еще одно приложение проекта – создание сильных искусственных соперников в компьютерных играх. Авторы BIBA заявляют, что могут быстро, за один день научить систему самым разным принципам поведения – например, способу быстрой ловли собаками жертвы, а затем созданную модель задействовать для организации охраны реальных объектов. В перспективе ученые рассчитывают спроектировать автомобили с заложенными в них наборами инстинктов (автоматический объезд препятствий, сохранение безопасного расстояния и т. п.), что будет гарантировать их безаварийное передвижение. А в следующем десятилетии, полагают французские исследователи, наибольший эффект при создании разумных устройств дадут подходы, основанные на вероятностном логическом выводе.
В декабре 2004 г. снова заработал популярный проект PolyWorld (http://www.beanblossom.in.us/larryy/PolyWorld.html), представляющий собой трехмерную систему вычислительной экологии. Виртуальные организмы с нейронной сетью могут размножаться, охотиться, поедать друг друга и искать пищу, которая растет по своим законам. В ходе этой деятельности компьютерным животным приходится вырабатывать различные поведенческие стратегии, как индивидуальные, так и групповые, а пользователь может в любой момент эволюции занять позицию какого-либо существа и смотреть на виртуальный «мир» его глазами.
Подобное сочетание науки и развлекательных элементов в ИЖ не редкость. На сайте проекта цифровой биологии (http://www.biota.org/) можно полюбоваться картинками виртуальных существ, созданных с помощью самых разных технологий ИЖ, и поучаствовать в проектах типа Darwin@Home по объединению ресурсов простаивающих клиентских машин в сеть, рассчитывающую эволюцию сложных образований. На рисунках показано несколько примеров заложенной в основу проекта общедоступной программы Fluidiom, которой можно пользоваться и в одиночку (см. сайт fluidiom.sourceforge.net).
Одно из красивейших приложений, демонстрирующих эстетические возможности ИЖ, – программа GenePool3, виртуальный аквариум (http://www.ventrella.com/GenePool/gene_pool.html), в котором размножаются и эволюционируют причудливые создания, а если он поработает подольше, то в ходе развития и скрещивания могут возникнуть совсем удивительные существа.
Немало всевозможных искусственных зверюшек (птичек, медвежат), которые будут жить и развиваться на вашем ПК, а также приложения ИЖ для создания красивых изображений, комбинирующие технологии клеточных автоматов, фракталов, генетического развития и т. п., можно найти на сайте http://www.ventrella