ОБЗОРЫ

Окончание. Начало см. PC Week/RE, N 3/ 2005, с. 26, N 4/2005, с. 32.

Инструментальные средства создания и исследования систем ИЖ

На схожих со SWARM принципах строится система Bayesian Inspired Brain and Artefacts (BIBA, www-biba.imag.fr) французского Института информатики и математических приложений. Средства нейронного самообучения позволяют по результатам экспериментов добиться рационального (близкого к оптимальному) поведения роботов в различных ситуациях реального мира при наличии ограниченной и неполной информации. Если, например, заяц пересекает поле, то ему необходимо уметь предсказывать вероятные события и оценивать, не прячется ли в траве хищник и стоит ли рисковать, забираясь в дальний огород за более вкусной капустой. Животные в условиях минимума информации делают это достаточно хорошо - значит, по силам подобные задачи и компьютерам. С помощью BIBA французы уже научили робота действовать в незнакомом помещении по принципам обычных муравьев, помечая маршруты возвращения искусственными метками, только вместо используемого насекомыми запаха робот оставляет на полу фишки.

BIBA-программы хорошо обучаются поведению человека-партнера, и еще одно приложение проекта - создание сильных искусственных соперников в компьютерных играх. Авторы BIBA заявляют, что могут быстро, за один день, научить систему самым разным принципам поведения - например, способу быстрой ловли собаками жертвы, а затем созданную модель задействовать для организации охраны реальных объектов. В перспективе ученые рассчитывают спроектировать автомобили с заложенными в них наборами инстинктов (автоматический объезд препятствий, сохранение безопасного расстояния и т. п.), что будет гарантировать их безаварийное передвижение. А в следующем десятилетии, полагают французские исследователи, наибольший эффект при создании разумных устройств дадут подходы, основанные на вероятностном логическом выводе.

В декабре 2004 г. снова заработал популярный проект PolyWorld (www.beanblossom.in.us/larryy/PolyWorld.html), представляющий собой трехмерную систему вычислительной экологии. Виртуальные организмы с нейронной сетью могут размножаться, охотиться, поедать друг друга и искать пищу, которая растет по своим законам. В ходе этой деятельности компьютерным животным приходится вырабатывать различные поведенческие стратегии, как индивидуальные, так и групповые, а пользователь может в любой момент эволюции занять позицию какого-либо существа и смотреть на виртуальный "мир" его глазами.

Миг, когда из хаоса внезапно рождаются упорядоченные структуры

Подобное сочетание науки и развлекательных элементов в ИЖ не редкость. На сайте проекта цифровой биологии (www.biota.org) можно полюбоваться картинками виртуальных существ, созданных с помощью самых разных технологий ИЖ, и поучаствовать в проектах типа Darwin@Home по объединению ресурсов простаивающих клиентских машин в сеть, рассчитывающую эволюцию сложных образований. На рисунках показано несколько примеров заложенной в основу проекта общедоступной программы Fluidiom, которой можно пользоваться и в одиночку (см. сайт fluidiom.sourceforge.net).

Одно из красивейших приложений, демонстрирующих эстетические возможности ИЖ, - программа GenePool3, виртуальный аквариум (www.ventrella.com/GenePool/gene_pool.html), в котором размножаются и эволюционируют причудливые создания, а если он поработает подольше, то в ходе развития и скрещивания могут возникнуть совсем удивительные существа.

Немало всевозможных искусственных зверюшек (птичек, медвежат), которые будут жить и развиваться на вашем ПК, а также приложения ИЖ для создания красивых изображений, комбинирующие технологии клеточных автоматов, фракталов, генетического развития и т. п., можно найти на сайте www.ventrella.com.

Другие известные системы и проекты ИЖ приведены в таблице.

Много интересных ссылок на алгоритмы и программы по тематике ИЖ можно также найти на следующих сайтах:

- международного сообщества исследователей ИЖ - alife.org;

- zooland.alife.org с подборкой проектов ИЖ;

- школы компьютерных наук Брандайского университета - www.cs.brandeis.edu/~zippy/alife-library.html ;

- лаборатории искусственных нейронных сетей японского института передовых научно-технологических исследований AIST - staff.aist.go.jp/utsugi-a/Lab/ Links.html;

- экономического факультета университета Айовы - www.econ.iastate.edu/tesfatsi/acecode.htm.

Три лучших проекта

При подготовке этой статьи я просмотрел несколько десятков различных приложений по созданию моделей ИЖ, и особенно хочется выделить три следующих проекта.

Эволюция с помощью Fluidiom

Эволюция с помощью Fluidiom

1. ISAAC/EINSTein. Интересующихся приложением идей ИЖ к теории игр отсылаю к разработке ISAAC/EINSTein (www.cna.org/isaac/), развиваемой при поддержке некоммерческой организации CNА (www.cna.org), спонсирующей высокотехнологичные проекты, и департамента морских исследований Пентагона (www.onr.navy.mil). Эта внушительная система представляет собой полноценный симулятор наземных сражений, в основу которого заложены достижения теории комплексных адаптивных систем.

