Научная статья на тему 'Об агентно-ориентированных системах и многоагентных банках знаний'

Об агентно-ориентированных системах и многоагентных банках знаний Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
506
134
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зайцев Евгений Игоревич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Об агентно-ориентированных системах и многоагентных банках знаний»

5. И.А. Микляев, А.Н. Ундозерова, М.В. Кудаева Типовой подход к проектированию объектов баз данных с варьируемым числом параметров Вестники СПбО АИН Выпуск №7, 2010, с.303-312.

1. 5. Микляев И.А., Ундозерова А.Н., Кудаева М.В., Свидетельство ОФЕРНиО (Объединённого фонда электронных ресурсов «Наука и образование») №15041 "Универсальная база данных", 2009.

6. Банников Н.А. Объектно-ориентированные базы данных //

http://www.stikriz.narod.ru/art/oobd.htm

7. Микляев И.А., Свидетельство ОФЕРНиО №15405 (Объединённого фонда электронных ресурсов «Наука и образование») "Универсальный тип данных баз данных", 2010.

8. Микляев И.А, Свидетельство ОФЕРНиО (Объединённого фонда электронных ресурсов «Наука и образование») №15175 "Матричное представление универсальной базы данных", 2009.

УДК 004.89

ОБ АГЕНТНО-ОРИЕНТИРОВАННЫХ СИСТЕМАХ И МНОГОАГЕНТНЫХ

БАНКАХ ЗНАНИЙ

Зайцев Евгений Игоревич, к.т.н., доцент, Московский государственный университет приборостроения и информатики, Россия, Москва, zei@tsinet.ru

Агентно-ориентированная технология позволяет создавать распределенные интеллектуальные системы, в которых для решения сложных плохоформализуемых задач вместо одного интеллектуального решателя используется самоорганизующаяся сеть программных агентов, формирующих частные решения, взаимодействующих друг с другом, а также координирующих коллективное поведение. Понятие программного агента (software agent) трактуется по-разному. Иногда программные агенты определяют просто как автономные процессы, которые действуют от имени пользователя в среде, в которой выполняются другие процессы. При этом агенты рассматриваются как сущности, которые могут воспринимать окружающую среду посредством рецепторов и взаимодействовать с ней [1]. Выделяют такие свойства программных агентов, как интерактивность или общественное поведение (social ability) (т.е. способность функционировать в сообществе агентов, инициируя взаимодействия и обмениваясь сообщениями с помощью некоторого языка коммуникаций); реактивность (способность воспринимать окружающую среду и своевременно реагировать на события недетеминированным образом); проактивность и целеустремленность (способность действовать в упреждающей манере, в частности, генерировать новые цели и действовать рационально для их достижения).

