Дисциплина «Инженерия знаний» Реферат Агенты и мультиагентные системы. Системы поиска в Интернет

Вид материалаРеферат

Содержание


1.2.Архитектуры организации МАС
2.Проектирование и реализация агентов и МАС. 2.1. Общие вопросы проектирования агентов и МАС.
Подобный материал:
1   2   3   4   5   6   7

1.2.Архитектуры организации МАС



В зависимости от концепции, выбранной для организации МАС, обычно выделяют три базовых класса архитектур:
  • Архитектуры, которые базируются на принципах и методах работы со знаниями.
  • Архитектуры, основанные на поведенческих моделях типа «стимул-реакция».
  • Гибридные архитектуры.

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

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

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

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

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

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

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

2.Проектирование и реализация агентов и МАС.




2.1. Общие вопросы проектирования агентов и МАС.



Идеи программных агентов вообще и интеллектуальных агентов, в частности, привлекательны, так как позволяют людям делегировать им свои полномочия по решению сложных задач. Однако разработка МАС и действительно интеллектуальных агентов требует специальных знаний и является сложной ресурсоемкой задачей. Ведь программные агенты – новый класс систем программного обеспечения (ПО), которое действует от лица пользователя. Они являются мощной абстракцией для «визуализации» и структурирования сложного. Но если процедуры, функции, методы и классы – известные абстракции, которые разработчики ПО используют ежедневно, то программные агенты – это принципиально новая парадигма, неизвестная большинству из них сегодня. Вместе с тем развитие и внедрение программных агентов было бы, по-видимому, невозможно без предыдущего опыта разработки и концепции развития открытых систем, которые характеризуются свойствами:
  • Расширяемости/масштабируемости (возможность изменения набора состовляющих системы);
  • Мобилности/переносимости (способность к взаимодействию с другими системами);
  • Дружелюбности к пользователю/легкой управляемости;

Одним из результатов внедрения концепции открытых систем в практику стало распространение архитектуры «клиент-сервер». В настоящее время выделяют следующие модели клиент-серверного взаимодействия:
  • Толстый клиент – тонкий сервер . Серверная часть реализует только доступ к ресурсам, а основная часть приложений находится на клиенте.
  • Тонкий клиент – толстый сервер . Модель, актовно использующаяся в Web-браузерах. В этом случае клиентское приложение обеспечивает реализацию интерфейса, а сервер обьединяет остальные части приложения.

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

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

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

Использование мобильных агентов может быть целесообразным, если они:
  • Уменьшают время и стооимость передачи данных;
  • Позволяют преодалеть ограничения локальных ресурсов;
  • Облегчают координацию ( например, запросы к удаленному серверу выполняются агентами как отдельные задачи, а потому не нуждаются в координации);
  • Позволяют выполнять асинхронные вычисления ( например, запустив агента, можно переключиться на другое приложение, и даже отсоединиться от сети, а результат будет доставлен агентом адресату после выполнения задания );

В настоящее время наиболее известными технологиями реализации статических и диамически распределенных приложений являются :
  • Программирование сокетов – вызов удаленных процедур RPC;
  • Модель Microsoft DCOM - является обьектной моделью, которая поддерживается многими опреционными системами. Основная ее ценность - в предоставлении возможностей интеграции приложений, реализованных в разных системах программирования;
  • Java RMI – приложения обычно состоят из клиента и сервера. При этом на сервере создаются некоторые обьекты, которые можно передавать по сети, либо методы их определяются как доступные для вызова удаленными приложениями, а на клиенте реализуются приложения, пользующиеся удаленными обьектами. Отличительной чертой RMI является возможность передачи в сети не только методов, но и самих обьктов, что обеспечивает, в конечном счете реализацию мобильных обьектов;
  • CORBA является частью OMA ( Object Management Architecture), разработанной для стандартизации архитектуры и интерфейсов взаимодействия обьектно-ориентированных приложений. Интерфейсы между CORBA – обьектами определяются через специальный язык IDL (Intrface Defenition Language), который является языком описания интерфейсов. Сами интерфейсы при этом могут быть реализованы на любых других языках программирования и присоеденины к CORBA-приложениям. В рамках стандартов предполагается, что CORBA-обьекты могут коммуноцировать с DCOM-обьектами через специальные CORBA-DCOM мосты.

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

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