Ресурсы искусственной жизни

Название

Сайт, авторы

Описание

Agent-Based Computational Economics (ACE)

Факультет экономики университета Айовы, США; www.econ.iastate.edu/tesfatsi/ace.htm

Проект изучения моделей экономического развития как формы динамического взаимодействия интеллектуальных агентов. Обновлен в январе 2005 г.

Ascape

Центр исследования социальных и экономических явлений, институт Брукинса, США; www.brookings.edu/es/dynamics/

models/ascape/default.htm

Java-среда моделирования и анализа поведения групп автономных агентов. Обновлялась в 2000 г.

Ecolab

Департамент высокопроизводительных вычислений университета Нового Южного Уэльса, Австралия; parallel.hpc.unsw.edu.au/rks/ecolab/

Система построения эволюционных моделей, которые создаются на С++, а поведение задается с помощью сценарного языка Tcl. Обновлена в ноябре 2004 г.

DDLab

Андрей Вьюнш, компания Discrete Dynamics Lab; www.ddlab.org

Система создания клеточных автоматов с многомерной логикой, использующая технологию случайных логических сетей. Обновлена в декабре 2004 г.

gLife

Али Абдин, Американский университет в Кайро, Египет; glife.sourceforge.net

Попытка применения технологий клеточных автоматов к социальным феноменам и антропологии. В дополнение к наборам правил развития в каждой модели можно задавать особенности местности, на которой происходит эволюция, и такие характеристики автоматов, как возраст, пол, культурные особенности и т.д. Обновлено в 2000 г.

Framsticks

Группа польских энтузиастов; www.frams.alife.pl

Мощная система трехмерного моделирования, имитирующая эволюцию особей в мире, напоминающем земной. При этом корректно реализованы понятия генотипа, физического организма, мозга и нервной системы (нейронные модели), цепочки восприятия (среда - рецепторы - мозг - эффекторы - среда) и общей экосистемы. Обновлена в августе 2004 г.

Ant Farm, Ant World

Роберто Матурана, Испания; www.geocities.com/chamonate/hormigas/antfarm/ ; Бен Бланделл, Великобритания; home.freeuk.com/ben.blundell/

Симуляторы поведения муравьев Ant Farm - один из лучших в этом классе по наглядности. Его коллега Ant World более сложный и менее красивый, но содержит немало настроечных параметров и средств анализа

Evolutionz

Дмитрий Маринакис, Филипп Канзл, Канада; www.evolutionz.ca

Трехмерная модель среды, в которой искусственные насекомые, управляемые нейронными сетями, конкурируют за пищевые ресурсы. Позволяет проводить эксперименты по созданию стабильной экосистемы путем манипулирования различными параметрами. За счет сложности среды каждый сеанс работы формирует уникальный мир и позволяет изучать оригинальные стратегии выживания.

Отличие данной программы от существующих моделей сражения заключается в оригинальном подходе к пониманию процесса взаимодействия на поле боя (не командное управление "сверху вниз", а эволюционное взаимодействие "снизу вверх"), так как важный феномен самоорганизации солдат известен давно, а вот в компьютерных моделях учитывается редко. Ведь боец на поле сражения не получает приказы непрерывно, поэтому боевое пространство в экстремальных условиях конфликта ближе к децентрализованной экологической системе, где каждому участнику приходится постоянно принимать множество критически важных решений, связанных с выживанием.

EINSTein наглядно демонстрирует, как в ходе сражения его отдельные рядовые участники самоорганизуются в динамические структуры с эффективным поведением и самоуправлением, хаотические наборы тактических приказов постепенно выстраиваются в единую упорядоченную стратегию, а армии начинают самостоятельно адаптироваться к меняющимся условиям боя. В системе задействованы генетические алгоритмы, нейронные сети, технологии самообучения автономных агентов и распознавания поведенческих шаблонов, встроены средства двух- и трехмерной визуализации и анализа собранных данных, имеется редактор простых и трехмерных ландшафтов, на которых разворачивается бой. Пользователю доступно множество настроек, задающих особенности конкретного сражения, возможности используемого оружия, нюансы поведения бойцов и т. д., а описание каждой модели конфликта хранится, что особенно удобно, в текстовом виде.

2. Webots. Из коммерческих систем стоит отметить пакет "Веботы" (www.cyberbotics.com/products/webots/index.html) фирмы Cyberbotics (дочерняя организация швейцарского федерального технологического института EPFL в Луизиане), используемый 200 научными центрами по всему миру. Он предназначен для проектирования роботов и обучения робототехнике, компьютерному моделированию, программированию систем искусственного интеллекта, машинного зрения и т. д. Этот пакет стоимостью около 2 тыс. евро включает все необходимые средства создания моделей мобильных роботов, программирования их логики (как индивидуальной, так и групповой), изучения поведения в трехмерных средах и последующего переноса на аппаратную платформу. Можно установить на виртуальной модели разнообразные датчики и манипуляторы, провести все необходимые испытания на компьютере с возможностью ускорения процесса в сотни раз или отладки по шагам и потом загрузить наработки в бортовую систему конкретного робота.       

