
Рыбина Технология построения динамических 2011
.pdfние. Затем задаются действия, которые должны быть выполнены в каждом состоянии.
Для взаимодействия с другими агентами при определении каждого состояния система Bee-gent предусматривает создание протокола взаимодействия. Протокол должен содержать все возможные варианты поведения агента в данном состоянии. В каждом состоянии деятельность агента направлена на реализацию взаимодействия с целью реализации планируемой линии поведения. Деятельность каждого агента в МАС определяется моделью, разработанной на этапе агентно-ориентированного анализа по методологии Gaia. Линии поведения задаются диаграммой взаимодействия агентов с указанием содержимого сообщений и их очередности. Формат сообщений определяется языком XML/ACL, который является развитием языка коммуникации KQML.
Таким образом, на основе разработанных логических моделей, система Bee-gent автоматически генерирует на языке Java скелет программного кода МАС, который дополнятся необходимым программным кодом, обеспечивающим заданный “ жизненный цикл” агентов.
Стоит отметить, что в Bee-gent нет правил, определяющих, в каких случаях какие перформативы языка должны использоваться и, следовательно, нет типовых сценариев диалогов. Вместе с тем реализация поведения агентов основывается на специальном наборе Java-классов, которые, практически, никак не связаны с внешним представлением перформативов в языке XML/ACL. Аналогично, системе AgentBuilder остается открытым вопрос о представлении времени. По сути, система Bee-gent предоставляет возможности для разработки реактивных агентов (так как поведение агента описывается конечным автоматом).
2.2.2. Система имитационного моделирования взаимодействия интеллектуальных агентов (ИМВИА)
В рамках исследований, проводящихся в лаборатории «Интеллектуальные системы и технологии» кафедры Кибернетики НИЯУ МИФИ, целью которых является теоретическое и программное моделирование процессов построения многоагентных систем (МАС),
151
разработана система имитационного моделирования взаимодействия интеллектуальных агентов (ИМВИА) [27], [28]. Данная система используется в качестве инструментальной среды разработки прототипов МАС для различных ПрО и последующей оценки решений (моделей, алгоритмов, схем декомпозиции задач, и т.д.), предлагаемых в техническом задании на прототип, принятия новых технических решений для модификации прототипа, оценки качества функционирования имитируемой МАС.
При разработке МАС в среде ИМВИА объектом моделирования являются следующие компоненты: ПрО; архитектура агента; глобальная структура взаимодействия; тематическая структура взаимодействия; локальная структура взаимодействия; язык взаимодействия; транспортный уровень.
Рассмотрим модели и методы, положенные в основу, построения компонентов системы ИМВИА.
Моделирование проблемной области. Модель ПрО агента представлена набором классов, объектов и отношений между ними. Считается, что параметры модели ПрО актуальны в любой момент времени, т.е. они соответствуют параметрам самих объектов ПрО, а изменения параметров объекта ПрО всегда взаимно однозначно соответствуют изменению параметров модели ПрО, т.е. если BEL(A,X) означает, что X – убеждение агента A, а KNOW(A, X) означает, что X – знание агента A, то BEL(A, X) KNOW(A, X), причем некоторые из этих элементов присутствуют в модели ПрО агента еще до начала эксперимента, а некоторые создаются в ней в ходе эксперимента вследствие возникновения событий, либо выполнения агентом действий, при условии отсутствия помех.
Комментарий: Под событием понимаются следующие состояния ПрО: переменная, параметр или атрибут объекта получил новое значение; создан объект какого-либо класса; объект перешел в активное/неактивное состояние и т.п.
Моделирование архитектуры агента. Архитектура агента со-
стоит из следующих компонентов: сенсор; эффектор; база целей;
база планов; база действий; рефлектор; планировщик.
Сенсор агента обеспечивает функции мониторинга окружения агента, т.е. формирование представлений агента об окружении, и реализуется набором процедур, осуществляющих элементарные
152
способы восприятия агента. Работа сенсора моделируется согласно следующему алгоритму:
Шаг 1. Получение информации о произошедшем событии, которая включает в себя тип события и его параметры.
Шаг 2. Выполнение данного события во внутренней модели ПрО агента (помещает или удаляет оттуда соответствующий класс, объект или связь в зависимости от типа произошедшего события).
Шаг 3. Передача информации о произошедшем событии (тип события и параметры) на рефлектор.
Эффектор агента реализует операцию воздействия на среду, т.е. непосредственно осуществляет выбранную стратегию поведения, изменяя состояния внешней среды, что обеспечивается набором процедур, осуществляющих действия агента. Работа эффектора моделируется согласно следующему алгоритму:
Шаг 1. Получение информации о действии, которое необходимо выполнить, что включает в себя тип действия и его параметры (возможные типы действий аналогичны возможным типам событий).
Шаг 2. Проверка присутствия помехи в текущий момент времени.
Шаг 3. При отсутствии помехи, выполнение этого действия во внутренней модели ПрО агента (удаление/помещение некоторого класса, объекта или связи в зависимости от типа действия).
База целей моделируется набором объектов, описывающих цели агентов. В качестве атрибутов цели выделяются: квантифицированные параметры, неквантифицированные параметры и последовательность задач (каждому квантифицированному параметру ставится в соответствие множество значений, на котором он может принимать текущее значение).
База планов состоит из двух частей: иерархия подзадач и локальные шаги взаимодействия. Иерархия подзадач описывает с помощью HTN-формализма отношение «задача-подзадача». Локальные шаги взаимодействия показывают возможные последовательности действий и ожидаемых реакций агентов-участников взаимодействия с использованием формализма раскрашенных сетей Петри. Представляются набором объектов, правил и процедур.
153
База действий моделируется правилами и процедурами G2 и содержит те действия агента, которые он может совершать.
Рефлектор моделируется правилами и процедурами G2 и отвечает за реакцию агента с использованием только поведенческого уровня. Из БЗ рефлектору доступны только знания нижнего уровня абстракции, где содержится информация о фрагментах поведения. Функционирование рефлектора осуществляется согласно следующему алгоритму:
Шаг 1. Получение информации о произошедшем событии (например, агенту приходит сообщение-запрос о значении атрибута какого-либо объекта его ПрО).
Шаг 2. Поиск в базе действий соответствующего правила, в котором заложена реакция на данное событие.
Шаг 3. Если подходящее правило существует в базе, то оно активируется.
Шаг 4. Если подходящего правила нет, то информация передается планировщику.
Планировщик моделируется классами, правилами и процедурами G2 и реализует механизм планирования, позволяющий строить расписание действий агента.
Моделирование глобальной структуры взаимодействия.
Моделирование глобальной структуры взаимодействия заключается в моделировании процесса целеполагания (который определяется, как вывод на основе знаний о ПрО) и формировании списка задач, решение которых требуется для достижения текущей цели. Эти процессы и способ моделирования целей описаны выше.
Моделирование тематической структуры взаимодействия.
Моделирование тематической структуры взаимодействия заключается в построении модели неформализованной задачи, решаемой агентами с использованием эвристических моделей соответствующих типовых задач, а если задача является формализованной, то она представляется множеством процедур, реализующих алгоритмы ее решения.
Моделирование локальной структуры взаимодействия. Мо-
делирование локальной структуры взаимодействия заключается в моделировании процессов выбора способа протекания взаимодействия на локальном уровне и выполнении локального плана взаи-
154
модействия. Типовые схемы локальной структуры взаимодействия агентов представляются в виде раскрашенных сетей Петри.
Моделирование языка взаимодействия. В качестве языка вза-
имодействия используется язык KQML. Сообщения языка моделируются с помощью объектов класса performative со следующими атрибутами: content; force; in-reply-to; language; ontology; receiver;
reply-with; sender.
Моделирование транспортного уровня взаимодействия. На транспортном уровне присутствует служебный реактивный агент AgentNameServer, функции которого явно следуют из его названия: регистрация/анрегистрация агентов; определение списка агентов; определение координат получателя сообщения; пересылка сообщения получателю.
Параметры модели. В состав параметров системы ИМВИА включаются:
∙Контролируемые неуправляемые параметры: задачи, реша-
емые агентами-участниками взаимодействия (так как они являются источником потребности в коммуникативных действиях); сообщения пользователя (пользователь может интерактивно вмешиваться
впроцесс взаимодействия, отправляя агентам свои сообщения).
∙Контролируемые управляемые параметры: все атрибуты объектов, моделирующих окружение агента; сообщения от других агентов. Информация о событии поступает на вход компонента сенсор, также информация о событии является входным параметром для рефлектора и планировщика. На вход компонента эффектор поступает информация о действии, которое необходимо выполнить. Возможные типы действий и их параметры совпадают с возможными типами событий. Все отличие состоит в том, что события происходят во внешней среде агента независимо от его существования, а инициатором действия является сам агент. Кроме того, для компонентов сенсор и эффектор входными параметрами являются помехи, которые представляют собой специализированный вид событий, воспринимаемых агентом. Для помехи возможно задание таких атрибутов, как временной интервал действия помех и тип события/действия, которое не будет восприниматься/выполняться в течение данного интервала.
∙Возмущения – это нагрузка на сеть передачи данных.
155
∙Выходные параметры системы. Выделяются следующие выходные параметры: сообщения для других агентов; все атрибуты объектов, моделирующих ПрО (результаты действий агента). Что касается выходных параметров отдельных компонентов ИМ, то они аналогичны возможным входным параметрам, а именно: для сенсора это описание произошедшего события, передаваемое на рефлектор; для рефлектора – также описание события, передаваемое
впланировщик и описание действия, направляемое в эффектор; для планировщика выходными параметрами являются описания действий, входящих в сформированный план, которые также передаются в эффектор для выполнения, и т.д.
В среде ИМВИА разработан язык описания сценариев имитационных экспериментов для моделирования программных компонентов, предназначенных для поддержки процессов взаимодействия агентов, позволяющий конструировать различные сценарии имитационного эксперимента в зависимости от специфики конкретных прикладных задач и целей, которые ставятся при моделировании той или иной ПрО в контексте МАС.
Предложенный язык описания сценариев имитационного эксперимента имеет графическую форму представления и реализован на базе стандартных средств, заложенных в инструментальный комплекс G2. Он состоит из следующих основных групп элементов:
∙Определение модели окружения агентов, т.е. определение той ПрО, в которой будут функционировать агенты. Параллельно этому процессу, определяется топология МАС, т.е. размещение агентов в ПрО и ограничение области видимости агентов.
∙Определение модели ПрО, что означает определение всех классов объектов среды, создание всех экземпляров этих классов, а также указание отношений между ними. Данная группа элементов языка реализована в виде иерархии рабочих пространств G2, на которых содержатся различные графические элементы, такие как кнопки и окошки для ввода текста, позволяющие задать необходимые параметры элементов, принадлежащих конструируемой модели мира агента. Имея модель ПрО агента можно, с одной стороны, определить список возможных действий и восприятий со стороны агента, а с другой – определить базу целей (то множество целей, которые агент может достичь).
156
∙Определение восприятия агента, т.е. задание последовательности типовых событий. Для реализации данной группы элементов также используется набор графических интерфейсов, с помощью которых задается количество будущих событий, частота их возникновения, типы событий с необходимыми параметрами. Также можно определить сценарий возникновения событий – либо заданные события будут возникать последовательно, либо с определенной вероятностью, для задания которой также предусмотрен специальный графический интерфейс.
∙Определение БЗ агента, включающее задание правил реакции на возникающие события, способов декомпозиции задач на подзадачи и представления планов взаимодействия. Для задания правил реактивного поведения существует специальный графический редактор, в котором сначала определяется событие и его параметры, а затем задается действие как реакция на данное событие. После чего система генерирует соответствующее правило в нотации G2.
∙Определение помех, влияющих на восприятие и на ответную реакцию агента. Задание помех реализовано при помощи двух аналогичных рабочих пространств. На одном задаются помехи при восприятии, на другом – помехи при выполнении действий. Для определения помехи необходимо выбрать тип события/действия, которое будет блокироваться помехой и временной интервал, в течение которого это будет происходить.
Пример сценария имитационного эксперимента приведен на рис. 33.
Далее требуется определить измеряемые параметры модели, такие как события по отправке и приему сообщений, активации целей, решение конкретных задач, процент событий, обработанных на уровне реактивного поведения и на уровне планировщика, оценка качества функционирования агента на основе отношения количества незашумленных действий к общему количеству действий, выполненных агентом. Затем осуществляется прогон модели, после которого можно посмотреть статистику по всем параметрам, которые были отмечены как представляющие интерес.
157

План имитационного эксперимента |
|
|
|
Определение модели |
|
|
окружения |
|
Определение типовых |
Определение типовых |
|
восприятий агента |
||
действий агента |
||
|
||
|
Определение топологии |
|
|
МАС |
|
|
Определение модели |
|
|
ПрО агентов |
|
Определение целей и |
Определение действий и |
|
способов их активации |
способов восприятия |
|
Определение иерархии |
Определение планов |
|
задач |
взаимодействия |
|
|
Выбор измеряемых |
|
|
параметров |
|
|
Прогон модели |
|
|
Анализ результатов |
|
Рис. 33. Пример сценария имитационного эксперимента |
158
Контрольные вопросы
1.Как структурирована база знаний в комплексе G2?
2.В чем состоит различие между модулями и рабочими пространствами в системе G2?
3.Приведите примеры структур данных и исполняемых утверждений в базе знаний системы G2.
4.Сколько и какие виды правил используются в G2?
5.Для выполнения каких функций предназначена подсистема моделирования G2?
6.Какие действия требуется выполнить для создания модульной базы знаний?
7.Каковы отличия между иерархией модулей и иерархией рабочих пространств? Каковы цели разработки этих иерархий?
8.Какие объекты и каким образом должны быть созданы для организации иерархии рабочих пространств?
9.Каковы различия между разными видами определений
(definitions)?
10.Как создать атрибут класса, значение которого показывалось бы на экране?
11.Как программно показать/скрыть рабочее пространство?
12.Для каких видов связей можно указывать способ их отображения на экране?
13.Могут ли связи иметь атрибуты?
14.Каковы отличия понятия процедуры в G2 от традиционных языков программирования?
15.Каковы способы инициирования правил G2? Какова связь между типами правил и способами их инициирования?
16.Каков синтаксис правил G2?
17.Какие события могут вызвать срабатывание правил типа whenever?
18.В какие моменты срабатывают правила типа initially?
19.Каковы различия между частными и общими правилами? Как написать общее правило? Как происходит обработка общих правил в момент их инициирования? В каких ситуациях следует использовать общие, а в каких – частные правила?
20.Каковы различия между обычными значениями, параметрами и переменными G2?
159
РАЗДЕЛ 3. ТЕХНОЛОГИЯ ПОСТРОЕНИЯ ДИНАМИЧЕСКИХ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ НА ПРИМЕРЕ РАЗРАБОТКИ ДИНАМИЧЕСКИХ ИЭС, ИНТЕЛЛЕКТУАЛЬНЫХ АГЕНТОВ И МАС
3.1. Примеры построения демонстрационных прототипов динамических ИЭС
В качестве примеров построения динамических ИЭС для различных ПрО и различных типовых задач ниже приводится описание двух прототипов ИЭС, разработанных с использованием системы G2 в рамках курсовых работ по дисциплине «Динамические интеллектуальные системы».
3.1.1. Прототип динамической ИЭС управления ядерным реактором «СУЗ ВВЭР-1000» (система управления и защиты реактора марки РБМК-1000)
Текущий этап развития ядерной энергетики как за рубежом, так и в России характеризуется приоритетными задачами создания реакторов на быстрых нейтронах, позволяющих решить проблему широкомасштабного развития ядерной энергетики благодаря осуществлению замкнутого топливного цикла по урану и плутонию, а также обеспечения повышенной безопасности действующих АЭС и АЭС нового поколения.
Безопасность ядерных реакторов определяется техническим совершенством самого реактора, систем его защиты, а также высокой технической культурой и квалификацией персонала всех без исключения рангов. Аварии и условия их возникновения в подавляющем большинстве случаев обусловлены неорганизованностью, безответственностью и безграмотностью людей, отвечающих за безаварийную эксплуатацию. Поэтому в условиях дальнейшего развертывания научно-технической революции в ядерной энергетике необходимо минимизировать человеческий фактор. Одной из областей в работе ядерного реактора, где можно и нужно уменьшить человеческий фактор, является защита реактора.
160