Многоагентные системы: проектирование и реализация

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 25.08.2020
Размер файла 24,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Многоагентные системы: проектирование и реализация

Зайцев Е.И.

Многоагентные системы (МАС) ориентированы на решение плохо формализуемых задач в открытых, динамических проблемных областях. Для решения подобных задач могут использоваться синергетические системы, построенные на базе обычных объектов [4], при этом ориентация на коллективный потенциал, а не на индивидуальные возможности объектов, не превращает объектно-ориентированную систему в агентную. В отличие от традиционных объектно-ориентированных программных серверов, которые также предоставляют определенные услуги и имеют развитые средства взаимодействия со средой и другими объектами, агенты способны действовать рационально и осуществлять логические выводы в условиях неполноты и противоречивости получаемой информации. Отличительная особенность агентов состоит в том, что в их модели присутствуют ментальные свойства: убеждения, желания и намерения (модель BDI, Belief, Desires, Intentions - минимальное интенциональное описание агента), которые направляют деятельность агентов. Имитационное моделирование различных интенций и их реализация в агенте являются ключевыми проблемами построения многоагентных систем [6].

С позиций объектно-ориентированного программирования программный агент может рассматриваться как особый тип объекта (smart object), который является экземпляром класса, содержащего не только типичные для объектных классов методы инициализации, чтения и записи, конструкторы и деструкторы, обработчики исключений, атрибуты (члены-данные класса), но также когнитивные структуры данных (CDS, Cognitive Data Sructures) и методы, реализующие достоверный (дедуктивный) или правдоподобный (индуктивный, абдуктивный) выводы. Модель агента предполагает также интеграцию в объектном классе механизмов рассуждения на основе знаний с нейросетевым (коннекционистским) подходом, смещающим акцент исследований с проблем символьного представления и организации формальных выводов на проблемы обучения и адаптации. Программные агенты, включающие подсистему обучения, способны извлекать знания из данных, то есть находить закономерности в данных и осуществлять их обобщение, а также формировать правила вывода непосредственно в процессе обучения.

Возможности агентов усиливаются за счет применения технологии обработки информации, основанной на нечеткой логике. Подобная интеграция не только ослабляет требования к точности данных в процессе построения модели, но и позволяет описать сложные системы с помощью переменных, значения которых определяются на интуитивном уровне. Интеграция семиотического и коннекционистского подходов, использующих принцип «мягких вычислений», и разработка соответствующей системы представления и обработки знаний наряду с проблемами моделирования и реализации интенций агентов являются основными проблемами, решаемыми в процессе создания МАС.

Модель представления знаний

Для адекватного представления знаний о проблемной области и реализации эффективных механизмов их обработки в МАС знания разделяются на несколько независимых источников, ассоциированных с реактивными и когнитивными агентами [3].

AR=(ZR, WR, N(ZR,Net,SR), SR(R,A(G))),

где ZR - множество входных сообщений; WR - множество выходных сообщений; N - множество методов, определяющих реакции нейронной сети Net реактивного агента на входные сообщения ZR; SR - множество состояний, каждое из которых определяется набором атрибутов агента и их значениями:

INT Ri = {…[Aj ,DOM(Aj)],…}; EXT Ri = {F1,…Fp }; Fk={A1(G1),… As(Gn)},

где R - множество отношений, G - множество значений множества атрибутов A. Домены (DOM) являются общими совокупностями значений, из которых берутся реальные значения для атрибутов отношения. Интенсиональные части (INT) локальных баз знаний содержат информацию, характеризующую семантику предметной области, экстенсиональные части (EXT) описывают возможные состояния агентов и их взаимосвязи.

Система, состоящая только из реактивных агентов, не обладает центральным планом действий, имеет апостериори определяемые организационные структуры и формируется путём простой локальной адаптации. Адекватные реакции агентов на возможные в окружающей среде ситуации реализуются благодаря обучению нейронной сети Net, которая поддерживает механизм конкуренции между желаниями агента и позволяет при предъявлении агенту входного вектора (ситуации) возбуждать наиболее точно соответствующие ему действия. Найти выходную ячейку, определяющую адекватную реакцию агента на возникающую в окружающей среде ситуацию позволяет архитектура сети, построенная по принципу “победитель получает все” (WTA, Winner Takes All).

