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

Sb99054

.pdf
Скачиваний:
9
Добавлен:
13.02.2021
Размер:
898.08 Кб
Скачать

МИНОБРНАУКИ РОССИИ

––––––––––––––––––––––––––––––––––––––––––––––––––––

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина)

–––––––––––––––––––––––––––––––––––––––––––

В. В. ЖАНДАРОВ М. Г. ПАНТЕЛЕЕВ

ПОСТРОЕНИЕ ИНТЕЛЛЕКТУАЛЬНЫХ АГЕНТОВ В СРЕДАХ JADE и JADEX

Учебно-методическое пособие

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2020

1

УДК 004.89(07)

ББК З 813я7+З 988.02я7+З 973.233я7 Ж28

Жандаров В. В., Пантелеев М. Г.

Ж28 Построение интеллектуальных агентов в средах Jade и Jadex: учеб.-метод. пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2020. 40 с.

ISBN 978-5-7629-2672-0

Содержатся указания к выполнению двух работ лабораторного практикума по дисциплине «Интеллектуальные агенты и многоагентные системы». Рассмотрены вопросы установки и запуска платформы Jadex, запуска агентов на данной платформе, проектирования многоагеных систем в соответствии с методологией MaSE и их реализации на платформах Jade и Jadex.

Предназначено для студентов кафедры вычислительной техники (ВТ) СПбГЭТУ «ЛЭТИ», обучающихся по магистерской программе «Распределенные интеллектуальные системы и технологии».

УДК 004.89(07)

ББК З 813я7+З 988.02я7+З 973.233я7

Рецензент – Санкт-Петербургский государственный университет (д-р техн. наук, проф. А. Б. Дегтярев).

Утверждено редакционно-издательским советом университета

в качестве учебно-методического пособия

ISBN 978-5-7629-2672-0

© СПбГЭТУ «ЛЭТИ», 2020

2

ВВЕДЕНИЕ

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

Интеллектуальные агенты (ИА) и основанные на них мультиагентные системы (МАС) являются сравнительно новым и динамично развивающимся классом распределенных интеллектуальных систем [1] – [3]. Зародившаяся в 90-х гг. ХХ в. концепция ИА и МАС оформилась как самостоятельное научное направление на стыке искусственного интеллекта и распределенных систем обработки информации. Создание в середине 90-х годов. организации FIPA [4], нацеленной на стандартизацию агентных технологий, разработка стандартов построения агентных систем и соответствующих им программных платформ явились свидетельством технологической зрелости данного направления.

Пособие содержит описание двух заключительных работ лабораторного практикума [5], [6], состоящего из девяти лабораторных работ и охватывающего основные аспекты проектирования и разработки агентных систем с использованиемсовременныхинструментальныхсредств. Рассмотренывопросы практической реализации ИА с BDI-архитектурой и многоагентных систем на платформах Jade и Jadex, совместимых со стандартами FIPA. Изучаются методологии проектирования ИА и МАС.

Выполнение лабораторного практикума предполагает наличие базовых знаний и практических навыков программирования на языке Java.

3

ЛАБОРАТОРНАЯ РАБОТА № 8

ИЗУЧЕНИЕ СОСТАВА И ОСНОВНЫХ ФУНКЦИОНАЛЬНЫХ ВОЗМОЖНОСТЕЙ СРЕДЫ JADEX

Цель работы – получение практических навыков установки и запуска платформы Jadex, а также запуска агентов с использованием графического интерфейса пользователя.

8.1.Теоретические сведения

8.1.1.Общая характеристика среды Jadex

СредаJadex – инструментдляпостроенияинтеллектуальныхагентовсBDIархитектурой, соответствующих спецификациям FIPA [7]. Jadex поддерживает гибридную реактивно-делиберативную архитектуру агента [3]. В рамках данной архитектуры агент рассматривается как «черный ящик», принимающий

иотправляющий сообщения. На основе результатов обработки сообщений, а такжевнутреннихивнешнихсобытий, делиберативныймеханизмпринимает решение о переходек новому плану действий или продолжении текущего. План можетсодержатьдействияразныхтипов: посылкусообщенийдругимагентам, изменение базы убеждений, формирование новых целей. Кроме того, план может вызывать внутренние события. ИА в Jadex создаются с использованием языка программирования Java и языка XML. Система использует библиотеку планов, которые обрабатываются как Java-классы.

