Две большие кошки вышли из-за скал, легко перепрыгивая валуны. Их называли Лазанскими тиграми, выведенными специально и привезенными сюда, на планету Салуза Вторая, почти 8 тысяч лет назад. Генетические манипуляции, произведенные с древней Терранской породой, стерли некоторые природные черты и усовершенствовали другие. Лапы были увеличены, и спрятанные когти, заостренные не хуже стальных лезвий, могли выпускаться не менее чем на 10 см.

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

Фрэнк Херберт, “Дюна”

Сергей Бобровский

 

Об искусственной жизни

Формально считается, что область науки, именуемая “искусственной жизнью” (ИЖ, Artificial Life), родилась в конце 1990 г., когда американский ученый Крис Г. Лэнгтон из института Санта Фе организовал небольшую конференцию по этой теме. Сегодня по проблемам ИЖ регулярно проводятся большие международные симпозиумы, появляются новые рабочие группы в Европе и США. Япония активно вкладывает деньги в исследования в области ИЖ и особенно в прикладные направления этой теории.

Что же такое “искусственная жизнь”? По определению Лэнгтона, это изучение естественной жизни путем воссоздания биологических феноменов с помощью компьютеров и других искусственных средств, когда ставится цель не только понять фундаментальные биологические принципы жизни, но и проанализировать их и применить на практике. Другими словами, в теории ИЖ делается попытка перейти от биологической жизни “как-она-есть” к модели жизни “как-она-может-быть”. При этом высокоуровневое поведение виртуальных существ определяется набором простых правил. Например, задав десяток правил, описывающих деятельность муравьев, можно создать модели очень сложного группового поведения.

Весьма точно подходит к ИЖ определение, данное доктором технических наук Д. А. Поспеловым искусственному интеллекту (ИИ):

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

Технологии ИЖ помогают находить решения задач, которые неизвестно как решать. Это в основном задачи оптимизации сложных процессов, например эффективного управления воздушным движением. Решение их на современных компьютерах обычными методами может затянуться на тысячи лет, а создать рабочий прототип с помощью технологий ИЖ можно за одну неделю. Хорошее будущее новой науки в 80-х гг. предсказывал известный специалист по ИИ, профессор французского университета им. Марии Кюри Ж.-Л. Лорьер: “Всякая задача, для которой неизвестен алгоритм решения, априорно относится к искусственному интеллекту”.

Сегодня ИЖ уже не ограничивается муравьями и биологией. Большой интерес (и большие инвестиции) привлекают исследования по моделированию социального поведения. Это направление молодое, но перспективное, так как позволяет моделировать, например, социальные последствия принятия государством различных решений, прогнозировать результаты выборов и т. п.         

Однажды у них вырастут крылья

В основе теории ИЖ лежит фундаментальное понятие автономного агента (autonomous agent) - объекта (как правило, программы), который имеет набор сенсоров и исполнительную систему. От сенсоров агент получает информацию о внешнем окружении, а исполнительная система может изменять собственное состояние и состояние окружающей среды. Агенты могут действовать по одному и/или в группах. Типичный пример решения задачи с помощью алгоритмов ИЖ: среда и агенты описываются на компьютере небольшим набором правил, потом в эту виртуальную среду запускается некоторое количество агентов, и через несколько тысяч проигранных на компьютере виртуальных лет выжившие в упорной борьбе и адаптировавшиеся к суровым условиям существования особи анализируются на предмет выявления у них характеристик, сыгравших ключевую роль в их особой стойкости к трудностям виртуального бытия. Собственно поэтому (по мнению автора данной статьи) теории искусственной жизни больше подходит название “искусственное выживание”.         

Агенты на практике

Есть немало областей, где использование автономных агентов позволяет решить задачи, недоступные другим технологиям и теориям. К этим областям, в частности, относятся:

- создание новых лекарств путем моделирования процессов размножения и мутации вирусов и выработки способов их уничтожения;

- предсказание курсов акций моделированием всей рыночной ситуации (каждый агент представляет собой конкретную компанию);

- создание самоорганизующихся бизнес-систем (агенту соответствует объект конкретной области - документ, рабочее место);

- анализ социального поведения (один человек - один агент);

- новые направления развития нейронных сетей (нейрон - отдельный агент с набором уникальных характеристик);

- совершенствование нанотехнологий (агент моделирует элементарную физическую частицу);

- разработка мобильных роботов, способных самостоятельно действовать в средах с неполной информацией;

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

- разработка самоорганизующихся и самообучающихся (выживает умнейший) систем;

- моделирование всевозможных эволюционных процессов;

- применение биологических принципов в программных технологиях (в частности, программирование эффективно работающих “пауков”, ползающих по Интернету и раскапывающих нужные данные);

- совершенствование компонентных компьютерных архитектур (компоненты должны выживать и улучшать свою работу в условиях высокой нагрузки);

- проектирование параллельных вычислительных систем, основанных на новых принципах (каждый агент может быть реализован на отдельном процессоре);

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

- перенос акцентов в технологиях виртуальной реальности от внешнего правдоподобия к правдоподобию поведенческому;

- новые направления в компьютерных играх (недавние примеры - сверхпопулярные игры “Тамагочи”, “Creatures”).         

Роковое наследство

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

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

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

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

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

- Клеточные автоматы. Это очень большая область, описывающая дискретные динамические системы. Дискретным (прерывным) могут быть пространство (N-мерная ячейка с фиксированными размерами), время (такты) и состояние (конечный набор фиксированных состояний ячейки). Чаще всего клеточные автоматы функционируют в двух- или трехмерных пространствах, так как это наиболее близко реальным задачам и проблемам нашего мира. Классический пример - модель “Жизнь” Конвея (см. PC Week/RE, №26/98, с. 32). Толчком к прикладному развитию этого направления послужило доказательство одним из отцов кибернетики фон Нейманом теоремы о том, что в рамках клеточной теории можно создавать системы, способные воспроизводить самих себя.

При решении практических задач с помощью теории ИЖ выбрать подходящую технологию и хороший программный продукт сегодня довольно трудно. Пока нет подходящей системы ИЖ с ГИП, позволяющей в рамках одного программного продукта реализовывать любые алгоритмы моделирования реальных и абстрактных объектов, формировать произвольные законы развития популяций и поведения автономных агентов, создавать собственные виртуальные миры, автоматически собирать и анализировать накапливаемые данные. Нет и единого, признанного всеми специалистами ИЖ языка программирования. Разработанные программы ориентированы на узкие области применения, но достигнутые с их помощью результаты тем не менее весьма впечатляющи.

Продолжение следует

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