Реактивные агенты способны не только извлекать знания из поступающих выборок, интерпретируя их как обучающие выборки, но также формулировать и реализовывать нечеткие запросы к базе данных. Нечеткие запросы (fuzzy queries) позволяют агентам получать информацию, используя качественные критерии и нечетко сформулированные условия. При этом, данные, не удовлетворяющие какому-то одному критерию запроса, выбираются из базы данных, если они имеют хорошие показатели по другим критериям. Интеграция нечетких и нейросетевых технологий возможна также введением нечеткости в структуру нейронной сети Net путем “размывания” значений обучающих примеров, входных и выходных данных, использования нечетких весов связей, замены выполняемых нейронами стандартных функций на операции, применяемые в теории нечетких множеств.

Многоуровневая МАС помимо не имеющих целевой ориентации реактивных агентов содержит когнитивные агенты, которые планируют собственные действия и координируют деятельность реактивных агентов. Модель когнитивного агента формально может быть определена шестеркой:

AK=(ZK,WK,SK,,SP,P),

где ZK - множество входных сообщений; WK - множество выходных сообщений (осведомительных, управляющих, координационных); SK - множество состояний когнитивного агента, соответствующее множеству ситуаций, которые зависят от ментальных свойств агента (убеждений, намерений, желаний, выполняемых действий), состояний других агентов и их взаимосвязей, происходящих в системе событий; SP - система продукций, определяющая переходы агента из одного состояния в другое, и формируемые при этом выходные сообщения, инициирующие синхронные либо асинхронные операции обмена; P=(D,SG,s0) - система планирования в пространстве состояний для проблемной области D c исходным состоянием s0 и динамическим множеством целей SG.

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

Совокупностью частых целей когнитивных агентов выражается общая цель многоагентной системы, оценочная модель достижимости которой может строиться с использованием аппарата нечеткой логики. В этом случае для частных целей агентов формируются лингвистические переменные с термами, характеризующими степени их достижимости. Каждая частная цель определяется совокупностью нечетких правил, используя которые можно осуществить нечеткий логический вывод. Комбинированное нечеткое подмножество, описываемое обобщенной функцией принадлежности и соответствующее степени достижимости общей цели системы, может быть получено в результате нечеткого вывода на основе нечеткой продукционной модели с адаптацией операций над нечеткими множествами [1].

Модель когнитивного агента дает унифицированную основу для представления как определенного, так и неопределенного знания. Для моделирования неопределенности используются специальные механизмы, позволяющие когнитивным агентам оперировать нечеткими понятиями и реализовывать прямые либо обратные нечеткие выводы. При прямом нечетком выводе (fuzzy forward-chaining reasoning) отдельные факты базы знаний когнитивных агентов преобразуются в конкретные значения функций принадлежности антецедентов нечетких продукций, и находятся значения функций принадлежности заключений по каждому из нечетких правил. Процесс обратного нечеткого вывода (fuzzy backward-chaining reasoning) заключается в подстановке отдельных значений функций принадлежности заключений и нахождении функций принадлежности условий, которые принимаются в качестве очередных подцелей и далее могут использоваться как функции принадлежности новых заключений.

Исходная система нечетких правил, используемая когнитивным агентом в процессе логического вывода, может оказаться не полной или противоречивой, а субъективно выбранные экспертом вид и параметры функций принадлежности, описывающих входные и выходные переменные системы, могут не вполне адекватно отражать действительность. Для устранения этих недостатков модель когнитивного агента можно расширить путем включения в нее адаптивной нечеткой продукционной сети SPNet, в которой нечеткая продукционная модель интегрирована с технологией нейронных сетей. Адаптивная нечеткая продукционная сеть SPNet формально по структуре идентична многослойной нейронной сети с обучением, например, по алгоритму обратного распространения ошибки (back propagation algorithm), при этом каждый слой сети реализует отдельный этап нечеткого вывода. Входной слой осуществляет фаззификацию (fuzzification) на основе заданных функций принадлежности входов, скрытые слои отображают совокупность нечетких правил и реализуют алгоритм нечеткого вывода, а выходной слой дефаззифицирует (defuzzification) выходную переменную, то есть приводит ее к четкости. В процессе функционирования сеть SPNet адаптирует параметры функций принадлежности, структуру базы знаний и параметры нечетких продукций.

