Интеллектуальные системы и технологии

УДК 007.5:681.518.2

, студент,

, канд. техн. наук, доц.

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» Санкт-Петербург

ИССЛЕДОВАНИЕ ВАРИАНТОВ РЕАЛИЗАЦИИ ПРОДУКЦИОННЫХ СИСТЕМ В СОСТАВЕ ИНТЕЛЛЕКТУАЛЬНОГО АГЕНТА РЕАЛЬНОГО ВРЕМЕНИ

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

Ключевые слова: интеллектуальный агент, планирование действий, подсистема планирования.

Abstract. The object of research is a planning subsystem as part of a real-time intelligent agent which acts in the virtual football environment. The aim of the work was to create a software implementation of a subsystem that plans the intelligent agent’s actions on the virtual football field by analysing specific criteria for high-level situation. This module uses two models, production models and decision trees. This makes it possible to compare these models in terms of their temporal characteristics. These time characteristics are important from the point of view that the agent time to make a decision on the selected action is limited.

НЕ нашли? Не то? Что вы ищете?

Keywords: intelligent agent, action planning, planning subsystem.

Под интеллектуальным агентом, согласно наиболее распространенному определению, понимают систему, реализованную аппаратно или программно, и обладающую следующими свойствами [1]:

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

Выбранная архитектура детализирована в соответствии с [2] и показана на рисунке 1.

Рисунок 1 – Детализация архитектуры агента

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

Задача генерации базового множества возможных вариантов действий может осуществляться несколькими способами:

    методом перебора исходных признаков (if-else); используя существующие машины вывода, представляющие продукционную модель знаний (CLIPS, Jess); с помощью деревьев решений. В данном методе сначала инициализируется дерево решений, а поиск результата в дереве решений осуществляется с помощью интерпретирующей функции.

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

Для взаимодействия Java-приложения и среды CLIPS были использованы следующие методы интерфейса CLIPSJNI (класс Environment):

    loadFromString – загружает правила или факты из файла в Java-приложение. reset – выполняет сброс среды CLIPS; run – запускает логический вывод в среде CLIPS; eval – выполняет строку, заданную в Java-приложении, в среде CLIPS.

С учётом перечисленных выше методов получение базового множества действий с использованием МЛВ осуществляется следующим образом:

Вызов метода loadFromString с конструкцией «deffacts» (задание начального факта). Начальный факт представляет собой шаблон с введёнными пользователем значениями. Вызов метода reset() (сброс МЛВ). При этом происходит очистка рабочей памяти; в список правил, готовых к исполнению (агенду), заносится правило, готовое к активации. Вызов метода run() (выполнение). Правило активизируется, тем самым генерируя шаблон, представляющий базовое множество действий. Вызов метода eval() с конструкцией (find-fact). Это позволяет возвратить искомый результирующий факт.

Для метода с использованием машины логического вывода общее время получения решения состоит из времени добавления начального факта, времени сброса МЛВ и времени логического вывода.

В таблице 1 приведены экспериментальные времена для метода с использованием МЛВ.

Таблица 1 – Времена выполнения при использовании МЛВ

Параметр

Значение

Время добавления начального факта

80.052 мкс

Время сброса МЛВ

22.989 мкс

Время логического вывода

8.621 мкс

Сумма

111.662 мкс

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

Алгоритм поиска базового множества действий в дереве решений реализован следующим образом:

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

Для метода с использованием дерева решений время получения решения равно времени поиска решения в дереве. Экспериментальное время получения решения для метода с использованием дерева решений составило приблизительно 5 мкс.

Таким образом, генерация базового множества действий при использовании дерева решений заняла примерно 5 мкс, что примерно в 22 раза быстрее, чем вывод в CLIPS. Это означает, что деревья решений наиболее подходят для построения агентов реального времени.

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

, , Многоагентные системы // Новости искусственного интеллекта. – 1998. – № 2. – С. 64-116. Ljungberg M. and Lucas. A. The oasis air-traffic management system. In Proceedings of the Second Pacific Rim International Conference on Artificial Intelligence (PRICAI ’92), Seoul, Korea, 1992. Джарратано Дж., кспертные системы: принципы разработки и программирование. – М.: Вильямс, 2007. – 1152 с. Концепция построения интеллектуальных агентов реального времени на основе модели опережающего итеративного планирования// Труды 13-ой Нац. Конф. по ИИ с международным участием КИИ-2012. Т 3. – Белгород: Изд-во БГТУ. – 2012. – С. 25-33. Формальная модель опережающего итеративного планирования действий интеллектуальных агентов реального времени// Труды 14-ой Нац. Конф. по ИИ с международным участием КИИ-2014. Т 1. – Казань: Изд-во РИЦ «Школа». – 2014. – С. 323-333.