Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: I Международной научно-практической конференции «Естественные и математические науки в современном мире» (Россия, г. Новосибирск, 24 декабря 2012 г.)

Наука: Информационные технологии

Секция: Системный анализ, управление и обработка информации

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Топчий А.В. МУЛЬТИАГЕНТНАЯ СИСТЕМА, СОСТОЯЩАЯ ИЗ ПРИОРИТЕТНО ВЗАИМОДЕЙСТВУЮЩИХ АГЕНТОВ // Естественные и математические науки в современном мире: сб. ст. по матер. I междунар. науч.-практ. конф. – Новосибирск: СибАК, 2012.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов
Статья опубликована в рамках:
 
 
Выходные данные сборника:

 

 

МУЛЬТИАГЕНТНАЯ СИСТЕМА, СОСТОЯЩАЯ ИЗ ПРИОРИТЕТНО ВЗАИМОДЕЙСТВУЮЩИХ АГЕНТОВ

Топчий Антон Владимирович

аспирант, ИСОиП (филиал) ДГТУ,

 г. Шахты

E-mail: anton_s.topchiy@mail.ru

 

Введение.

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

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

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

· Разработать программную реализацию требуемой мультиагентной системы.

· Определить скорость и особенности обучения реализованной системы.

Поиск и описание метода.

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

 


Строение агента

Рисунок 1. Строение агента [2, 3]


 

Как видно из рисунка 1, у каждого агента есть «Вход-выход», который отвечает за взаимодействие с другими агентами и внешней средой. Построение взаимодействий между агентами через вход-выход позволяет отделить их друг от друга и от внешней среды [2].

Помимо этого на рисунке 1 можно видеть элементы «Название» и «Свойства», которые лежат в основе строения агента, они были заимствованы из сетевой модели Коллинза и Квиллиана (см. рис. 2) [1].


 


Сетевая модель коллинза и квиллиана

Рисунок 2. Сетевая модель Коллинза А. и Квиллиана Р. (1968) [1]


 

Модель представляет некоторое количество объектов, отражающих сущности нашего мира, особенности которых описаны в свойствах этих объектов [1]. Несмотря на простоту строения, эта модель позволяет описать очень большое разнообразие объектов, что делает её довольно универсальной.

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

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

Для того чтобы описанные выше агенты взаимодействовали приоритетно в них было необходимо внести следующие изменения:

· Добавить возможность запоминать связи с другими агентами.

· Реализовать возможность выбора из имеющихся связей наиболее значимой, с последующим обращением по ней.

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

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


 


Теория распространения активаций

Рисунок 3. Теория распространения активаций Коллинза А. и Лофтус Э. (1975) [1]


 

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

Реализация.

Для реализации мультиагентной системы, с приоритетным взаимодействием между агентами, было решено использовать Delphi 7. Причинами данного выбора являлись умение работать в этой среде, модуль мультиагентной системы, агенты которого планируется модернизировать, был написан на Delphi 7 [3] и что немаловажно данная среда имеет достаточно широкие возможности, для реализации поставленной задачи [4].

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

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

· Загрузка объектов;

·  Возможность запросить объект с определёнными параметрами;

·  Получение результатов работы модуля.

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

Модуль мультиагентной системы состоит из следующих логически выделенных частей [3]:

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

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

·Пространства агентов — состоящего из n-го количества агентов, реализованных с помощью объектов.

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

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

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

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

Особенности работы программы.

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

Цель первого эксперимента заключалась в определении скорости и особенностей обучения реализованной мультиагентной системы. Было решено считать её обученной, при условии, что система должна полностью выполнять поставленную перед ней задачу.

Сам эксперимент осуществлялся на системе, состоящей из 22 агентов, содержащих описания различных сущностей, которые можно разделить на 5 групп: Книги, Люди, Студенты, Солдаты, Композиторы. У сущностей входящих в разные группы значительно различались свойства, что позволяет сказать, что все они в совокуп­ности представляли массив слабоструктурированных данных.

Задача ставящаяся перед системой, во время эксперимента, заключалась в возвращении объекта(ов), по нескольким, субъективно заданным, свойствам.

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

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

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

В первой части эксперимента к системе было осуществлено 30 обращений с целью поиска 6-и различных объектов. В результате было определено, что в системе, до получения ответа, между агентами в среднем происходит около 14 взаимодействий. Это говорит о том, что недавно обученная мультиагентная система с приоритетным взаимодействием между агентами имеет среднюю скорость работы  данными. Т. е. особых преимуществ перед мультиагентной системой с последовательной передачей запросов между агентами [3], приоритетное взаимодействие не показало. Но учитывая, что система ещё слабо обучена, было решено проверить её работу при более однородных запросах.

Таким образом вторая часть эксперимента состояла в поиске одного объекта на протяжении 60 обращений к системе. Этот опыт показал, что в течении первых 30 обращений, система имела в среднем около 12 обращений между агентами, до получения ответа. Но в последующих 30-и обращениях к системе, количество взаимодействий между агентами снизилось до 4,6. Из чего следует, что система обучилась выполнять одну и туже команду быстрее. Это даёт возможность предположить, что после более длительного обучения система будет выполнять значительно быстрей наиболее частые задачи. Для проверки этого был сделан рисунок, отобража­ющий образованные между агентами, в результате экспериментов, приоритетные связи (см. рис. 4).


 


Сеть образованных между агентами приоритетов

Рисунок 4. Сеть приоритетов, образованных между агентами


 

Как видно из рисунка 4 связи распределены неравномерно, например на 6-го и 14-го агентов направлено наибольшее количество связей, это говорит о том, что они чаще остальных положительно выполняли поступившую в систему задачу и как результат остальные элементы выстроили приоритетные связи к ним. Также можно заметить, что 9-ый агент имеет более сильную связь с 14-ым элементом, нежели чем с 6-ым, о чём говорит 4-ка в основании этой приоритетной связи, указывающая на её силу. Как результат, получается, что система обучилась быстрей запускать 14-го и 6-го агентов, что позволяет ей быстрей возвращать результаты по задачам связанным с ними.

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

Заключение

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

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

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

 

Список литературы.

1.Солсо Р. Когнитивная психология — 6-е изд. // СПб.: Питер, 2006. 589 с.

2.Топчий А.В. Анализ и структурирование данных // Актуальные проблемы техники и технологии: докл. Всерос. Конф. Шахты, 2012.

3.Топчий А.В. Работа со слабоструктурированными данными // Физико-математические науки и информационные технологии: Теория и практика: материалы международной заочной научно-практической конференции, Новосибирск, 2012. С. 42-48.

4.Фленов М.Е. Библия Delphi // СПб.: БХВ-Петербург, 2007. 880 с.

Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.