NeuroPro

нейронные сети
и анализ данных

Главная
Новости
Услуги
Нейронные сети
Программы
Статьи
Заметки
Ссылки
Вопросы и ответы
Об авторе / контакты
Заметки

Мобильные автономные программные агенты - умерли, не родившись?

Заметка касается тематики распределенного искусственного интеллекта. Интеллектуальный мобильный автономный программный агент - компьютерная программа, способная достигать целей, поставленных перед ней владельцем/пользователем, и могущая для этого "перемещаться" по другим компьютерам, использовать ресурсы и сервисы этих компьютеров, и также взаимодействовать с другими агентами, представляющими других пользователей. От методов роевой оптимизации (swarm particle optimization), от методов муравьиных колоний (ant colonies) и других направлений распределенного ИИ, методов распределенного и параллельного решения задач мобильные агенты отличаются бОльшей автономностью и бОльшей асинхронностью при взаимодействии с пользователем (всем, наверно, могут вспомниться примеры из научной фантастики, когда пользователь запускает "в мир" программу-агента, выключает свой компьютер и идет спать, а наутро при включении компьютера получает результаты или часть результатов), более развитыми средствами по упрощению формализации задачи пользователем. Данное направление начало активно изучаться в середине 1990х, с момента широкого внедрения интернета в массы, и упоминается в современных ВУЗовских учебниках по ИИ, например, в [1].

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

Интересным применением агента может быть отслеживание новых интернет-страниц, соответствущих заданным пользователем ключевым словам - агент при этом должен "жить" на интернет-поисковике и отслеживать новые проиндексированные поисковиком страницы. Но кто-нибудь уже пользовался такой возможностью? (RSS-протокол выдачи и агрегирования новостевых лент не является агентской технологией - там нет автономности и процесс скачивания обновлений всегда инициируется пользователем в его программе чтения новостей). Зарубежные книги [2,3] тоже почти не упоминают единичных мобильных автономных агентов именно для решения задач поиска-мониторинга информации - а именно эти задачи и интересуют в первую очередь пользователя-неспециалиста. Исключением тут является компилятивный ВУЗовский курс [4] - потому, что в условиях ограниченного времени студенту запрограммировать одного агента проще, чем "стадо" агентов с взаимодействием между ними, и мобильность-автономность в этих учебных задачах реально получается вырожденной до предела.

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

Литература
1. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СпБ., Питер, 2000. - 384с.
2. Liu J., Lin X., Tsui K.C. Autonomy oriented computing: from problem solving to complex systems modeling. Kluwer, 2005.
3. Weiss G. (ed.) Multiagent systems: a modern approach to distributed artificial intellgence. MIT, 1999.
4. Grimshaw D. Artificial intelligence topics with agents. MIT lecture notes, 2001.