Инструментарий исследования команд интеллектуальных агентов

Тип работы:
Реферат
Предмет:
ТЕХНИЧЕСКИЕ НАУКИ


Узнать стоимость новой

Детальная информация о работе

Выдержка из работы

УДК 004. 82
И. Ю. Никляев
ИНСТРУМЕНТАРИЙ ИССЛЕДОВАНИЯ КОМАНД ИНТЕЛЛЕКТУАЛЬНЫХ АГЕНТОВ
Волгоградский государственный технический университет
spirit. of. fire@mail. ru
В данной работе предлагается способ описания и анализа поведения интеллектуальных агентов в команде. Рассмотрены некоторые особенности агентного взаимодействия, представление знаний о которых затруднено, и сделан вывод о необходимости разработки нового языка представления знаний. Разработан синтаксис языка представления знаний, рассмотрены его отличительные особенности. Предложен концепт программного инструмента анализа поведения команд агентов, основанных на знаниях.
Ключевые слова: многоагентные системы, МАС, представление знаний, искусственный интеллект, логическое программирование.
I. Y. Niklyaev
INTELLECTUAL AGENT TEAMS RESEARCH TOOLKIT
In this paper a method of intellectual agent teams behavior description and analysis is proposed. Some agent interaction features representation of knowledge about which is complicated are considered. Knowledge representation language syntax is developed, its distinctive features are considered. Concept of software tool for knowledge-based agent teams behavior analysis is proposed.
Key words: multiagent systems, MAS, knowledge representation, artificial intelligence, logic programming.
Введение
Целью работы является поиск и разработка эффективного инструмента анализа и описания поведения команд интеллектуальных агентов для выявления механизмов управления, обучения и принятия решений командой.
Для решения задач в областях и средах, не доступных человеку непосредственно, все чаще используются роботы и команды роботов, взаимодействующих между собой и обладающих высокой степенью мобильности. Работа актуальна для исследователей команд естественного происхождения, например, групп хищников, а также команд программных агентов (софтботов).
Задачи
Для достижения поставленной цели необходимо решить ряд задач, которые обобщенно можно представить так:
1. Разработка способов исследования поведения команд. Основная задача работы заключается в разработке такого способа исследования поведения команд, который позволил бы делать выводы о механизмах самоорганизации и других неочевидных механизмах функционирования команд, особенно при использовании обучения, при задании принципов функционирования команды на наиболее высоком уровне абстракции от архитектуры агентов.
2. Разработка программного средства для моделирования команды как мультиагентной системы, знаний агентов и поведения команды
в различных условиях. Задача включает в себя реализацию разработанных способов, а также остальных компонентов, необходимых для проведения моделирования поведения команды.
3. Моделирование поведения команд, приближенного к реальным задачам с целью анализа эффективности разработанных способов. Для определения эффективности разработанных способов и их реализации необходимо их применение для решения реальной исследовательской задачи.
Представление знаний
Для успешных действий агента в конкурентной или кооперативной среде, очевидно, требуется строить модели не только материального мира, но также и мыслительных процессов других агентов. Следствием этого требования является требование решения задачи рефлексии агентом [2]. При условии учета рефлексии также и конкурентом одного лишь учета рефлексии недостаточно, поэтому агент также должен уметь адаптироваться к меняющейся стратегии действий оппонента, то есть использовать механизмы обучения. Механизмы рефлексии и обучения также должны быть инвариантны относительно условий среды для обеспечения наиболее быстрого перехода к другой среде, также система должна предоставлять механизмы модификации знаний агента при замене одной предметной области на другую [1].
Так как знания агента должны быть в высокой степени модифицируемыми, язык пред-
ставления знаний должен быть наиболее высокого уровня. В силу указанных выше требований к системе язык БЗ должен быть лаконичным, обеспечивать задание механизмов рефлексии, обучения, поиска, а также возможность описания предметной области возможно более быстро и кратко. С учетом вышесказанного был разработан декларативный язык логики неопределенного порядка с элементами программирования в ограничениях (Constraint Logic Programming — CLP) [1]. Выбор логики неопределенного порядка обусловлен ее выразительной мощью, простотой задания в ее рамках механизмов обучения и особенно рефлексии, а также сокращением объема базы знаний [3]. Применение CLP необходимо для эффективной работы с объемными массивами численных данных, описывающих состояния мира в предметных областях, связанных с перемещениями в физической среде, также его использование облегчает заполнение базы знаний, поскольку разработчику не нужно следить за последовательностью связывания переменных перед наложением ограничений. Использование CLP позволяет также работать с ограничениями на значения переменных, не заботясь о конкретных значениях. Синтаксис разработанного языка схож с синтаксисом широко известного языка Prolog, однако в нем присутствуют переменные и константы предикатных типов для записи выражений логики порядка больше единицы [4], а также поддержка динамически формируемых структур.
Пример задания общего знания агентов (нередко возникающая ситуация в рефлексивных играх) на разработанном языке:
knows (a1, X): -knows (a2,X).
knows (A, K): -K={knows (X, Y)} (X, Y), K (A, S), S-K.
Первое правило здесь указывает, что любое знание агентов a1 и a2 является общим- второе правило указывает на знание агентом A каждого факта или правила S из его базы знаний. Задание знания такого типа невозможно в логике любого ограниченного порядка, в данном же языке это возможно без всяких ограничений. В данном примере также можно видеть применение лямбда-выражения, в языке такие выражения выделяются фигурными скобками. Благодаря использованию лямбда-выражений и переменных предикатного типа становится возможным редактирование базы знаний естественным образом, не прибегая к использованию встроенных предикатов. В следующем
примере демонстрируется добавление и удаление правила из базы знаний путем унификации: assert (Name, Antecedent): -Name=Antecedent. ?-а88еП (шоге,{Х& gt-У}(Х, У)), шоге (20,18), тоге≠ {Х& gt-У}(Х, У).
Также отличительной особенностью языка является поддержка динамически формируемых структур, демонстрируемая в следующем примере:
?-Р1[х]=100,Р2 [у]=200,Р1 =Р2.
Таким образом, разработчик базы знаний получает возможность динамически накладывать ограничения на структуру переменных без дополнительных затрат времени на описание типов данных.
Использование данного языка позволит более эффективно разделить знания агента на универсальные и специфичные для конкретной среды. При этом универсальные знания реализуются в виде отдельных библиотек, которые разработчик может использовать по своему желанию.
Для успешного наблюдения за поведением исследуемой команды исследователь должен иметь возможность отслеживать передачу сообщений между агентами- при этом сообщения должны быть понятны ему как исследователю поведения, с одной стороны, и как разработчику знаний, с другой. Руководствуясь такими соображениями, автор принял решение передавать в качестве информационных сообщений знания агентов в чистом виде. Например, пусть существуют два агента, а и Ь. Агент, а обладает знанием о высоте некоего объекта х: height (x, 100).
Агент, а передает эти знания агенту Ь. После передачи агент Ь будет обладать знанием второго порядка, например: knows (a, {height (x, 100)}).
Теперь благодаря поддержке логики неопределенного порядка агент Ь имеет возможность работать с полученными знаниями произвольным образом.
Преимуществом способа прямой передачи знаний является также и небольшой объем передаваемых данных, что достигается за счет высокого уровня абстракции языка.
Программное средство
Средство проектирования и анализа состоит из среды разработки и среды моделирования (отладки). Проектирование происходит в пять этапов:
1. Проектирование классов агентов. На этом этапе создаются классы агентов для каждой из возможных архитектур, для каждого класса задается набор внешних атрибутов, с помощью которых агент взаимодействует со средой.
2. Описание среды функционирования команды. Автор принял решение использовать в качестве среды особого агента-имитатора. Такой подход позволит исследователю остановиться на внешних проявлениях среды, не задумываясь о ее внутреннем устройстве.
3. Редактирование знаний агента на языке базы знаний. Здесь исследователь получает доступ к знаниям агентов каждого класса и должен описать поведения агента.
4. Развертывание команды. На этом этапе исследователь указывает количество агентов каждого класса, а также начальные значения их внешних атрибутов.
5. Моделирование поведения системы, анализ эффективности. После запуска моделирования исследователь наблюдает за процессом передачи как системных, так и информационных сообщений между агентами, получая возможность анализировать поведение команды.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Рассел, С. Искусственный интеллект: современный подход: пер. с англ. / Стюарт Рассел, Питер Норвиг. — 2-е изд. — М.: изд. дом «Вильямс», 2006. — 1408 с.
2. Новиков, Д. А. Рефлексивные игры / Д. А. Новиков, А. Г. Чхартишвили. — М.: изд. «Синтег», 2003. — 149 с.
3. Смирнова, Е. Д. К вопросу построения семантик формализованных и естественных языков [Электронный ресурс] / Е. Д. Смирнова. — [2007]. — Режим доступа: http: //ru. philosophy. kiev. ua/iphras/library/log/11/s9601smi. html
4. Cabeza, D. Hiord: A type-free high-order program-
ming language with predicate abstraction [Электронный ресурс] / Daniel Cabeza, Manuel Hermenegildo, James Lipton. — [2006]. — Режим доступа: www. stups. uni-
duesseldorf. de/publications/ciao-hiord. pdf

Показать Свернуть
Заполнить форму текущей работой