Известия Кабардино-Балкарского научного центра РАН № 6 (56) 2013
= МАТЕМАТИКА. ИНФОРМАТИКА. НАНОТЕХНОЛОГИИ
УДК 004.8
КОГНИТИВНАЯ ВИЗУАЛИЗАЦИЯ ПРОЦЕССА МОДЕЛИРОВАНИЯ РАССУЖДЕНИЙ В САМООРГАНИЗУЮЩИХСЯ МУЛЬТИАГЕНТНЫХ СИСТЕМАХ*
М.И. АНЧЁКОВ
ФГБУН Институт информатики и проблем регионального управления Кабардино-Балкарского научного центра РАН 360000, КБР, г. Нальчик, ул. И. Арманд, 37-а E-mail: [email protected]
В работе рассматривается задача реализации системы САПР на основе самоорганизующихся мультиагентных систем.
Ключевые слова: искусственный интеллект, мультиагентные системы, виртуальная реальность.
Введение
Программно-аппаратный комплек Intellecton представляет собой САПР систему, ориентированную на проектирование, отладку и моделирование процессов в системе на основе самоорганизующихся мультиагентных систем [1, 2, 3].
Общая структура приложения Комплекс представляет собой библиотеку классов, которую в данный момент можно разделить на две большие части:
• подсистема графического отображения;
• мультиагентная подсистема.
Дальнейшее развитие комплекса предполагает добавление новых подсистем, таких как: сетевая подсистема, подсистема высокопроизводительных вычислений и т. д. Основным механизмом расширения функциональности является механизм абстрактных классов и наследования. На рис. 1 представлена диаграмма наследования классов. Базовым классом для подсистем является класс AbstractEngine.
AbslraciEngine
| executed)
и
MAEngine GraphicsEnginc NctworkEnginc
-»executenO +execuler() +executen()
Рис. 1. Иерархия классов, реализующая основные подсистемы приложений
Исследование выполнено при финансовой поддержке РФФИ в рамках научных проектов № 12-01-00367-а, № 13-01-00929-а и программы Президиума РАН № 32 "Информационная система прогнозирования террористической угрозы в полиэтническом и поликонфессиональном макрорегионе на основе многофакторного мультиагентного имитационного моделирования".
Данный класс является чисто виртуальным, и его основная задача - определение интерфейсов взаимодействия с подсистемами. Основной функцией в представленной диаграмме является функция excecuter, которая объявлена в AbstractEngine и должна быть переопределена в каждом классе-наследнике.
Основное назначение данной функции - это реализация действий, которые происходят на временном промежутке в один такт. Например, для класса GraphicsEngine это один цикл перерисовки сцены.
Графическая система Графическая подсистема реализована с помощью библиотеки OpenSceneGraph [4, 5]. Данная библиотека является програмным обеспечением с открытым исходным кодом, опубликованым под лиценцией, совместимой с LGPL, что позволяет использовать библиотеку в коммерческих целях, не раскрывая исходный код конечной программы.
По своей сути OpenSceneGraph (OSG) представляет собой объектно-ориентированную надстройку над OpenGL. Это качество позволяет портировать программное обеспечение почти на все современные операционные системы семейства Microsoft Windows, Linux и Mac OS, а также на операционные системы для мобильных устройств Android и iOS. OSG позволяет работать с основными форматами файлов 2D и 3D графики. Все объекты, которые необходимо визуализировать, хранятся в графе сцены.
Основным классом для хранения объектов был выбран класс osg::Group. Отличительной особенностью объектов данного класса является то, что они могут агрегировать в себе другие узлы графа сцены. Способ хранения основных элементов графа сцены представлен на рис. 2.
Рис. 2. Структура графа сцены, предназначенной для хранения элементов,
необходимых для отображения
Класс ^овШопАИШёеТгапвГогт предназначен для хранения позиции, ориентации в пространстве и для масштаба.
Класс ОБ§::Коёе предназначен для непосредственного хранения графического представления визуализируемого объекта.
Класс ОБ§::Тех1 предназначен для отображения текста.
Отображение когнитивных процессов происходит двумя основными способами:
1. Навигационный.
Пользователь выбирает с помощью манипулятора необходимый объект, после чего система отображения считывает внутреннее состояние объекта и отображает его на экран.
2. Текстовый.
Для отображения мультиагентных взаимодействий между агентами существует чат.
Чат представляет собой отдельное окно, в котором пользователь может видеть сообщения, которые посылают друг другу элементы мультиагентной системы.
Согласно [2, 3] агенты могут заключать между собой контракты. Факт наличия контрактов между агентами отображается с помощью линии. Так как количество контрактов может быть достаточно большим, предусмотрены интерактивные способы настройки отображения данной информации. На рис. 3 представлена мультиагентная система, состоящая из 11 агентов. Линиями обозначены контракты, которые агенты заключили между собой.
Все объекты, которые необходимо отобразить, должны наследоваться от класса АЬ81;гас1Еогт, представленного на рис. 4.
Это необходимо для единообразного добавления в классы данных и методов для работы с объектами в трехмерном пространстве.
Класс АЬв^айЕогт состоит из следующих элементов:
• т_роБ - массив координат в трехмерном пространстве,
• т_&г - ориентация в пространстве,
• т_пате - имя объекта,
Рис. 3. Агенты с заключенными контрактами
• ш_ишё - уникальный номер,
• ш_!Ъгш - название графического представления.
AbstrctForm
-m_pos : double -m_dir: double -m_name : wchar t -m_uuid
-m_form : wchar_t
+setName() +getName{) +getPos{) +setPos()
Рис. 4. Структура класса AbstractForm
РЕАЛИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ С ЭЛЕМЕНТАМИ СИСТЕМЫ В ВИРТУАЛЬНОМ ПРОСТРАНСТВЕ Для решения задачи взаимодействия с элементами системы была выбрана система че-ловеко-компьютерного взаимодействия на основе захвата движения Leap Motion (LM).
LM (рис. 5) представляет блок размером 80х30х10 мм, который оснащен бесконтактными датчиками, позволяющими отслеживать положение рук, пальцев и ладоней человека в области объемом 227 дм3, расположенных над блоком. Также LM позволяет отследить определенное количество жестов и предоставить возможность реагировать на них. Устройство поставляется со всеми необходимыми документами и программным интерфейсом.
Рис. 5. Бесконтактный манипулятор человеко-компьютерного взаимодействия
Leap Motion
На рис. 6 представлен скиншот, на котором находятся два объекта в виде шара, которыми нужно манипулировать, и один указатель в форме кисти.
Рис. 6. Указатель и объекты в трехмерном пространстве
Каждый такт работы класс ОгарЫс8Еп§те отслеживает все узлы графа сцены на предмет пересечения. Как только найдено пересечение указателя с объектом графа сцены и пользователь сделал определенный жест, программный интерфейс ЬМ начинает передавать координаты указателя объекту, с которым произошло пересечение. Таким образом, происходит перемещение объектов в трехмерном пространстве. Для выхода из режима редактирования пользователю необходимо выполнить первоначальный жест.
Заключение
В работе представлено решение задачи когнитивной визуализации и моделирования рассуждений в самоорганизующихся мультиагентных системах. Представленное решение не только выполняет основные функции, но и обладает большим потенциалом расширения функциональности.
ЛИТЕРАТУРА
1. Анчёков М.И. Применения процедуры Q-обучения для настройки приоритетов правил в мультиагентной нейронной сети // Материалы международного конгресса по интеллектуальным системам и информационным технологиям IS&IT-13. 2-9 сентября, Дивно-морское: Физматлит, 2013.
2. Нагоев З.В., Нагоева О.В. Синтез интеллектуального поведения на основе мультиагентных экзистенциальных отображений и рекурсивных когнитивных архитектур // Материалы международного конгресса по интеллектуальным системам и информационным технологиям IS&IT-13. 2-9 сентября, Дивноморское: Физматлит, 2013. Т. II. С. 30-37.
3. Денисенко В.А., Кудаев А.Ю., Шауцукова Л.З. Разработка методов извлечения знаний из массивов слабо структурированных данных на основе нейроподобных мультиагентных когнитивных архитектур // Материалы международного конгресса по интеллектуальным системам и информационным технологиям IS&IT-13. 2-9 сентября, Дивноморское: Физ-матлит, 2013.
4. Riu Wang, Xuelei Qian. OpenSceneGraph 3. Beginner's Guide, Packt publishing, 2010.
5. Rui Wang, Xuelei Qian. OpenSceneGraph 3. Cookbook-Packt Publishing, 2012.
COGNITIVE VISUALIZATION OF THE REASONING PROCESS OF MODELING SELF-ORGANIZING MULTI-AGENT SYSTEMS
M.I. ANCHYOKOV
Institute of Computer Science and Problems of Regional Management of KBSC of the Russian Academy of Sciences 360000, KBR, Nalchik, 37-a, I. Armand street E-mail: [email protected]
The problem of the implementation of the CAD system based on self-organizing multi-agent systems is studied in this work.
Key words: artificial intelligence, multi-agent systems, virtual reality.
Работа поступила 24. 10. 2013 г.