В определении агента, которое дает Фонд интеллектуальных физических агентов (Foundation for Intelligent Physical Agents), являющийся комитетом IEEE Computer Society (http://fipa.org), агент - это главный исполнитель в домене, обладающий одной или несколькими сервисными возможностями, образующими единую и комплексную модель выполнения, которая может включать доступ к внешнему программному обеспечению, пользователям и средствам связи. Отмечается, что главной отличительной чертой программных агентов являются их интеллектуальность (intelligent) и мобильность (mobility). С общепринятой точки зрения объектно-ориентированного программирования первое свойство проявляется в том, что агент содержит не только типичные для объектных классов методы и атрибуты (члены-данные класса), но также когнитивные структуры данных (CDS, Cognitive Data Structures) и методы, реализующие логические выводы, а также механизмы самообучения и адаптации.

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

50

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

Фонд FIPA унифицирует архитектуру платформ агентов, а также необходимые для управления агентами операции и способы взаимодействия агентов с программным обеспечением, которое не использует агентную технологию. Согласно FIPA система агентов содержит подсистему управления агентами (Agent Management System), службу каталога (Directory Facilitator), канал связи агентов (Agent Communication Channel) и менеджер безопасности платформы агентов (Agent Platform Security Manager). Данные компоненты включают сервисы по созданию, удалению, деактивации, возобновлению работы и миграции агентов, службы маршрутизации сообщений и управления жизненным циклом, службы белых страниц (с информацией о соответствии между глобально уникальными именами агентов и адресами локального транспорта, используемого платформой) и желтых страниц службы каталога (с описанием агентов и услуг, которые они предоставляют), а также сервисы по осуществлению политики безопасности на транспортном уровне.

Другой стандарт для реализации систем мобильных агентов и обеспечения интероперабельности между различными архитектурами - MASIF (Mobile Agent System Interoperability Facilities) ассоциации Object Management Group (http://www.omg.org), также унифицирует синтаксис и правила выполнения операций, связанных с созданием, удалением, перемещением и идентификацией агентов, приостановкой и возобновлением их работы, получением агентом информации о типе платформы. Представляя собой надстройку над стандартом CORBA (Common Object Request Broker Architecture), стандарт MASIF позволяет объединить традиционную клиент-серверную парадигму и технологию мобильных агентов. MASIF поддерживает некоторые сервисы CORBA, но не требует обязательного их использования.

В большинстве случаев вместо модели обмена сообщениями транспортного уровня в агентно-ориентированных системах используются разработанные FIPA коммуникационные протоколы прикладного уровня, называемые языком взаимодействия агентов ACL (Agent Communication Language), которые могут применяться для взаимодействия агентов разных систем поверх брокеров объектных запросов ORB (Object Request Broker) стандарта CORBA. В ACL присутствует жесткое разделение между целью сообщения и его содержанием: посылка сообщения обычно предполагает конкретную реакцию получателя на основании исключительно цели сообщения. Часть языка FIPA ACL, предназначенная для представления содержания посланий интеллектуальных агентов, называется семантическим языком FIPA SL (Semantic Language).

Отличительной особенностью агентов является то, что в их модели присутствуют ментальные свойства (интенциональные характеристики), такие как убеждения, желания и намерения (модель BDI - Belief, Desires, Intentions - минимальное интенциональное

51

описание агента), которые направляют деятельность агентов и могут меняться в процессе функционирования. В архитектуре BDI, которая во многом строится по аналогии с практическими рассуждениями человека, процесс принятия решений выполняется с использованием механизмов вывода на основе ментальных понятий агента, представленных некоторыми структурами знаний. Поскольку эти ментальные понятия связывают мотивационные и поведенческие понятия, то эта архитектура называется также архитектурой, управляемой целями (goal - oriented). Формальные модели знаний, убеждений, а также соответствующие механизмы рассуждений строятся на основе логических языков, которые включают в себя расширения модальных и темпоральных логик с семантикой возможных миров [2, 3, 4].

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

Не обладая полным знанием о внешнем окружении и имея лишь частичное представление о проблеме, агенты осуществляют неточные, правдоподобные рассуждения, которые необходимо подвергать пересмотру (belief revision) при получении агентом дополнительной информации, несовместимой с полученными ранее заключениями, а также при изменении модели мира в результате обновления убеждений агентов (belief update). Убеждения становятся знаниями только при подтверждении (обосновании) новыми фактами или объяснениями. Знания программных агентов о моделируемых в их базах предметных областях могут быть представлены с помощью традиционной для систем искусственного интеллекта модели - с помощью специальных фреймов-прототипов, которые используются для описания объектов предметной области и их состояний, действий и событий, а также процессов, под которыми понимаются упорядоченные совокупности событий и/или других процессов, реализуемых в целях решения тех или иных задач.

В отличие от монотонной логики, в которой добавление в систему новой информации не приводит к уменьшению множества истинных утверждений и все высказывания, которые следуют из базы знаний K, по-прежнему следуют из неё после добавления множества новых посылок F (то есть, если K |- B, то (KoF) |- B), немонотонные рассуждения не являются в классическом смысле общезначимыми и если утверждение B выводимо из K, то существует модель для KoF, не подтверждающая B. Таким образом, добавление в базу знаний новой информации может потребовать пересмотра полученных ранее результатов. Немонотонные логики, такие как логика умолчания (default logic), автоэпистемическая (autoepistemic logic), немонотонная модальная логика (modal nonmonotonic logic), косвенное описание (circumscription), позволяют решить проблему отсутствия у агентов определенных знаний, при этом нет необходимости придерживаться предположения о замкнутом мире (closed-world assumption), согласно которому высказывания, истинность которых не может быть доказана, считаются ложными, а имеющаяся в базе знаний информация полной.

Формализовать интенциональные характеристики агента, а также ввести в механизм его рассуждений элемент немонотонности можно, используя модальные логики, которые могут интерпретироваться в различных мирах, тогда как классическая логика интерпретируема только в одном мире [5]. Однако модальные логики не позволяют

52

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

Исходная система нечетких правил, используемая когнитивным агентом в процессе логического вывода, может оказаться неполной или противоречивой, а субъективно выбранные экспертом вид и параметры функций принадлежности, описывающих входные и выходные переменные системы, могут не вполне адекватно отражать действительность. Для устранения этих недостатков в модель когнитивного агента может дополнительно включаться адаптивная нечеткая продукционная сеть, в которой нечеткая продукционная модель интегрирована с технологией нейронных сетей. В агентно-ориентированных интеллектуальных системах необходима также возможность проведения адекватных рассуждений о времени в условиях, когда имеющееся для этого время само является значимым ресурсом, расход которого должен учитываться рассуждающим агентом. Для формализации немонотонных рассуждений о времени может быть использован темпоральный (временной) вариант логики минимальной веры и отрицания по умолчанию (MBNF, Minimal Belief and Negation as Failure) [6].

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

Адекватные реакции агентов на возможные в окружающей среде ситуации реализуются благодаря обучению входящей в модель агента нейронной сети, которая поддерживает механизм конкуренции между желаниями агента и позволяет при предъявлении агенту входного вектора (ситуации) возбуждать наиболее точно соответствующие ему действия. Реактивный агент также может интегрировать методы нечетких и нейросетевых технологий, вводя нечеткость в структуру нейронной сети путем “размывания” значений обучающих примеров, входных и выходных данных, использования нечетких весов связей, замены выполняемых нейронами стандартных функций на операции, применяемые в теории нечетких множеств. Таким образом, агентно-ориентированный подход комбинирует в себе подходы, используемые в реактивных и содержащих символьную модель мира BDI-архитектурах, что предполагает использование двух основных типов программных агентов (когнитивных и реактивных), интегрирующих коннекционистский и семиотический подходы в искусственном интеллекте [7,8].

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

53

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

Для реализации многоагентных систем (MAC, Multi-agent systems - MAS) на основе спецификаций стандартов FIPA используют такие инструментальные средства, как JADE (Telecom Italia Lab), Agent Factory (PRISM Laboratory), FIPA-OS (Emorphia), JACK Intelligent Agents (AOS Group), Zeus (British Telecommunication), Agent Development Kit (Tryllian BV), April Agent Platform (Agent Research Group), Comtec Agent Platform (FIPA), Java Agent Services API, Grasshopper (IKV technologies AG). Для реализации MAC на основе спецификаций стандарта MASIF используют такие среды, как Aglets SDK (IBM), Odyssey (GenMagic), D'Agents (Dartmouth college), Grasshopper (IKV++). Многие из этих систем позиционируются, как проекты с открытым исходным кодом (JADE, ZEUS, FIPA-OS, AgentFactory, Tryllian ADK).

Разраработка многоагентных систем возможна с использованием современных универсальных интегрированных сред разработки (Integrated Development Environment -IDE), позволяющих подключать модули специального назначения. Например, такие IDE, как мультиплатформенные Eclipse (Eclipse Foundation) или NetBeans (NetBeans Community) позволяют реализовывать как прикладные предметно-ориентированные МАС, так и специализированные инструментальные средства их разработки. Поскольку Eclipse и NetBeans состоят из плагинов (PDE), у разработчиков инструментальных средств имеется возможность предложить свои расширения к этим IDE и предоставить пользователям последовательную и цельную интегрированную среду разработки. Создаваемая агентная платформа может непосредственно опираться на операционную систему, либо использовать промежуточное программное обеспечение, типа Java Virtual Machine (JVM) исполняющей системы Java Runtime Environment (JRE) или Common Language Runtime (CLR) программной платформы .NET Framework.

Высокий уровень абстракции, используемый при агентно-ориентированном подходе, поддерживаемый агентными кросс-платформенными технологиями, позволяет использовать концепцию программных агентов при разработке таких прикладных МАС, как многоагентные банки знаний (МБЗ) [9]. Многоагентные банки знаний представляют собой распределенные интеллектуальные информационные системы учебного назначения, которые интегрируют функции интеллектуальных учебных сред (ILE, Intelligent Learning Environments) и интеллектуальных обучающих систем (ITS, Intelligent Tutoring System). МБЗ включают общие и специальные знания о предметной области, о процессе обучения и модели обучаемого, ассоциируя их с реактивными и когнитивными программными агентами, которые реализуют процедуры обработки этих знаний, формируют и выдают ответы на запросы пользователей, осуществляют адаптивное обучение.

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

Программные агенты МБЗ создаются как компоненты (Component-Based Design) в виде специализированных категорий классов (включающих методы, свойства, события), в

54

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

Создание многоагентных банков знаний является сложной задачей, которая требует от разработчиков опыта проектирования и реализации как концептуальных, так и технических решений в таких областях, как представление и обработка знаний, сетевые коммуникации и протоколы взаимодействия, нейронные сети и нечеткая логика. Проектирование и реализация МБЗ значительно упрощается при использовании специальных инструментальных средств, поддерживающих процесс разработки многоагентных банков знаний. К таким средствам относится проблемно-ориентированная инструментальная среда АgentITS (МГУПИ), включающая такие группы программных средств, как среда выполнения МАС (агентная платформа) и инструментальная среда разработки МБЗ. С использованием АgentITS возможно осуществить разработку предметно-ориентированного многоагентного статического банка знаний (МСБЗ) [10], предназначенного для параллельного изучения императивных, функциональных, логических и объектно-ориентированных языков программирования. В МСБЗ группы агентов, реализуя запросно-ответное отношение между языком запросов и языком ответов, предоставляют пользователю возможность систематически получать сведения не только о конструкциях конкретных языков, но и связанных с ними стилях и методах программирования.

Литература

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

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

3. Городецкий В.И., Грушинский М.С., Хабалов А.В. Многоагентные системы / Новости искусственного интеллекта, №2, 1998.

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

5. Люггер Д.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. -М.: Вильямс, 2003., 864с.

6. Виньков М.М., Фоминых И.Б. Немонотонные рассуждения в динамических интеллектуальных системах // Новости искусственного интеллекта, №4, 2005.

7. Зайцев Е.И. Методология представления и обработки знаний в распределенных интеллектуальных информационных системах. // Автоматизация и современные технологии. 2008, №1, С.29-34.

8. Зайцев Е.И. Агентно-ориентированная технология разработки распределенных интеллектуальных систем. // Материалы III Международной научно-практической конференции “Объектные системы - 2011”. - Ростов-на-Дону, 2011.

9. Зайцев Е.И. О концепции многоагентных банков знаний, как интеллектуальных обучающих системах // Материалы 16-й международной конференции “Современное образование: содержание, технологии, качество”. В 2-х.т. - СПпб.:Изд-во СПбГЭТУ “ЛЭТИ”. 2010. Т.2. С. 36 - 38.

55

10. Миронов А.С., Зайцев Е.И. О концепции многоагентных учебных сред, называемых многоагентными статическими банками знаний. // Материалы XVII Международной конференции “Современное образование: содержание, технологии, качество”. В 2-х.т. -СПпб.:Изд-во СПбГЭТУ “ЛЭТИ” 2011. Т.2. С. 155 - 156.

УДК 368.914

ОБЪЕКТНОЕ МОДЕЛИРОВАНИЕ ПЕНСИОННОГО ОБЕСПЕЧЕНИЯ

Базилевич Ксения Алексеевна, Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ», Украина, Харьков, ksenia.bazilevich@gmail.com Мазорчук Мария Сергеевна, к.т.н., доцент, Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ», Украина, Харьков, mazorchuk marv@inbox.ru

Введение

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

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

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

Рассмотрим более подробно архитектуру проекта, подходы к решению поставленных задач и механизмы их реализации.

1. Постановка задачи исследования

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

Предмет исследования - инструментальные средства для моделирования информационных систем.

Объектом данного исследования является процесс формирования пенсионного фонда.

Основные задачи исследования:

• Провести анализ проблемы автоматизации актуарных расчетов в пенсионном страховании.

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

• Провести анализ и обосновать выбор существующих программных инструментариев для разработки систем хранения информации и осуществления эффективной работы с этой информацией.

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

56

i Надоели баннеры? Вы всегда можете отключить рекламу.