Новости искусственного интеллекта №2, 1998

Тарасов В.Б.

 

АГЕНТЫ, МНОГОАГЕНТНЫЕ СИСТЕМЫ, ВИРТУАЛЬНЫЕ

СООБЩЕСТВА:   СТРАТЕГИЧЕСКОЕ НАПРАВЛЕНИЕ В ИНФОРМАТИКЕ  И  ИСКУССТВЕННОМ ИНТЕЛЛЕКТЕ

 

1. Введение

 

Разработка технологии искусственных агентов, создание многоагентных систем (МАС) и виртуальных организаций представляет собой одну из наиболее важных и многообещающих областей развития новых информационных и коммуникационных технологий (НИКТ), где сегодня происходит интеграция современных сетевых WWW-технологий, методов и средств искусственного интеллекта (ИИ), включая большие базы данных/ знаний, многокомпонентные решатели, и систем объектно-ориентированного проектирования. У специалистов по НИКТ сформировалось и вошло в широкий научный обиход представление об искусственных агентах как активных, автономных, коммуникабельных, а главное, мотивированных, объектах, «живущих» и «действующих»  в сложных, динамических и, чаще всего виртуальных, средах [1,3, 6-8,10,16,17,21,24,25,30,34,38,45,60,61,72,78,84,113,135,136-138]. Уже сегодня агентно-ориентированный подход находит широкое применение  в таких областях как распределенное решение сложных задач (и эффективное решение распределенных задач), совмещенное проектирование изделий, реинжиниринг бизнеса и построение виртуальных предприятий, имитационное моделирование интегрированных производственных систем и электронная торговля, организация работы коллективов роботов и распределенная (совмещенная) разработка компьютерных программ. В ближайшем будущем он, несомненно, займет, центральное место при развитии средств управления информацией и знаниями, и конечно, при создании и внедрении новейших систем телекоммуникации, развитии глобальных компьютерных сетей, в особенности, сети Интернет.

Решение задачи одним агентом на основе инженерии знаний представляет собой точку зрения классического ИИ, согласно которой агент (например, интеллектуальная система), обладая глобальным видением проблемы, имеет все необходимые способности, знания и ресурсы для ее решения. Напротив, в распределенном искусственном интеллекте (РИИ) и, вообще, в области МАС предполагается, что отдельный агент может иметь лишь частичное представление об общей задаче и способен решить лишь некоторую ее подзадачу. Поэтому для решения сколько-нибудь сложной проблемы, как правило, требуется взаимодействие агентов, которое неотделимо от организации МАС. Этот социальный аспект решения задач – одна из фундаментальных характеристик концептуальной новизны передовых компьютерных технологий и искусственных (виртуальных) организаций, строящихся как МАС [5,8,13,23,24,25,28,41-43,49,51,55,68,75,79,89, 97,102,107,117,124,130]. 

Каковы основные причины, обусловливающие особую актуальность РИИ и МАС в наши дни?   В первую очередь, это сложность современных систем и организаций, которая достигает такого уровня, что централизованное управление в них становится неэффективным из-за наличия огромных потоков информации, когда слишком много времени тратится на ее передачу в центр и принятие им решений [5]. Поэтому сейчас происходит настоящая революция в области организационного управления (стратегического менеджмента), связанная с коренной перестройкой традиционных организаций и предприятий и появлением сетевых организационных структур нового типа, например, горизонтальных, расширенных и виртуальных предприятий (подробнее об этом можно прочитать в книге  [14] или в обзоре [27]).

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

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

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

    В-четвертых, само распространение различный сетей порождает распределенный взгляд на мир. Развитие мобильных компьютерных средств, когда вся информация и ресурсы ее обработки распределены по различным узлам сети (например, сеть Интернет уже насчитывает несколько десятков тысяч узлов во всем мире), требует пересмотра классических моделей вычислений, основанных на сосредоточенной, последовательной машине фон Неймана, и принятия новых концепций вычислительного пространства, например, концепции «гигантской паутины», как в случае с World Wide Web или «вычислительного поля» (computing field) М.Токоро [131,105] по аналогии с физическими полями.

