- •2.Алгоритм методики концептуального анализа структур действий.
- •3.Экспертные системы (эс): определение, назначение эс, обобщенная структура классической эс, назначение отдельных блоков, достоинства и недостатки экспертных систем.
- •4.Технология разработки эс: этапы и стадии проектирования.
- •5.Нечеткая логика: нечеткое множество, функция принадлежности, операции над нечеткими множествами. Нечеткие отношения. Операции над нечеткими отношениями.
- •6.Лингвистическая переменная: определение, структура, связь с нечеткими множествами.
- •7.Рассуждения на нечетких множествах. Правила нечеткой импликации. Примеры.
- •8.Нечетко-логические экспертные системы: обобщенная структурная схема, назначение отдельных модулей, пример функционирования.
- •9.Способы суперпозиции и дефаззификации в процессе нечеткого логического вывода.
- •10.Основы нечеткой арифметики: правила выполнения арифметических операций с нечеткими числами, пример.
- •11.Онтологии и онтологические системы: определение, назначение, структура. Виды онтологий. Отличие онтологий от баз данных. Языки представления онтологических знаний. Примеры онтологических систем.
- •12.Агенты и мас: определения, обобщенная структурная схема агента и мас, области применения агентов и мас.
- •13.Агенты и среды функционирования агентов: определения, свойства среды функционирования, примеры сред, обладающих разными свойствами.
- •14.Понятие агента и мас: определение, отличие агента от объекта и экспертной системы.
- •15.Варианты структурной организации агентов: структурные схемы простого рефлексного агента и агента с моделью внешней среды, сравнение функциональных возможностей.
- •16.Варианты структурной организации агентов: структурные схемы агента с моделью внешней среды и агента с функцией полезности, сравнение функциональных возможностей.
- •17.Варианты структурной организации агентов: структурные схемы агента с функцией полезности и обучающегося агента, сравнение функциональных возможностей.
- •18.Понятие агента и мас: определение, критерии целесообразности применения многоагентного подхода для решения задач.
- •19.Агенты, как целеустремленные системы: bdi-модель агента, обоснование целесообразности ее использования на примерах, уровни целеустремленности агентов.
- •20.Технологии агентно-ориентированного анализа и проектирования: классификация, технология проектирования агентов на основе концептуального анализа структур действий.
- •21.Типичные проблемы («подводные камни»), с которыми сталкиваются разработчики мас.
- •22.Проблема кооперации агентов: необходимость кооперации, общие свойства протоколов ведения переговоров, необходимые составляющие переговорного процесса.
- •23.Аукционы как переговоры с целью распределения ресурсов: классификация аукционов; основные варианты проведения аукционов – английский, голландский; проблемы лжи и сговора при проведении аукционов.
- •24.Задачно-ориентированные переговоры: формализация переговорного процесса и стратегия ведение переговоров по протоколу последовательных уступок.
- •25.Классификация языковых средств описания агентов на различных уровнях абстракции, назначение отдельных групп языков.
- •26.Мобильные агенты: определение, назначение, обобщенная структурная схема, основные понятия теории мобильных агентов. Пример решения задачи.
- •27.Стандартные языки взаимодействия агентов: kqml, kif – назначение, структура сообщений, примеры сообщений.
- •28.Структура мас как программной системы в среде Jason: структура программы агента, структура программы среды функционирования, структура файла проекта.
- •Имя события : Контекстные ограничения
28.Структура мас как программной системы в среде Jason: структура программы агента, структура программы среды функционирования, структура файла проекта.
Jason – это перспективное инструментальное средство для создания МАС на основе комбинации двух языков – расширенного AgentSpeak и Java.
AgentSpeak – это язык описания логики работы агентов и взаимодействий между ними, ориентированный на программирование BDI-модели.
Java в Jason используется для программирования моделей специфических сред функционирования агентов, разработки пользовательских интерфейсов МАС и модификации стандартной работы самого Jason.
Программа МАС на языке AgentSpeak в среде Jason состоит из проектного файла и файлов с программами агентов. Запущенная на выполнение МАС работает циклично, до тех пор, пока не будет остановлена пользователем вручную, самими агентами или интерпретатором по причине ошибки.
Проект МАС в Jason состоит из файла проекта, имеющего расширение «.mas2j», файлов с программами агентов (минимальное количество агентов – один), которые должны иметь расширение «.asl», файлов модели среды и пользовательского интерфейса (не обязательно), написанных на Java.
Программа каждого агента пишется на языке AgentSpeak и структурно состоит из трех частей, относительное расположение которых фиксировано:
- изначальные убеждения и правила;
- изначальные цели;
- планы достижения целей.
Планы
Планы описывают процедурную составляющую знаний агента.
План состоит из четырех частей:
- метки плана (необязательна);
- события активации плана;
- контекстных ограничений (могут отсутствовать);
- содержания плана (может отсутствовать).
Эти части разделяются специальными символами-маркерами, как будет показано ниже.
Метка плана позволяет задать плану уникальный идентификатор. При помощи метки можно выполнять над планом различные операции, а также определять дополнительные свойства планов.
Событие активации обычно располагается на следующей строке после метки или отделяется от нее пробелом.
Имя метки начинается с символа «@», после которого должна следовать маленькая буква, а далее – любые латинские буквы, цифры. Приведем примеры меток.
@p1 – правильная метка.
@P1 – неправильная метка.
@mm12CV – правильная метка.
@12pm – неправильная метка.
Событием активации плана может быть любое изменение, происходящее с убеждениями и целями. Например, события порождаются, когда:
- происходит добавление или удаление убеждений;
- происходит возникновение новых или отказ от прежних целей;
- запрашивается несуществующая в базе убеждений информация;
- нарушается процесс выполнения плана.
Имена событий начинаются со знаков «+» и «-» и образуются от имен убеждений и целей как показано в табл. 2.
Таблица 2
Обозначение события |
Пояснение |
+k |
Событие добавления убеждения k |
-k |
Событие удаления убеждения k |
+!k |
Событие возникновения цели !k |
-!k |
Событие отказа от достижения цели !k (по причине ошибки в плане или штатным образом) |
+?k |
Событие возникновения цели-проверки |
-?k |
Событие отказа от проверки ?k (по причине ошибки в плане или штатным образом) |
Рассмотрим подробнее три последних события, указанных в таблице. Допустим, у нас имеется план, обслуживающий достигаемую цель «!p», в теле которого присутствует цель-проверка «?f(X)». Когда интерпретатор Jason переходит к обработке цели-проверки, то вначале он пытается достичь ее путем считывания заданных термов из базы убеждений.
Если в базе убеждений в явном виде нет необходимого для этого убеждения, то он пытается вывести его из имеющихся правил.
Если подходящие правила не будут найдены, то генерируется событие «+?f(X)» в надежде на то, что найдется план, вычисляющий значение терма X.
Если такой план будет найден, но должным образом не завершит свою работу, например, по причине ошибки, то генерируется событие отказа от цели-проверки «-?f(X)».
Если плана для обработки «+?f(X)» не найдено, то происходит отказ от достижения цели «!p» и генерируется событие «-!p».
События «-?f(X)» и «-!p» также могут быть перехвачены и обработаны соответствующими планами. Посредством подобных планов обычно реализуется обработка исключительных ситуаций.
Контекстные ограничения позволяют описывать дополнительные условия активации планов. Таким образом, при возникновении одного и того же события в разных условиях будут активироваться разные планы. Контекстные ограничения представляют собой логические выражения, составленные из оценок убеждений и логических функций Jason. Вместе с событием контекстные ограничения образуют заголовок плана.
Термы-переменные, конкретизированные в контекстных ограничениях, сохраняют свое значение и в теле плана.
Приведем примеры контекстных ограничений в отрыве от остальных частей плана:
«p(X)&q(Y)&X>Y» – ограничения вычисляются слева направо, поэтому сначала будет конкретизирована переменная X, потом Y, и, наконец, они будут сравнены.
Тело плана – это последовательность операций, реализующих предназначение плана:
- математических операций;
- вызовов внутренних функций Jason;
- действий, направленных на объекты среды функционирования МАС;
- коммуникационных актов.
Отдельные выражения в теле плана отделяются точкой с запятой, а в конце плана ставится точка.
Обобщенная синтаксическая конструкция плана выглядит следующим образом.
«Метка
Имя события : Контекстные ограничения < Тело плана.»
Возможны также следующие варианты структуры плана.
1. Без контекстных ограничений.
«Имя события < Тело плана.»
2. Без контекстных ограничений и телa плана.
«Имя события.» или «Имя события<-true.»
3. Без тела плана, но с контекстными ограничениями.
