Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Рыбина Технология построения динамических 2011

.pdf
Скачиваний:
60
Добавлен:
12.11.2022
Размер:
3.43 Mб
Скачать

т.е. агенту [1]-[5]. Поэтому агентно-ориентированное программирование (АОП) является естественным развитием и специальным случаем ООП. В данном случае агент выступает как мета–объект , т.е. объект, расположенный на мета-уровне по отношению к объекту и управляющий им, изменяя его поведение. Иными словами интеллект агента выступает как подсистема управления деятельностью агента (агентов).

Как следует из [4], [24]-[26], к настоящему времени предложено такое значительное число определений агентов, что М. Вулдриджем и Н. Дженнингсом [34] была введена классификация самих определений агента на слабые, сильные, программистские и ан-

тропоморфные (представленные в табл. 4).

Достаточно полная и интересная подборка определений и высказываний об агентах содержится в [4], поэтому здесь ограничимся только краткой характеристики наиболее типовых определений агентов.

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

Согласно определению П.Маес (P. Maes) [30], автономные агенты – это компьютерные системы, функционирующие в сложной, динамической среде, способные ощущать и автономно действовать на эту среду, и таким образом выполнять множество задач, для ко-

61

торых они предназначены. Здесь введены два ограничения на среду агентов – сложная и динамическая.

 

 

 

 

 

 

 

 

Таблица 4

 

 

 

 

 

 

 

 

Тип опреде-

Автор

 

 

 

Определение

 

 

ления

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P. Maes [30] (П.

Автономные

агенты –

это компьютерные

Слабые

системы,

функционирующие

в сложной,

 

Маэс)

динамической среде

 

 

 

 

 

 

 

 

 

 

Агенты –

это программы,

имеющие вза-

 

M. Cohen [31]

имные

обязательства,

определенные в

Сильные

процессе диалога, и которые ведут перего-

(М. Коэн)

 

воры и координируют передачу информа-

 

 

 

 

ции

 

 

 

 

 

 

 

 

Коммуникативный агент –

это агент, ко-

 

В.И. Городец-

торый

понимается как вычислительная

 

кий [32]

единица,

поддерживающая

локальные

 

 

состояния и параллельные вычисления

Програм-

 

Интеллектуальный агент понимается как

 

программная

единица,

выполняющая

мистские

 

 

множество операций

пользователя или

 

 

 

Фирма IBM

другой программной системы, обладая

 

 

определенной степенью автономности или

 

 

независимости и используя при этом зна-

 

 

ния о целях или желаниях пользователя

 

 

Агент есть целостная единица описания

Антропо-

Y. Shoham [33]

состояния, которое включает такие психи-

морфные

(И. Шоэн)

ческие компоненты как: убеждения, спо-

 

 

собности и решения

 

 

 

Д.А. Поспелов [35] предлагает для классификации агентов три других основания, а именно: свойства среды, уровень свободы воли и уровень развития социальных отношений. По первому критерию все среды можно разбить на три больших класса – замкнутые, открытые и трансформируемые. Замкнутые среды допускают исчерпывающее описание, открытые среды предполагают отказ от постулата полноты знаний у агента и введение локальных описаний среды, и, наконец, трансформируемые среды могут менять свои характеристики в зависимости от действий агентов.

Наиболее популярное определение дается М. Вулдриджем и Н.Дженнингсом в [34], где предполагается, что агент – это про-

62

граммно или аппаратно реализованная система, обладающая следующими свойствами:

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

общественное поведение – способность взаимодействовать с другими агентами (возможно людьми);

реактивность – способность воспринимать состояние среды;

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

В целом в настоящее время существует несколько подходов к определению основных понятий в МАС. Наиболее последовательной в этом вопросе является международная ассоциация FIPA (Foundation for Intelligent Physical Agents), предложившая толковый словарь терминов в МАС. Тем не менее существует множество работ, где любой автор решает эти вопросы по-своему, поэтому понятие агент целесообразно толковать как мета-имя или класс, включающий множество подклассов [25], в соответствии с чем в данной работе будем придерживаться следующей концепции [34].

Определение (Wooldridge & Jennings). Агент – это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем.

Следовательно, основная идея программного агента – делегирование полномочий, т.е.:

агент должен уметь взаимодействовать со своим владельцем или пользователем для получения заданий и возвращения результатов;

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

В настоящее время существует два основных подхода к построению агентно-ориентированных систем:

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

63

∙ разработка МАС, иногда также называемых агентствами (здесь взаимодействуют различные агенты для решения задач, которые трудны и сложны для одиночного агента).

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

 

 

 

 

Таблица 5

 

 

 

 

 

 

 

 

 

 

Действи-

 

Типы агентов

 

 

Интел-

стви-

 

 

Про-

Смыш-

лекту-

тельно

 

 

леные

альные

интел-

 

 

стые

 

 

(smart)

(intelli-

лекту-

 

 

 

 

Характеристики

 

 

gent)

альные

 

 

 

 

 

(truly)

 

Автономное выполнение

+

 

+

+

 

Взаимодействие с другими

 

 

 

 

 

агентами и/или пользовате-

+

+

+

+

 

лями

 

 

 

 

 

Слежение за окружением

+

+

+

+

 

Способность использования

 

+

+

+

 

абстракций

 

 

 

 

 

 

 

Способность использования

 

+

+

 

 

предметных знаний

 

 

 

 

 

 

 

 

Возможность адекватного

 

 

 

 

 

поведения для достижения

 

 

+

+

 

целей

 

 

 

 

 

Обучение из окружения

 

 

+

+

 

Толерантность к ошибкам

 

 

 

 

 

и/или неверным входным

 

 

+

 

 

сигналам

 

 

 

 

 

Real-time исполнение

 

 

+

 

 

ЕЯ-взаимодействие

 

 

+

 

 

Учитывая, что в контексте данной работы в первую очередь интересны именно интеллектуальные агенты (ИА), приведем типовой список свойств, которыми должен обладать ИА (т.е. определение

64

ИА через свойства). ИА – это агент, обладающий следующими свойствами [25]:

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

социальное поведение (social ability) – возможность взаимодействия и коммуникации с другими агентами;

реактивность (reactivity) – адекватное восприятие среды и соответствующие реакции на её изменение;

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

∙ базовые знания (basic knowledge) – знания агента о себе, окружающей среде (включая других агентов), которые не изменяются в рамках жизненного цикла агента;

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

цели (goals) – совокупность состояний, на достижение которых направлено текущее поведение агента;

желания (desires) – состояния и/или ситуации, достижение которых для агенты важно;

обязательства (commitments) – задачи, которые берет на себя агент по просьбе и/или поручению других агентов;

намерения (intentions) – то, что агент должен делать в силу своих обязательств и/или желаний.

Дополнительно в ряде работ также рассматриваются: рациональность (rationality), правдивость (veracity), благожелательность

(benevolence), мобильность (mobility).

1.5.4. Особенности архитектур интеллектуальных агентов

Важное место при построении МАС занимает проблема синтеза адекватной архитектуры для соответствующего класса агентов.

В зависимости от концепции, выбранной для организации МАС, выделяют три базовых класса архитектур программных агентов [4],

[25], [34].

65

1. Архитектуры, которые базируются на принципах и методах работы со знаниями (deliberative agent architectures) – так называе-

мые делиберативные архитектуры.

2. Архитектуры, основанные на поведенческих моделях типа

«стимул-реакция» (reactive agent architectures) – так называемые

реактивные архитектуры.

3. Гибридные архитектуры (hybrid architectures).

Комментарий. Архитектуры первого типа базируются на «разумных» агентах, которых в соответствии с [4] называют когнитивными агентами. Однако лучше использовать термин «агент, базирующийся на знаниях», или «интеллектуальный агент» и говорить «архитектура интеллектуальных агентов».

Рассмотрим особенности базовых архитектур программных агентов.

Делиберативные архитектуры. Архитектуры данного типа ба-

зируются на классических принципах и методах ИИ и первоначально связывались с логической парадигмой ИИ, однако такие ментальные свойства ИА, как убеждения, желания, намерения, обязательства и т.д. невыразимы в терминах исчисления предикатов 1-го порядка. Поэтому для представления знаний ИА в рамках данной архитектуры были использованы либо специальные расширения соответствующих логических исчислений, например, работы Д.А. Поспелова [36], либо разработаны новые архитектуры, в частности архитектуры типа BDI (Belief-Desire-Intention), описание которых можно найти в [4], [24].

Реактивные архитектуры. Реактивные архитектуры возникли как альтернативный подход к структуре ИА. Идея реактивных агентов, предложенная в работах Р. Брукса, основывалась на том, что интеллектуальное поведение может быть реализовано без символьного представления знаний, принятого в классических интеллектуальных системах.

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

66

Идеи реактивных агентом реализовывались в той или иной степени в ранних работах по ИИ, в частности, при планировании поведения роботов (система STRIPS и др.).

В таблице 6 приведены характеристики современных архитектур МАС [25].

Есть достоинства и недостатки у всех архитектур, однако современные тенденции связаны в основном с реализацией гибридных архитектур интеллектуальных агентов и МАС.

 

 

 

Таблица 6

 

 

 

 

Архитектура

Представление

Модель мира

Решатель

знаний

 

 

 

Интеллектуальная

Символьное

Исчисление

Логический

Реактивная

Автоматное

Граф

Автомат

Гибридная

Смешанное

Гибридная

Машина вывода

1.5.5. Пример архитектуры интеллектуального агента

Рассмотрим пример делиберативной архитектуры ИА. Здесь наиболее простой путь заключается в развитии архитектуры динамической ИЭС (раздел 1.2.2). На рис. 10 представлен пример архитектуры ИА на основе продукционной ИЭС (заштрихованы новые компоненты). Выделим основные отличия. Поскольку речь идет о системе «агент → среда», то в архитектуру ИА введены специальные устройства, воспринимающие воздействия среды (рецепторы) и исполнительные средства, воздействующие на среду (эффекторы). Таким образом, с помощью рецепторов осуществляется ввод информации в базу фактов (РП), а с помощью эффекторов – вывод информации.

Кроме этого в архитектуру динамической ИЭС введена еще подсистема формирования целей и оценок ситуации, а также существенно расширена функциональность традиционной подсистемы общения, предназначенной для поддержки полидиалогов между ИА [27], [28]. Развитием этой архитектуры является архитектура ИА с иерархической БЗ [4].

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

67

методической точки зрения начинающим разработчикам рекомен-

дуется именно такой подход к построению ИА и МАС.

Примеры более сложных архитектур ИА и МАС детально рас-

смотрены в [4].

 

 

 

Подсистема

 

 

коммуникации с

 

 

другими агентами

 

База знаний

Решатель

 

Подсистема

 

формирования целей

 

и оценок ситуации

 

 

Подсистема

 

Рецепторы

моделирован

Эффекторы

агента

ия внешнего

агента

 

мира

 

Рис. 10. Простейшая архитектура интеллектуального агента на основе

продукционной СОЗ(ЭС)

 

Вопросы, связанные с инструментарием, т.е. ИС для построения ИА и МАС будут рассматриваться в разделе 2, а с примерами реализации прототипов некоторых МАС можно познакомиться в разделе 3.

68

1.6.Онтологии в многоагентных системах

1.6.1.Основные понятия и определения

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

Онтология (от греческого слова онтос – сущее, логос – учение, понятие) – это философский термин, определяющий учение о бытии, о сущем (в отличии от гносеологии – учения о познании). Автором является Х. Вольф (1679-1754), и термин долгое время использовался в философии как часть метафизики, изучающей абстрактные философские категории (бытие, субстанция, причина, действие, явление).

Такое определение мало пригодно для использования в современном онтологическом инжиниринге и МАС, поэтому приведем далее определение FIPA [9], предложенное в ранних разработках системы стандартов на МАС.

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

С точки зрения ИИ, онтология – это знания, формально представленные на базе концептуализации, а концептуализация предполагает описание множества понятий и объектов, знаний о них и связей между ними. Поэтому еще более конкретным и понятным является определение Т. Грубера (T. Gruber) [37].

Определение. (T. Gruber) Онтологией называется эксплицитная спецификация концептуализации. Формально онтология состоит из терминов, организованных в таксономию, их определений и атри-

бутов, а также связанных с ними аксиом и правил вывода.

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

69

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

Таким образом, по сути онтология представляет БЗ, описывающую факты, которые предполагаются всегда истинными в рамках определенного сообщества на основе общепринятого смысла используемого словаря [25].

Определение. Онтология – это эксплицитная спецификация определенной темы (Стэндфордский университет, проект Ontolin-

gua).

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

Таким образом, в настоящее время выделяются следующие аспекты интерпретации термина «онтология» [25]:

как философская дисциплина (Онтология с большой буквы);

как неформальная концептуальная система (т.е. базис определенной БЗ);

как формальный взгляд на семантику (толкует онтологию как семантический объект);

как спецификация «концептуализации»;

как представление концептуальной системы через логическую теорию;

как словарь, используемый логической теорией;

как метауровневая спецификация логической теории. Соответственно, онтологический инжиниринг – это ветвь инже-

нерии знаний, использующая Онтологию – с большой буквы для построения онтологии – с маленькой буквы. Завершая анализ определений онтологии, приведем еще одно определение онтологии, введенное Т.А. Гавриловой и В.Ф. Хорошевским [25]:

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]