Все вышеперечисленное объясняет бурное развитие нового стратегического направления в информатике и ИИ: теории, методов, и программно-аппаратных средств построения распределенных систем и сетевых организаций, включая МАС, интеллектуальные сети, виртуальные сообщества. Это направление может стать ядром нового междисциплинарного комплекса наук об искусственном (см.[26]) – синергетической информатики (и в частности, синергетического ИИ), в русле которых предполагается возникновение системных качеств НИКТ или достижение нелинейных, синергетических эффектов в процессе «совместного действия» и взаимной адаптации отдельных информационных или коммуникационных технологий, что связано с усилением возможностей и компенсацией недостатков отдельных компонентов. Далее в русле системного подхода в ИИ [28] последовательно рассмотрим компоненты триады «агент – многоагентная система – искусственное сообщество».

 

2. От объектов  к  агентам

 

При определении понятия «агент» удобно опираться на представления об объекте, развитом школой объектно-ориентированного программирования (ООП)огда искусственный агент может пониматься как метаобъект, наделенный некоторой долей субъектности, т.е. способный манипулировать другими объектами, создавать и уничтожать их, а также имеющий развитые средства взаимодействия со средой и себе подобными.  Иными словами, это «активный объект» или «искусственный деятель», находящийся на заметно более высоком уровне сложности по отношению к традиционным объектам в ООП и использующий их для достижения своих целей путем управления, изменяющего их состояния. Соответственно минимальный набор базовых характеристик произвольного агента включает такие свойства как: а) активность, способность к организации и реализации действий; б) автономность (полуавтономность), относительная независимость от окружающей среды или наличие некоторой «свободы воли», связанное с хорошим ресурсным обеспечением его поведения; в) общительность, вытекающая из необходимости решать свои задачи совместно с другими агентами и обеспечиваемая развитыми  протоколами коммуникации; г) целенаправленность, предполагающая наличие собственных источников мотивации, а в более широком плане, специальных интенциональных характеристик. Такое представление близко к одному из наиболее популярных определений понятия «агент» у М.Вулдриджа и Н.Дженнингса [136-138]. Они считают, что агент – это программно или аппаратно реализованная система, обладающая следующими свойствами:

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

·       общественное поведение (social ability), т.е. способность взаимодействия с другими агентами (а возможно,  людьми), обмениваясь сообщениями с помощью языков коммуникации;

·       реактивность – способность  воспринимать состояние среды  (физического мира, пользователя – через пользовательский  интерфейс,  совокупности других агентов, сети Internet, или сразу все этих компонентов внешней среды);

·       целенаправленная активность (pro-activity) – способность агентов не просто реагировать на стимулы, поступающие из среды, но и осуществлять целенаправленное поведение, проявляя инициативу.

Соответственно, если рассмотреть систему абстрактных полярных шкал типа «пассивный–активный», «реактивный–целенаправленный», «зависимый–автономный» и поместить на них объекты и агенты, то интуитивно ясно, что объекты будут находится на левых полюсах, а агенты должны быть расположены правее, ближе к полюсам «активный», «целенаправленный», «автономный». Cдвинутое к правым полюсам промежуточное положение агентов на указанных шкалах показывает достигнутый уровень субъектности в искусственной системе.

 Таким образом, агентно-ориентированный подход в информатике и ИИ представляет собой развитие известных подходов, основанных на понятиях объектов и акторов, но в то же время имеет ряд принципиальных отличий. Понятия объект и актор представляют собой единицы программных систем, задаваемые некоторой структурой и механизмом взаимодействия. Объект (как реализация фрейма по М.Минскому) имеет единое имя и свои собственные данные и процедуры. Объект может состоять из нескольких так же определенных объектов и в свою очередь быть частью более крупного объекта. Объекты содержат слоты, которые в свою очередь могут состоять из фактов. Слот может быть просто атрибутом или отношением. Все действия в ООП выполняются через сообщения (однако сообщения указывают объекту, что делать, но не как делать).  В целом, понятие объекта определяется с помощью 4 признаков: а) инкапсуляция;  б) отношение «класс-пример»; в) свойство наследования; г) прохождение сообщений, допускающее определение полиморфных процедур, т.е. процедур, код  которых может различаться в зависимости от приемника сообщения.

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

Точно так же и акторы [87,35] – развитые, интерактивные, параллельно функционирующие объекты, которые взаимодействуют путем посылки асинхронных сообщений, не могут проводить рассуждения о содержании этих сообщений. Сама модель акторов организована, исходя из двух простых принципов: посылки сообщений и локальной обработки. На локальном уровне актор содержит три составляющие: а) знания о своей среде;  б) знания о других акторах; в) множество данных и действий. Эти составляющие определяют его локальное поведение в зависимости от поступающего сообщения. Когда актор получает некоторое сообщение, он может передавать его другим акторам. Помимо этого, актор способен создавать новых акторов и изменять свое внутреннее состояние. Это означает, что в ряде случаев акторы могут рассматриваться как своего рода подагенты.

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

 

3. Подборка определений и высказываний об агентах

 

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

Различные определения понятия «агент» подразделяются на «слабые» и «сильные» программистские и антропоморфные [137]. Вначале остановимся на некоторых наиболее слабых определениях, а затем постепенно перейдем к более сильным.

      В одном из наиболее капитальных современных учебников по ИИ, изданном С.Расселом и П.Норвигом [119], под агентом понимается «любая сущность, которая находится в некоторой среде, воспринимает ее посредством сенсоров, получая данные, которые отражают события, происходящие в среде, интерпретирует эти данные и действует на среду посредством эффекторов». Таким образом, здесь вычленяются четыре исходных агентообразующих фактора – среда,  восприятие,  интерпретация, действие.

Столь тривиальное определение не позволяет проводить четкого различения между агентом и произвольной программой [77], и поэтому следует ввести некоторые специальные ограничения на среду, восприятие, интрпретацию и действие. В близком по смыслу определении Б.Хэйес-Рот [85] подчеркивается, что интеллектуальные агенты непрерывно выполняют три следующие функции: 1) восприятие динамики среды; 2) действия, изменяющие среду; 3) рассуждения в целях интерпретации наблюдаемых явлений, решения задач, вывода заключений и определения действий. Иными словами, специально оговаривается динамичность среды и подчиненность рассуждения действию: агенты рассуждают для того, чтобы выбрать действия.

Согласно П.Маэс [100], «автономные агенты – это компьютерные системы, функционирующие в сложной, динамической среде, способные ощущать и автономно действовать на эту среду и, таким образом, выполнять множество задач, для которых они предназначены». Здесь предложены два ограничения на среду агентов – «сложная  и динамическая».

Подробный анализ возможных типов сред и соответствующих требований к агентам дан Д.А.Поспеловым [16]. У него все среды подразделяются на три больших класса - замкнутые, открытые и трансформируемые. Замкнутые среды допускают конечное исчерпывающее описание (детерминированное или вероятностное). При этом агенты могут обладать полным априорным знанием о среде и ее свойствах или получать оперативную информацию в ходе своего взаимодействия с ней (как в моделях коллективного поведения автоматов). Но главная идея – полнота их знаний (в детерминированном или статистическом смысле) остается. Понятие «открытых сред» предполагает отказ от постулата полноты знаний у агента и введение локальных описаний среды. Наконец, трансформируемые среды могут менять свои характеристики в зависимости от действий агентов (например, агенты могут порождать новые объекты в среде и, в частности, новых агентов).

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

Слабые определения смыкаются с чисто программистскими взглядами на природу агента.  Нередко агенты понимаются как вычислительные единицы, поддерживающие локальные состояния и параллельные вычисления,  а также способные в процессах коммуникации достигать состояния других агентов, и автоматически выполнять действия в некоторых условий среды [6]. В свою очередь, стратегия искусственных агентов, изложенная в IBM White Paper [3*], исходит из идеи «персонального ассистента»: агент действует в интересах других лиц, которые передают ему определенные властные полномочия. По сути дела, здесь агент есть любая программная или аппаратная система, способная действовать в интересах достижения целей, поставленных пользователем. Соответственно, интеллектуальные агенты понимаются как программные системы, создаваемые для оказания услуг пользователю на основе своих интеллектуальных интерфейсов и характеризующиеся определенным поведением (правилами и стратегиями поведения). Они выполняют некое множество операций для пользователя или другой программной системы,  обладая определенной степенью автономности или независимости, и используя при этом знания или представления о целях или желаниях пользователя.

Итак, ключевыми характеристиками любых агентов как «искусственных деятелей» являются автономность и целенаправленность. Речь идет об автономном выполнении некоторых действий на основе целенаправленных проблемно-ориентированных рассуждений. Подчас в качестве главных признаков агента берутся интеллектуальность и автономность, где интеллектуальность связывается с восприятием и рассуждениями, а автономность - с принятием решений  и действием на среду [53,4*].

По М.Коэну [5*], агенты – это программы, которые имеют взаимные обязательства, определяемые в процессе диалога, ведут переговоры и координируют передачу информации.  Здесь очевидно, что переговорный процесс предполагает наличие восприятия и действия, а диалог немыслим без средств коммуникации. Агенты обладают настойчивостью, что связано с наличием своих собственных представлений о том, как выполнять задачи, или своих личных программ действий.

   По-видимому, первое в современных исследованиях по ИИ «скрытое определение» агента восходит к работам Д.А.Поспелова и В.Н.Пушкина (см. например [18])  по теории гиромата.  В гиромате–элементарной модели целесообразного поведения, способной адаптироваться к условиям решаемой задачи – уже присутствовали следующие модули: блок мотивации; блок селекции (рецепторы); блок построения внутренней модели внешней среды; блок выдвижения гипотез; блок модельного опыта; блок выработки решений; блок активного опыта; блок времени (рис.1). Несколько позже К.Хьюитт предложил определение актора как программного агента, имеющего свой почтовый адрес и обладающего поведением [87, 113].

Более сильные определения полнее отражают когнитивные, коммуникативные, поведенческие, а особенно, интенциональные аспекты агентов. Вообще, в антропоморфных определениях агентов ведущее место отводится ментальным свойствам. Как правило, особое внимание обращается на главное отличие агентов от объектов, связанное с наличием у первых внутренних механизмов мотивации и целеполагания. Тогда ядро агента задается тройкой «интенции – ресурсы – поведение»: любой агент, имеющий определенные цели и предпочтения, нуждается в ресурсах для их достижения и демонстрирует некоторое поведение. Так по И.Шоэму [124], агент есть целостная единица, описание состояния которой включает такие психические (метаинтеллектуальные [130]) компоненты как убеждения, способности, обязательства и решения. Иными словами, каждый агент имеет встроенные механизмы мотивации (формирования предпочтений).

Достаточно сильное определение интеллектуального агента дали К.Сикара и соавторы [129].  Здесь выделены следующие характеристики:

·         способность решения задач, поставленных людьми или другими компьютерными агентами;

·         активность, т.е. способность инициировать решение задачи и предлагать свои услуги пользователю;

·         сетевая «среда обитания»  и способность самоорганизации в ней;

·         полуавтономность (у пользователя есть возможность управлять уровнем автономности агента);

·         антиципация, т.е. способность предвидеть запросы пользователя;

·         надежность;

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

·         гибкость,  проявляющаяся в способности работать с неоднородными агентами и удаленными иинформационными ресурсами;

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

·         настойчивость в решении задачи.

Опираясь на концепцию гиромата и усиливая определение Ж.Фербе [72], можно дать следующее общее определение интеллектуального агента [28, 30].

Под интеллектуальными агентами в информатике и ИИ понимаются любые физические или виртуальные единицы: