Знаний мира

Интеллектуальная Символьное Исчисление Логический

Реактивная Автоматное Граф Автомат

Гибридная Смешанное Гибридная Машина вывода

 

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

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

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

 

3. Интеллектуальные Интернет технологии

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

Вместе с тем развитие и внедрение программных агентов было бы, по-видимому, невозможно без предыдущего опыта разработки и практического освоения кон­цепции открытых систем [Орлик, 1997], которые характеризуются свойствами:

· расширяемости/масштабируемости (возможность изменения набора состав­ляющих системы);

· мобильности/переносимости (простота переноса программной системы на разные аппаратно-программные платформы);

· интероперабельности (способность к взаимодействию с другими системами);

· дружелюбности к пользователю/легкой управляемости. Одним из результатов внедрения концепции открытых систем в практику стало распространение архитектуры «клиент—сервер» [Орлик, 1997]. В настоящее вре­мя выделяются следующие модели клиент-серверного взаимодействия:

· «Толстый клиент — тонкий сервер». Наиболее часто встречающийся вариант реализации архитектуры клиент—сервер. Серверная часть реализует только доступ к ресурсам, а основная часть приложения находится на клиенте.

· «Тонкий клиент — толстый сервер». Модель, активно используемая в связи с распространением Интернет-технологий и, в первую очередь, Web-броузеров. В этом случае клиентское приложение обеспечивает реализацию интерфейса, а сервер объединяет остальные части приложений.

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

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

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

Часть исследователей считают, что мобильные агенты обеспечивают более про­грессивный метод работы в сетевых приложениях. Другие авторы отмечают, что мобильные агенты привносят опасность с точки зрения обеспечения секретности информации и загруженности сети [Chess et. al. 1995].

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

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

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

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

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

Мобильные агенты являются перспективными для MAC, но в настоящее время нет единых стандартов их разработки и все еще остается нерешенным ряд про­блем, таких как легальные способы перемещения агентов по сети, верификация агентов (в частности, защита от передаваемых по сети вирусов), соблюдение агентами прав частной собственности и сохранение конфиденциальности ин­формации, которой они обладают, перенаселение сети агентами, а также совмес­тимость кода агента и программно-аппаратных средств сетевой машины, где он исполняется [Wayner, 1995].

В настоящее время наиболее известными технологиями реализации статических и динамических распределенных приложений являются программирование со-кетов, вызов удаленных процедур — RFC (Remote Procedure Call), DCOM (Mic­rosoft Distributed Component Object Model), Java RMI (Java Remote Method In­vocation) и CORBA (Common Object Request Broker Architecture) [Maurer et al„ 1998]. Вместе с тем с точки зрения разработки и реализации MAC наиболее важными, по-видимому, являются последние три — DCOM, Java RMI и CORBA [Gopalan, 1999J.

Модель Microsoft DCOM является объектной моделью, которая поддерживается Windows 95, Windows NT, Sun Solaris, Digital UNIX, IBM MVS и др. Основная ее ценность — в предоставлении возможностей интеграции приложений, реализо­ванных в разных системах программирования.

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

CORBA является частью ОМА (Object Management Architecture), разработанной для стандартизации архитектуры и интерфейсов взаимодействия объектно-ори­ентированных приложений. Интерфейсы между CORBA-объектами определя­ются через специальный язык IDL (Interface Definition Language), который явля­ется языком описания интерфейсов. Сами интерфейсы могут при этом быть реализованы на любых других языках программирования и присоединены к CORBA-приложениям. В рамках стандартов предполагается, что CORBA-объекты могут коммуницировать с DCOM-объектами через специальные CORBA-DCOM мосты (Bridges).

Технологии Java RMI и CORBA являются, по-видимому, на сегодняшний день самыми гибкими и эффективными средствами реализации распределенных при­ложений [Gopalan, 1999]. Эти технологии очень близки по своим характеристи­кам. Основным преимуществом CORBA является интерфейс IDL, унифицирую­щий средства коммуникации между приложениями и интероперабельность с другими приложениями. С другой стороны, Java RMI является более гибким и мощным средством создания распределенных приложений на платформе Java, включая возможность реализации мобильных приложений. В настоящее время еще не вполне ясно, какая из этих концепций «победит» в борьбе за мультиагентные системы. Вмещаться в этот процесс может и модель DCOM, активно «продвигаемая» компанией Microsoft. Но анализ существую­щих реализации MAC показывает, что пока более распространенным здесь явля­ется подход Java RMI.

Выше кратко обсуждались вопросы стратегии программного обеспечения распре­деленных приложений. Если же вернуться к проблематике MAC, то все про­граммные средства для их разработки и реализации на современном этане можно разделить на два больших класса: МАС-библиотеки и МАС-среды. Впечатляю­щий список сайтов, где представлена информация о том и другом программном обеспечении, как из коммерческих, так и из исследовательских организаций, представлен в Интернет по адресу http://www.reticular.com/. Оставляя в стороне вопросы проектирования и реализации МАС-библиотек, ко­торые, конечно, являются базисом для создания мультиагентных приложений, •.. но выходят за рамки данного издания, в оставшейся части настоящего параграфа мы сосредоточимся на обсуждении инструментария для построения MAC. При этом нас будут интересовать, в первую очередь, модели, методы и средства под­держки процессов проектирования агентов и мультиагентных систем. Одним из удачных примеров систем данного класса является, на наш взгляд, ин­струментарий AgentBuikler компании Reticular Systems, Inc. [AgentBuilder, 1999] — одного из лидеров в этой области.

 

Контрольные вопросы:

1. Перечислите основные направления развития средств автоматизации при создании систем искусственного интеллекта.

2. Опишите эволюцию средств представления знаний.

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

4. Перечислите основные требования к языкам представления знаний.

5. Перечислите популярные пакеты для интеллектуальных систем.

6. Что такое программные агенты и мультиагентные системы?

7. Какими свойствами должны обладать интеллектуальные агенты?

8. Когда целесообразно использовать мобильных агентов?

 

 








Дата добавления: 2015-02-28; просмотров: 715;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.