Основные понятия многоагентной технологии

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

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

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

Важным понятием, используемым в МАС, является понятие открытой системы. По современным представлениям открытой системой называют такую систему, которая сама способна изменять свою структуру при изменении среды[2]. При этом подразумевается, что среда функционирования системы тоже является открытой. Кроме того, открытой средой называют такую среду, которая состоит из множества гетерогенных компонент, состав которых заранее неизвестен и может динамически изменяться. Компоненты среды называются гетерогенными, если они имеют различное функциональное назначение, работают на разных операционных платформах, возможно, разработаны с помощью различных инструментальных средств, созданы различными людьми и/или организациями в различное время и т.д. Ярким примером открытой среды является сеть Интернет, которая была создана различными организациями и людьми, содержит огромное число компонент, информационных и других ресурсов, а также средств доступа к ним. В среде Интернет разработано большое количество распределенных приложений, которые сами по себе стали неотъемлемой ее частью. Эта сеть постоянно эволюционирует, в ней появляются новые компоненты, исчезают старые, изменяется структура сети и т.д. В этой сети в настоящее время уже функционируют различные агенты и многоагентные системы, для которых сеть Интернет является открытой средой. Число таких агентов и МАС постоянно растет.

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

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

2. Глобальное управление множеством агентов отсутствует или ограничено.

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

4. Агенты функционируют в асинхронном режиме.

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

1. Ориентированность на реализацию крупномасштабных приложений. Обычно задачи, решаемые в рамках современных приложений в области информационных и управляющих систем, являются "слишком тяжелыми" для централизованной реализации или традиционных вариантов декомпозиции и координации, рассматриваемых в рамках теории сложных[3] систем. Для этого обычно не хватает ресурсов (и не только вычислительных). Кроме того, в условиях ограниченных ресурсов обычно слишком велик риск возникновения "узких мест", когда система не в состоянии справиться со своей работой, такое положение может возникнуть именно в критических ситуациях. Концепция МАС концентрируется на эффективном решении именно подобных задач.

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: