Статья посвящена одному из важных направлений в области исследований искусственного интеллекта, а именного таким интеллектуальным интернет-технологиям, как программные агенты и мультиагентные системы.
Ключевые слова: искусственный интеллект, интеллектуальные интернет-технологии, программные агенты, мультиагентные системы
В рамках исследований в области распределенного искусственного интеллекта почти пятьдесят пять лет назад сформировалась отдельная область, посвященная вопросам программных агентов и мультиагентных систем. Данная область появилась на стыке компьютерных сетей, искусственного интеллекта и информационных технологий [1].
Как известно, агент — это лицо, действующее по чьему-либо поручению. Программный же агент — это некоторый автономный компонент, который действует в интересах владельца или пользователя и направлен на достижение поставленных перед ним целей. Главной особенностью агента является то, что он запускается самостоятельно, когда посчитает это нужным. Существует довольно много различных классификаций агентов на группы. Наибольший интерес представляют две из них, первая из которых представлена ниже [1]:
- Простые агенты, которые способны выполняться автономно (то есть без вмешательства со стороны пользователя), взаимодействовать с другими агентами и пользователями, а также следить за окружением.
- Смышлёные агенты, которые не способные выполняться автономно, но, тем не менее, могут взаимодействовать с другими агентами и пользователями, следить за окружением, а также способны использовать абстракции и предметные знания.
- Интеллектуальные агенты, которые выполняются автономно, могут взаимодействовать с другими агентами и пользователями, следить за окружением, способны использовать абстракции и предметные знания, имеют возможность адаптивного поведения для достижения целей, способны обучаться из окружения, являются толерантными к ошибкам и неверным входным сигналам, способны работать в режиме реального времени и взаимодействовать на естественном языке.
- Действительно интеллектуальные агенты, которые обладают почти тем же набором функций, что и интеллектуальные, за исключением толерантности к ошибкам и неверным входным сигналам, способности к работе в режиме реального времени и взаимодействию на естественном языке.
Согласно же второй классификации программные агенты имеют следующую систему деления:
- Интеллектуальные агенты, которые обладают определенными свойствами искусственного интеллекта.
- Автономные агенты, которые обладают способностью изменять свой подход к решению задачи.
- Распределенные агенты, которые выполняют действия на различных физических носителях.
- Мобильные агенты, которые способны перемещаться на сети и выполняться на любой машине.
Интеллектуальные агенты, встретившиеся в обоих классификациях, вызывают наибольший интерес. И это не спроста, ведь именно они обладают наиболее полным перечнем необходимых в работе характеристик. Вообще, считается, что интеллектуальный агент должен обладать следующим набором свойств: автономность, социальное поведение (упомянутая выше способность взаимодействовать с другими агентами и пользователями), реактивность (способность адекватно воспринимать среду и правильно реагировать на ее изменения), активность (способность ставить перед собой задачи и стремиться их выполнить), базовые знания (все те знания, которые заложены в агента при его разработке и которые никогда не будут изменены, например, знания о себе, окружающей среде и других агентах), убеждения, цели, желания (агент четко знает, что для него важно, а что нет), обязательства (задачи, которые агенты выполняет по поручению других агентов) и намерения (то, что агент должен делать).
Конечно, программные агенты не могут работать в одиночку. При взаимодействии с другими агентами они образуют мультиагентные системы. Самым главным преимуществом мультиагентных систем являются то, что они способны работать вне зависимости от пользователя фоном для выполнения его задач. Мультиагентные системы способны решать сложные задачи, решить которые одному агенту просто не под силу, они являются так называемыми программно-вычислительными комплексами.
Каждая мультиагентная система имеют некоторую четко определенную архитектуру. Всего этих архитектур три:
- Интеллектуальная архитектура, в основе которой заложены принципы и методы работы со знаниями. Представление знаний при подобной архитектуре символьное, модель мира — исчисление, а решатель является логическим.
- Реактивная архитектура, в основе которой заложены поведенческие модели. Представление знаний при подобной архитектуре автоматное, модель мира — граф, а решатель является автоматом.
- Гибридная архитектура, которая совмещает в себе элементы как интеллектуальной архитектуры, так и реактивной. Представление знаний при подобной архитектуре смешанное, модель мира — гибридная, а решателем является машина вывода.
Сама технология процесса разработки мультиагентной системы, конечно, не проста, но не является недоступной к пониманию [1]. Начинается разработка с формирования проекта, после чего производится анализ предметной области. Результаты анализа используются для разработки спецификации онтологии. После этого производится выбор архитектуры агентства на основе спецификации онтологии. Затем на основе все той же спецификации онтологии и выбора архитектуры агентства производится разработка спецификации поведения агента. Следующим этапом является разработка библиотеки интерфейсов пользователя, для чего используется спецификация поведения агента, а также спецификация онтологии. Кроме этого, спецификация поведения агента используется для разработки библиотеки действий агента и спецификации агента. В свою очередь, библиотека интерфейсов пользователя, библиотека действий агента и спецификация агента используются для разработки агентной программы, которая вместе с модулем периода исполнения позволяет создать агентное приложение, которое является основой для разработки интеллектуального агентного приложения.
Мультиагентные системы получили широкое распространение в поисковых системах, самыми популярными из которых на сегодняшний день в нашей стране являются Яндекс и Google. Их машины поиска используют программных агентов в качестве поисковых роботов, которых также называют «пауками». Эти «пауки» перемешаются по сети Интернет от одного сайта к другому (мобильные агенты). При переходе на определенную страницу в сети они помечают ее как просмотренную, расшифровывают ссылки с этой страницы и индексируют ее содержание. Полученный отчет поисковый робот отправляет поисковой машине. Благодаря этому собирается поиск, который практически каждый из нас сегодня используют в повседневной жизни, отправляя поисковой системе запросы и получая на них необходимые и релевантные ответы.
Таким образом, программные агенты и мультиагентные системы являются крайне важной областью исследований, так как они позволяют пользователям передавать свои полномочия по решению определенных сложных задач, что является действительно следующей ступенью в развитии технологий и искусственного интеллекта, в частности.
Литература:
- Гаврилова, Т. А. Базы знаний интеллектуальных систем / Т. А. Гаврилова, В. Ф. Хорошевский. — СПб.: Питер, 2001. — 384 с.: ил.