Планирование действий в агентных системах

Определение термина "агент (мультиагент)", его типы и свойства. Самоорганизация и кооперация в мультиагентной системе (МАС). Средства разработки МАС: NetLogo, VisualBots, CogniTAO и др. Архитектура и интерфейс МАС. Алгоритм мультиагентного планирования.

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

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

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

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

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

Министерство образования и науки РФ

ФГБОУ ВПО «Тульский государственный университет»

Кафедра «Вычислительная техника»

Контрольно-курсовая работа

По дисциплине: «Методы планирования действий в интеллектуальных системах»

На тему: «Планирование действий в агентных системах»

Выполнила: студентка гр. 240991/05

Храпова А.Г.

Проверил: к.т.н., доцент Семенчев Е.А.

Тула 2014

Содержание

Введение

1. Основные термины и определения

2. Агенты и их классификация

3. Свойства агента

4. Многоагентные системы

5. Самоорганизации и кооперация в мультиагентной системе

6. Проблемы взаимодействия агентов

7. Применение МАС

8. Главные направления развития многоагентных систем

9. Дополнения

9.1 Подход агентов и миров

9.2 Процесс самоорганизации в мультиагентной системе

9.3 Архитектура и интерфейс мультиагентной системы

10. Примеры применения многоагентной системы

11. Алгоритм мультиагентного планирования

Заключение

Библиографический список

Введение

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

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

Целью контрольно-курсовой работы является знакомство с понятиями «агент» и «агентные системы», изучение свойств агентов, а так же исследование мультиагентных систем.

1. Основные термины и определения

Агент (мультиагент) - это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем.

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

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

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

2. Агенты и их классификация

Общепринятого определения “агента” еще не существует. Рассматриваемый в какой-либо системе мультиагент - это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем. Таким образом, в рамках мультиагентных систем мы рассматриваем агенты, как автономные компоненты, действующие по определенному сценарию.

Классифицируются агенты на четыре основных типа:

- простые;

- умные (smart);

- интеллектуальные(intelligent);

- действительно интеллектуальные(truly intelligent).

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

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

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

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

3. Свойства агента

Какими же свойствами должен обладать “агент”?

- Автономность: агенты функционируют без прямого вмешательства людей или кого-либо другого и владеют определенной способностью контролировать свои действия и внутреннее состояние.

- Методы (способы) общения: агенты взаимодействуют с другими агентами средствами некоторого коммуникационного языка.

- Реактивность: агенты способны воспринимать окружающую среду (которая может быть физическим миром, пользователем, взаимодействующим через графический интерфейс, коллекцией других агентов, Іnternet-ом, или, возможно, всем вместе взятым) и адекватно реагировать в определенных временных рамках на изменения, которые происходят.

- Активность: агенты не просто реагируют на изменения среды, но и обладают целенаправленным поведением и способностью проявлять инициативу.

- Индивидуальная картина мира: каждый агент имеет собственную модель окружающего его мира (среды), которая описывает то, как агент видит мир. Агент строит свою модель мира на основе информации, которую получает из внешней среды.

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

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

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

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

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

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

универсальные языки программирования (Java); языки, “ориентированы на знания”, такие, как языки представления знаний (KIF), языки переговоров и обмена знаниями (KQML, AgentSpeak, April), языки спецификаций агентов;

специализированные языки программирования агентов (TeleScript); языки сценариев и scripting languages (Tcl/Tk); символьные языки и языки

логического программирования (Oz).

Одно из самых главных свойств агента - это интеллектуальность.

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

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

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

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

4. Многоагентные системы

Направление “многоагентной системы” распределенного искусственного интеллекта рассматривает решение одной задачи несколькими интеллектуальными подсистемами. При этом задача разбивается на несколько подзадач, которые распределяются между агентами. Еще одной областью применения МАС есть обеспечение взаимодействия между агентами, когда один агент может выработать запрос к другому агенту на передачу некоторых данных или выполнение определенных действий. Также в МАС есть возможность передавать знания.

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

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

Например, социальные процессы, в которых каждый из участников играет свою роль;

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

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

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

Системы, которые изменяют свои параметры со временем могут быть представлены совокупностью агентов. Модульность обуславливает легкость программирования МАС.

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

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

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

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

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

Мультиагентные системы - это активно развивающееся направление искусственного интеллекта, которое в настоящее время еще находится в стадии становления.

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

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

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

Т. о. многоагентная система (МАС, англ. Multi-agent system) -- это система, образованная несколькими взаимодействующими интеллектуальными агентами. Многоагентные системы могут быть использованы для решения таких проблем, которые сложно или невозможно решить с помощью одного агента или монолитной системы (англ.). Примерами таких задач являются онлайн-торговля[1], ликвидация чрезвычайных ситуаций[2], и моделирование социальных структур

В многоагентной системе агенты имеют несколько важных характеристик:

Автономность: агенты, хотя бы частично, независимы

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

Децентрализация: нет агентов, управляющих всей системой

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

В многоагентных системах может проявляться самоорганизация и сложное поведение даже если стратегия поведения каждого агента достаточно проста. Это лежит в основе так называемого роевого интеллекта.

Агенты могут обмениваться полученными знаниями, используя некоторый специальный язык и подчиняясь установленным правилам «общения» (протоколам) в системе. Примерами таких языков являются Knowledge Query Manipulation Language (KQML) и FIPA's Agent Communication Language (ACL).

Многие МАС имеют компьютерные реализации, основанные на пошаговом имитационном моделировании. Компоненты МАС обычно взаимодействуют через весовую матрицу запросов,

Speed-VERY_IMPORTANT: min=45mph,

Path length-MEDIUM_IMPORTANCE: max=60 expectedMax=40,

Max-Weight-UNIMPORTANT

Contract Priority-REGULAR

и матрицу ответов,

Speed-min:50 but only if weather sunny,

Path length:25 for sunny / 46 for rainy

Contract Priority-REGULAR

note - ambulance will override this priority and you'll have to wait

Модель «Запрос -- Ответ -- Соглашение» -- обычное явление для МАС. Схема реализуется за несколько шагов:

сначала всем задаётся вопрос наподобие: «Кто может мне помочь?»

на что только «способные» отвечают «Я смогу, за такую-то цену»

в конечном итоге, устанавливается «соглашение»

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

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

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

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

5. Самоорганизации и кооперация в мультиагентной системе

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

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

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

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

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

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

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

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

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

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

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

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

мультиагент разработка алгоритм netlogo

6. Проблемы взаимодействия агентов

С чем же сталкивается бедный разработчик, опрометчиво взявшийся за создание МАС?

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

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

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

7. Применение МАС

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

Средства разработки Мультиагентных Систем

NetLogo -- кроссплатформенное программируемое окружение для программирования Мультиагентных Систем

VisualBots -- бесплатный мультагентный симулятор в Microsoft Excel с Visual Basic синтаксисом

MASON -- Java библиотека для моделирования мультиагентных Систем

REPAST -- набор инструментов для создания систем, основанных на агентах

JADE - Java библиотека для создания мультиагентных систем (JADE в wiki)

SemanticAgent - SWRL/JAVA

CogniTAO - С++ платформа разработки автономных мульти-агентных систем ориентированная на реальных роботов и виртуальных существ (CGF).

8. Главные направления развития многоагентных систем

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

Системы распределенного искусственного интеллекта определяются тремя основными характеристиками:

способ распределения задач между агентами;

способ распределения властных полномочий;

способ коммуникации агентов.

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

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

В русле искусственной жизни глобальное интеллектуальное поведение всей системы рассматривается как результат локальных взаимодействий большого числа простых и необязательно интеллектуальных агентов. Здесь также используются такие термины как «коллективный интеллект» или «интеллект роя». Сторонники этого направления, в частности, Р. Брукс, Ж. Денебург, Л. Стиле и др., опираются на следующие положения:

многоагентная система есть популяция простых и зависимых друг от друга агентов;

каждый агент самостоятельно определяет свои реакции на события в локальной среде и взаимодействия с другими агентами;

связи между агентами являются горизонтальными, т.е. не существует агента-супервизора, управляющего взаимодействием других агентов;

нет точных правил, чтобы определить глобальное поведение агентов;

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

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

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

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

9. Дополнения

9.1 Подход агентов и миров

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

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

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

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

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

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

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

- законы Мира задаются сценариями действий, которые определяются как правила изменений состояния объектов Мира; более простые сценарии позволяют составлять более сложные сценарии;

- отношения между объектами определяют связи между ними; наиболее распространенными отношениями являются "целое-части", "принадлежность", "меры" и ряд других;

- основные концепты выражаются в атрибутах вещества, пространства и времени, энергии и информации.

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

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

Рассмотрим теперь соответствующую модель устройства памяти и мышления Агента, условно названные выше "Табло сознания" индивидуума.

В структуре памяти Агента выделены следующие компоненты (рис. 1):

Рисунок 1. Структура памяти

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

- память (пространство) сознания, содержащая образы объектов Миров, являющаяся среднесрочной. В этой памяти содержатся описания сцены в каждом из Миров (также в форме семантической сети) и здесь же выполняются основные умственные операции над образами объектов;

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

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

Общие принципы мышления Агента являются вполне традиционными и включают следующие три основные фазы (рис. 2):

Рисунок 2

- восприятие, в процессе которого осуществляется построение модели сцены в загруженном Мире;

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

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

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

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

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

Типология этих противоречий исходно задается в системе и далее постоянно пополняется.

9.2 Процесс самоорганизации в мультиагентной системе

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

Рисунок 3. Виртуальный круглый стол

Процедура согласования решений организуется следующим способом:

1) конфигурируется начальная сцена общего для всех Агентов Мира действий и задаются цели (задача), общие ресурсы и ограничения;