ПРЕДСТАВЛЕНИЕ И РЕШЕНИЕ ЗАДАЧ

В интеллектуальных системах, основанных на знаниях (KBS, Knowledge-Based Systems), традиционно используются такие подходы к представлению и решению задач, как представление и поиск в пространстве состояний, представление и поиск в пространстве задач, а также комбинированное представление. Эти методы решения задач зависят от особенностей предметной области, в которой решается задача, и обычно основаны на эвристическом поиске. Как поведенческая модель решения задач, в которой основное внимание уделяется построению эффективных эвристик, позволяющих избежать порождения огромного лабиринта возможностей, так и информационный подход, при котором после структурирования ситуации (создания целостного образа) порождается усеченный лабиринт, не позволяют адекватно моделировать внутренние механизмы мыслительной деятельности и свойства внутренних образных представлений. Семиотическая концепция мышления, использующая целенаправленный поиск на графе редукции задачи, позволяет структурировать ситуацию и существенно сократить зону поиска, однако решение задач, как и в эвристическом программировании, сводится к перебору. программный агент ориентированный приложение

Интеллектуальная деятельность связана не столько с реализацией множества выводов над символьными конструкциями, сколько с принципами самоорганизации при взаимодействии автономных процессов. Реализовать протекание большого числа параллельных процессов, совокупность которых будет рассматриваться как единый процесс, удобно на моделях подобных нейронным сетям. При этом анализ механизмов мышления должен базироваться не на сети формальных нейронов, каждый из которых работает как пороговый элемент с n входами, имитирующими синаптические контакты реального нейрона, и одним выходом, соответствующим аксону, а на основе эмергентной (emergent) сети слабосвязанных между собой автономных решателей (агентов).

В МАС когнитивные агенты не обладают полным знанием о своем окружении и имеют лишь частичное представление о проблеме. Они проводят неточные предположительные рассуждения, которые необходимо подвергать пересмотру (belief revision) при получении агентом дополнительной информации, несовместимой с полученными ранее заключениями, а также при изменении модели мира в результате обновления убеждений агентов (belief update). Немонотонные логики, такие как логика умолчания (default logic), автоэпистемическая (autoepistemic logic), косвенное описание (circumscription), позволяют решить проблему отсутствия у агентов определенных знаний. При этом нет необходимости придерживаться предположения о замкнутом мире (closed-world assumption), согласно которому высказывания, истинность которых не может быть доказана, считаются ложными, а имеющаяся в базе знаний информация - полной. Ввести в механизм рассуждений агента элемент немонотонности, а также формализовать его интенциональные характеристики позволяет модальная немонотонная логика (modal nonmonotonic logic). Однако модальная логика имеет недостаток, который состоит в том, что она не позволяют адекватно представить неточные (по содержанию) и неопределенные (в смысле уверенности в истинности тех или иных высказываний) знания. Поэтому при моделировании агентов наибольшее значение приобретает нечёткая немонотонная логика.

В МАС знания агентов распределены и независимы друг от друга, поэтому актуальная для централизованных систем проблема обеспечения непротиворечивости базы знаний уступает место задачам обеспечения кооперации и коммуникации агентов, их адекватной реакции на изменения во внешней среде. Практическая реализация различных вариантов коммуникации агентов чаще всего сводится к использованию доски объявлений (blackboard) либо непосредственной передаче сообщений адресату. Характерным способом реализации систем, использующих доску объявлений, является создание сообщества агентов, взаимодействующих путём согласования. Каждый агент может передавать на доску информацию о любых изменениях своего состояния, добавлять факты, основанные на специализированном знании, подтверждающие или опровергающие находящуюся на доске гипотезу, или выдвигать новую, тем самым активизируя деятельность других агентов.

ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ МАС