Модели роботов играют в футбол

В пакете поддерживается большое число стандартных периферийных устройств - инфракрасные, ультразвуковые, лазерные, световые, сенсорные датчики, GPS-приемники, компасы, видеокамеры, средства позиционирования, управления колесами, двигателем, сервомоторами рук, ног, клешней, устройствами радиосвязи, индикаторами, лампочками и т. д. С помощью пакета создавалась модель шагающего робота AIBO, а также различные аппараты на базе платформ Hemisson, Lego, Mindstorms, Khepera, Koala и др. В поставке есть примеры проектов ИЖ на основе моделей роботов.

Разработчику доступен редактор виртуальных пространств (на платформе OpenGL), средства проектирования и программирования группового поведения (при желании управляемого централизованно через супервизор) с поддержкой локальной и глобальной связи по протоколу TCP/IP. Процесс моделирования можно сохранить в мультимедийном формате (анимационные ролики, сценарии VRML97), что позволяет делать красивые презентации.

Программирование поведения созданных в пакете "веботов" осуществляется на Си или Java, причем довольно легко - достаточно нескольких десятков строк кода для задания весьма сложного поведения (Этот процесс немногим сложнее, например, программирования виртуальных боевых роботов в играх типа "C Robots"; www.gamerz.net/c++robots/). При желании с помощью данного продукта можно написать собственный кросс-компилятор для полностью оригинального в аппаратном и программном планах робота - колесного, шагающего, летающего. Допускается подключение приложений и на других языках, например Лиспе, а также созданных с применением внешних пакетов MatLab, LabView и т. д.

Доступная на сайте демоверсия представляет собой полнофункциональный вариант "веботов", в ней только заблокированы средства загрузки полученных моделей в физические аппараты.

3. Cafun. Лучшей же по наглядности и простоте из всех свободно доступных программ данного направления мне показалась Cafun (www.cafun.de), позволяющая на базе технологий ИЖ разрабатывать модели сложных систем. С помощью цифровых автоматов имитируется поведение живых созданий, социальных групп, коммерческих фирм, химических структур, природных явлений и физических процессов.

Все модели Cafun базируются на трех принципах: композиция системы из множества элементов с индивидуальными характеристиками (клеток, молекул); децентрализованное развитие, когда свойства и поведение каждого элемента зависят только от его локального окружения и собственной истории (ограниченного объема информации); параллельное функционирование модели, когда все взаимодействия между всеми элементами исполняются одновременно, за один такт. А результирующее поведение такой системы наглядно демонстрирует постулат: "Целое есть нечто большее, нежели просто сумма всех его частей". Cafun удобна при изучении принципов самоорганизации, понимания, что для этого необходимо и какими будут результаты подобного процесса.

В отличие от классических методов построения клеточных автоматов заложенные в Cafun идеи гораздо мощнее. Каждый элемент характеризуется оригинальным, отличным от других набором состояний (своего рода индивидуальностью, что позволяет, в частности, создавать модели конфликтов с несколькими противоборствующими сторонами) и может развиваться не только по общим и универсальным правилам, но и по своим собственным законам. Причем любой элемент способен со временем менять как эти правила (мутация), так и местонахождение в пространстве (диффузия). Кроме того, Cafun расширена вероятностными параметрами взаимодействия с окружением и перехода между состояниями, а также выбором в зависимости от контекста разных наборов правил для каждого элемента.

Структура модели описывается так называемым геномом, который хранится в текстовом XML-виде и может редактироваться, например, в специализированном Cafun-редакторе, где он представлен в виде дерева.

Cafun целиком написана на Java и отличается приятным дизайном и удобными средствами сбора статистики, хотя управление ею не совсем очевидно: набор небольших квадратиков без подписей на главной панели, на первый взгляд воспринимающихся как декоративные элементы, оказался серией основных кнопок запуска и пошагового выполнения модели и вызова редактора и настроек.

В поставку программы включено немало экспериментальных структур (геномов), демонстрирующих возможности системы в моделировании биологических систем (от одноклеточных микроорганизмов до лесов), природных и физических явлений, химических реакций, потоков частиц, распространения пожаров и др.

Например, модель Ameoba объясняет, как естественным путем происходит рост и размножение амеб, а примеры Threads, Cork, Chipset показывают, как хаотический и случайный набор элементов за несколько сотен поколений самоорганизуется, а затем происходит когда постепенное, а когда и революционное изменение, и подчас за считанные такты (иногда, правда, и за десятки тысяч поколений) модель превращается в гармоничную упорядоченную структуру, состоящую из элементов более высокого концептуального уровня.

Данная система Cafun будет, без сомнения, интересна любому исследователю ИЖ.

Версия для печати