2) каждый из Агентов считывает состояние сцены и запускает процесс восприятия, планирования действий и их исполнения (при этом загружаются и перезагружаются необходимые Миры знаний и строится модель исходной сцены в этих Мирах); первый из Агентов, спланировавший свою деятельность делает первый ход, предлагая первое действие из своего сценария;

3) если действие удовлетворяет общим ограничениям и не вызывает противоречий с планами других Агентов, оно считается предварительно принятым. Если нарушены общие ограничения, Агент обязан поменять свои планы, если эти ограничения не нарушены, необходимо решить, кто будет вынужден изменять свои планы: первый Агент или другие, сделавшие свои ходы ранее;

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

5) процесс согласования заканчивается, когда достигнута заданная цель.

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

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

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

9.3 Архитектура и интерфейс мультиагентной системы

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

Рисунок 4. Архитектура системы

База знаний СД - содержит описания среды деятельности, целей и задач, знаний и орудий, сценариев действий, а также всех других компонент рассмотренной выше структуры систем деятельности;

Моделирующая подсистема - позволяет моделировать процессы деятельности (поведения субъектов деятельности);

Подсистема расчетов и рассуждений - позволяет моделировать процессы рассуждений (мышления субъектов деятельности);

Управляющая подсистема - реализует процессы поддержки согласования решений (процедуры виртуального круглого стола - процедуры коммуникации субъектов деятельности). Кроме того, данная подсистема выполняет функции конструктора Миров и конструктора сцен Миров;

Интерфейсная подсистема - обеспечивает взаимодействие с пользователем;

Сцены СД - текущие сцены деятельности.

Как видно из предлагаемой схемы, основные компоненты структуры системы связаны с основными моделируемыми компонентами деятельности: поведением, мышлением и коммуникацией.

Аналогичным образом устроен и интерфейс системы (рис. 9), в котором выделены следующие основные поля:

Поле задания - формализованная постановка задачи;

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

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

Магазин объектов - список возможных партеров по кооперации (или внутренних подразделений компании), которые могут быть размещены в рабочем поле;

Магазин договоров - список возможных отношений между компаниями (договора учредительские, кредитные и лизинговые, договора реализации, договора купли-продажи и т.д.) и т.д.

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

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

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

10. Примеры применения многоагентной системы

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

1. Компания по разработке мультимедиа компакт-дисков со смежным производством печатной и видео продукции.

2. Крупная коммерческая компания, занимающаяся экспортом и импортом продуктов питания, а также инвестициями в производство агропродукции.

3. Холдинговая компания, владеющая крупным магазином бытовой электроники, рестораном и сервис-центром.

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

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

Пример 1

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

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

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

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

Рисунок 5. Структура мультимедиа-компании

Пример 2

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

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

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

Рабочие группы ("круглые столы"), организованные системой в процессе решения этой проблемы представлена на рисунке 6.

Рисунок 6. Структура оптово-розничной компании

Пример 3

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

Менеджер вызывает систему и дает формализованное описание проблемы.


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

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

    контрольная работа [303,5 K], добавлен 24.10.2014

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

    курсовая работа [616,9 K], добавлен 24.02.2014

  • Использование агентными технологиями спектра типологий агентов и их модулей, архитектур МАС, агентных библиотек и средств поддержки разработки типов МАС. Набор базовых характеристик агента. Уровни в архитектуре. Многоагентская система, агент-координатор.

    презентация [255,0 K], добавлен 25.06.2013

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

    курсовая работа [78,6 K], добавлен 13.11.2009

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

    дипломная работа [3,0 M], добавлен 13.10.2017

  • Алгоритм как четкая последовательность действий, направленная на решение задачи. Свойства алгоритмов и их характеристика. Способы описания алгоритма. Понятия алгебры логики. Логические переменные, их замена конкретными по содержанию высказываниями.

    презентация [337,7 K], добавлен 18.11.2012

  • История USB и его сравнительная характеристика с другими типами интерфейсов. Архитектура USB-шины: общая архитектура, составляющие и их свойства. Аппаратное обеспечение: кабели и разъемы. Принципы передачи данных, оценка эффективности и быстродействия.

    реферат [31,0 K], добавлен 01.06.2015

  • Характеристика основных методов и средств моделирования мультиагентных систем. Ознакомление с результатами экспериментального тестирования и отладки программного комплекса. Рассмотрение методов оценки качества разработанного программного продукта.

    дипломная работа [3,1 M], добавлен 27.10.2017

  • Анализ методов и средств моделирования мультиагентных схем. Тестирование лабораторных работ "Climatechange", "ElFarol" и "Pagerank". Экспериментальное тестирование и отладка программного комплекса. Оценка качества разработанного программного продукта.

    дипломная работа [4,5 M], добавлен 12.08.2017

  • Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.

    курсовая работа [208,6 K], добавлен 03.12.2013

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