Способности использовать знания, самостоятельно формировать цели и осуществлять планирование, а также возможность обучаться (пополнять и модифицировать убеждения) выдвигают агентов на более высокий уровень сложности по отношению к традиционным объектам. При этом объектно-ориентированные методы и средства продолжают оставаться основным инструментом для моделирования и реализации агентно-ориенированных систем. При анализе и проектировании многоагентных систем могут применяться унифицированный язык моделирования (UML, Unified Modeling Language) и соответствующая ему спецификация MOF (Meta Object Facility) для описания метамоделей, а реализация агентов может осуществляться с использованием объектно-ориентированных языков программирования, которые либо имеют встроенные средства параллельной обработки, либо предполагают возможность использования специальных библиотек (Intelligent Agent Library, Kafka, Agentx, АgentIT4 и др.), поддерживающих различные модели параллельных и распределенных вычислений.

Даже в случае, когда объекты и агенты существуют в едином адресном пространстве, инкапсуляция данных и методов их обработки, свойственная агентно-объектной модели (АОМ, Agent Object Model), делает обоснованным применение механизма взаимодействия посредством передачи сообщений без использования разделяемой памяти. Естественным образом такое взаимодействие согласуется с концепцией распределенных вычислений в кластерных и грид (Grid) системах, где отсутствует центральное управление, вычислительные узлы имеют собственную локальную память, доступ к которой возможен только путем обмена сообщениями с процессором, которому принадлежит адресуемая память, а параллельные вычислительные процессы рассматриваются на уровне крупных структурных единиц (приложений, служб), решающих некоторую часть сложной проблемы.

При проектировании глобально распределенной системы скоординированное пространство, необходимое для реализации открытых многоагентных систем, можно создать, используя инструментальные средства Grid (Globus Toolkit или стандарты, развиваемые в контексте OGSA - Open Grid Services Architecture). Грид-технологии предполагают разделение большого числа глобально распределенных ресурсов и скоординированное решение проблем в динамичных объединениях, называемых виртуальными организациями. Они позволяют реализовать гибкое, защищенное и скоординированное пространство, в котором будут сосредоточены универсальные средства аутентификации, авторизации, доступа к ресурсам, а также поиска необходимых ресурсов.

В случаях, когда узлы должны динамически перестраиваться на решение различных задач, необходимы мобильные агенты, поддерживающие либо слабую (weak mobility), либо сильную (strong mobility) модели мобильности. Характерной чертой слабой мобильности является то, что перенесённый процесс всегда запускается из своего исходного состояния, как это происходит, например, с Java-аплетами. Интеллектуальные мобильные агенты часто требуют поддержки сильной мобильности, при которой вместе с сегментом кода переносится также сегмент исполнения, что позволяет работающему процессу после приостановки и перенесения на другую машину продолжить его выполнение с того места, на котором этот процесс был приостановлен. Примером агентов с сильной мобильностью являются Java-аплеты (aglets), которые пересылаются из одного контекста в другой по протоколу ATP (Agent Transfer Protocol) прикладного уровня, не зависящему от платформы и использующему унифицированный указатель ресурса (URL, Uniform Resource Locator) для определения местоположения агентов и серверов.

Технология мобильных агентов MASIF (Mobile Agents System Interoperability Facility) представляет один из подходов к разработке распределенных систем, при котором обеспечивается интероперабельность между различными существующими и разрабатываемыми агентскими системами. Стандарт MASIF, представляя собой надстройку над стандартом распределенного кроссплатформенного объектно-ориентированного программирования CORBA (Common Object Request Broker Architecture), позволяет объединить традиционную клиент-серверную парадигму и технологию мобильных агентов. Интероперабельность, обеспечивающая открытость создаваемых приложений относительно других сред, достигается при стандартизации таких аспектов, как передача агентов и служебных (используемых агентом) классов между агентскими системами, а также управление агентами. Примером инструментальной среды для разработки мобильных агентов, опирающейся на стандарт MASIF, является ИС Grasshopper (IKV++).