Всреде Jadex могут быть реализованы ИА, спроектированные с использованием различных методологий, таких как Gaia, AUML, Tropos, MaSE.

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

ивнутреннем состоянии максимально соответствуют его целям. Библиотека Jadex включает программные Java-классы для представления таких понятий как убеждения (beliefs), цели (goals), планы (plans) и позволяет манипулиро-

вать ими в процессе работы ИА. Абстрактная архитектура BDI-агента в среде Jadex представлена на рис. 8.1.

Убеждением (beliefs) агента в Jadex может быть любой Java-объект, сохраненный в базе убеждений (beliefbase).

4

Машина

Выбранные

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

логического вывода

цели

 

 

 

 

 

 

 

 

 

Текущие

Убеждения

Условия

 

Цели

ситуации

(beliefs)

для цели

 

(goals)

Выбор целей

 

События

События

 

условий

целей

 

 

Текущие

 

 

События

Входящие

события

Факты

 

(events)

сообщения

 

 

 

 

Отправление

 

чтения/записи

События

Выбор планов

 

 

приложения

(под) цели

Выбранные

 

Планы

Исходящие

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

 

планы

 

(plans)

сообщения

цели

 

 

 

 

 

 

Рис. 8.1. Абстрактная архитектура Jadex-агента

Цели (goals) представляют мотивации, влияющие на поведение (behavior) агента. Для достижения целей агент выполняет планы (plans), которые также представлены на языке Java.

Процесс логического вывода, выполняемый Jadex-агентом, включает:

непрерывное «обдумывание» текущих целей для определения списка наиболее значимых из них, которые необходимо достичь;

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

База знаний (beliefbase) хранит факты, в которых агент убежден. В Jadex база знаний содержит строковые идентификаторы фактов, каждый из которых представлен объектом Java. Существует два класса для представления убеждений (beliefs): Belief – содержит один факт, BeliefSet – содержит набор фактов.

Объект цель (goal) – это центральный концепт в Jadex. Цель может находиться в одном из нескольких состояний: «вариант выбора» (option), «активна» (active) или «временно приостановлена» (suspended). Состояние целей агент анализирует на основе своих убеждений (beliefs).

Жизненный цикл цели представлен на рис. 8.2. На рисунке переходы состояния цели (goal) показаны стрелками. Пунктирными линиями показано влияние контекста или условий на возможность перехода между состояниями.

Всякий раз, когда при возникновении соответствующих условий агент выбирает цель (goal), она переходит в состояние «вариант выбора» (option)

5

и попадает в список текущих целей агента. В процессе работы агента статус целиможетменяться: онаможетстановитьсяактивной(active) илипереходить в состояние «вариант выбора» (option). При невозможности достижения цели (goal) втекущемконтексте, онапереходит всостояние«временно приостановлена» (suspended) до тех пор, пока контекст не будет удовлетворять условиям достижения цели (goal).

 

 

Принятые

 

 

 

Принята

Не

 

 

 

 

 

 

Условия

 

Контекст

 

 

создания

 

 

 

Новая

Вариант

Не

Временно

 

 

 

цель

 

приостановлена

 

выбора option

 

 

 

 

suspended

Условия

 

 

 

 

 

 

Не

 

 

 

завершения

 

 

Активна

 

 

 

 

active

 

 

Рис. 8.2. Жизненный цикл цели Jadex-агента

В Jadex определены следующие четыре типа целей.

Цель для выполнения (perform goal) – определяет необходимость выполнения некоторых действий, которые не обязательно должны привести к определенному результату. Например, робот-мусорщик может иметь в качестве цели для выполнения осмотр окружающего пространства в поисках мусора.

Цель для достижения (achieve goal) – задает абстрактное целевое состояние(target state). Алгоритмдостиженияэтойцелиможетбытьнеописан. Агент может достичь цели различными альтернативными способами. Например, агент игрока для поиска необходимых ресурсов в стратегической игре может для достижения цели выполнить одно из двух действий: договориться с агентами других игроков для совместного поиска ресурсов или попытаться найти требуемые ресурсы своими силами.

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

6

Цель для поддержания (maintain goal) – определяет состояние, которое должно «поддерживаться» после того, как оно было достигнуто. Например, для агента управления реактором целью для поддержания может быть удержание температурывреакторенижеопределенногоуровня. Еслипревышендопустимый уровень – срабатывает механизм переключения состояния цели. Аналогично цели для достижения (achieve goal) и поисковой цели (query goal) для изменения статуса цели для подержания агент может опробовать несколько планов.

ВJadex целипредставленыобъектамиснесколькимиатрибутами. Желаемое состояние (target state), относящееся к цели для достижения, может быть в явной форме определено выражением (например, со ссылками на убеждения), вычисляемым для оценки того, достигнута ли цель. Атрибуты цели (такие как название) используются для поддержания процесса выбора планов, они задают цели, активизирующие выполнение плана. В процессе выполнения планов могут быть использованы дополнительные параметры цели. Например, для цели (goal) поиска необходимых сервисов через сервис «желтых страниц» DF FIPA может быть определено дополнительное ограничение на количество записей (адресов сервисов) в ответе от сервиса «желтых страниц» DF.

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

Планы содержат описание конкретных действий агента, которые необходимо выполнить для достижения его целей. Разработчик должен в заголовке плана определить условия выполнения плана и последовательность действий в теле плана. План может содержать набор действий для достижения цели или для реагирования на событие. В текущей версии Jadex тело плана описывается на языке программирования Java. В процессе работы агента выполнение планов инициируется событиями или целями, что описывается в заголовке плана. Кроме того, существует начальный план, выполняемый при «рождении» агента. План может содержать не только последовательность действий, но также отправлять подцели в базу целей и ожидать событий, которые должны произойти.

8.1.2. Модель выполнения агента в Jadex

МодельвыполненияагентавJadex представленанарис. 8.3. Отметим, что цикл выполнения BDI-агента не соответствует полностью классическому циклу интерпретатора BDI-агента [3]. Интерпретатор агента Jadex имеет

7

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

Выполнение

Поиск

Выбор плана

Выполнение

подходящего

шага плана

 

плана

плана

 

 

 

 

 

 

 

– выполненное действие

Агенда

 

 

– текущее действие

 

 

 

 

 

 

– новое действие

 

 

 

От внешних источников

 

 

 

(например, входящие

 

 

 

сообщения)

Интерпретатор

Интерпретатор

Новый объект

стратегии выбора

 

стратегии

для агенды

 

 

добавления

 

 

 

 

Условия

Выбранное

Выполнение

Изменения

выполнения

 

действие

действий

в системе

 

Интерпретатор

 

 

Определитель

 

 

изменений

Рис. 8.3. Модель выполнения агента в Jadex

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

8

8.1.3.Описание агента в Jadex

Всреде Jadex агент описывается в файле определения агента (agent definition file – ADF) и файлах, содержащих классы Java. Структура описания агента в Jadex представлена на рис. 8.4.

Агентная платформа

JADE

 

 

Агент Jadex

 

 

 

ADF

 

План (plan)

<agent name=”buyer”>

 

public class Plan_A

<beliefs>

 

extends Plan

 

{

<goals>

 

public void body()

 

{

<plans>

 

 

}

</agent>

 

 

 

}

 

 

 

Рис. 8.4. Структура описания агента в Jadex

Файл ADF содержит параметры агента, такие как убеждения (beliefs), цели(goals) ипланы(plans)), записанныевформатеXML. Значенияубеждений (beliefs) и параметры целей (goals) могут быть в дополнение к XML-тегам специфицированы с помощью объектов языка программирования Java.

8.1.4. Процесс установки и запуска инструментов Jadex

Для установки среды Jadex (версии 2.4) на локальном компьютере необходимо создать каталог (например, jadex) и распаковать в него архивный файл jadex-2.4.zip. Необходимо также, чтобы на данном компьютере была установлена среда JDK не ниже 1.6.

9

Рис. 8.5. Главное окно центра управления Jadex

При запускефайлаjadex.bat должны появится дваокна: консолькомандной строки, в которой выводятся сообщения Java и Jadex, и главное окно центра управления Jadex (Jadex Control Center – JCC), представленное на рис. 8.5.

8.1.5. Пример реализации МАС в Jadex

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

На первом этапе проектирования необходимо определить роли агентов.

Агент-сборщик мусора (garbage collector agent):

долженисследоватьпространство, следуяпоопределенномумаршруту;

при попадании в ячейку (область) с мусором должен собрать мусор

ипринести его к агенту-сжигателю мусора;

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

Агент-сжигатель мусора (burner agent):

статичен в пространстве – не перемещается;

ждет появления мусора в своей ячейке (области);

10