При разработке интеллектуальной системы уровня предприятия, в которой предполагается реализация агентов в различных узлах мультикомпьютерной (кластерной) системы, для снижения общего уровня сложности задачи программирования можно использовать стандартные объектно-ориентированные технологии, обеспечивающие прозрачность доступа к удаленным ресурсам (СORBA, .NET, J2EE). Чтобы использование данных технологий не привело к проблемам с производительностью из-за латентности доступа к удаленным агентам и большим расходам на промежуточное (middleware) программное обеспечение, важно учитывать местоположение агентов уже в самом начале процесса анализа и проектирования системы. Для поддержки процессов проектирования мультиагентных систем можно использовать специальные инструментальные средства, такие как Agent Builder Tool Kit (Acronymics, Inc.), JADE - Java Agent Development Framework (Telecom Italia Group), OAA - Open Agent Architecture (SRI International), ADE - Agent Development Environment (Gensym), Agent Development Kit (Tryllian), ZEUS Agent Building Toolki, Toshiba Bee-gent, MASDK - Multi-Agent System Development Kit (СПб ИИА РАН), АgentIT4 (МГУПИ) и др.

Заключение

Представленный в статье агентно-ориентированный подход к разработке сложных распределенных приложений основан на концепции рациональных агентов, способных решать плохо формализуемые задачи в открытых, динамических проблемных областях. В данных областях данные и знания, описывающие сущности и связи, как правило, неполны, противоречивы, неточны и неопределенны. Поэтому модели реактивных и когнитивных агентов сочетают строгие формальные методы и модели поиска решений с нечеткими и нейросетевыми методами и моделями. Нечеткость можно включать как в элементы структуры нейронных сетей реактивных агентов, так и в механизм немонотонного вывода когнитивных агентов. Создание МАС является сложной задачей, которая требует от разработчиков опыта проектирования и реализации как концептуальных, так и технических решений в таких областях, как представление и обработка знаний, сетевые коммуникации и протоколы взаимодействия, нейронные сети и нечеткая логика. Специализированные инструментальные средства разработки МАС позволяют разработчикам в большей степени сконцентрировать свои усилия на решении задач прикладного характера. Для поддержки создания МАС, базирующихся на рассмотренных в статье моделях представления и обработки знаний, была разработана проблемно-ориентированная инструментальная среда АgentIT4.

Литература

1. Борисов, В.В. Нечеткие оценочные модели сложных систем с учетом согласования неравнозначных целей [Текст] / В.В. Борисов, А.С. Федулов // Нейрокомпьютеры: разработка, применение. - 2003. - №5. - С. 3-12.

2. Городецкий, В.И. Среда разработки многоагентных приложений MASDK [Текст] / В.И. Городецкий, О.В. Карсаев, В.Г. Конюший, В.В. Самойлов, А.В. Хабалов // Информационные технологии и вычислительные системы. - 2003. - №12. - С.26-41.

3. Зайцев, Е.И. Об агентно-ориентированном подходе к разработке параллельных интеллектуальных систем [Текст] / Е.И. Зайцев // Вестник компьютерных и информационных технологий. - 2006. - №7. - С. 26-35.

4. Зайцев, Е.И. Об объектно-ориентированном подходе к разработке интеллектуальных систем [Текст] / Е.И. Зайцев. - М.:ВИНИТИ, 1999.

5. Рассел, С. Искусственный интеллект: современный подход [Текст] /
С. Рассел, П. Норвиг - М.: Вильямс, 2006. - 1408 с.

6. Тарасов, В.Б. От многоагентных систем к интеллектуальным организациям [Текст] / В.Б. Тарасов. - М.: Эдиториал УРСС, 2002. - 352 с.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.