Re: Мобильные агенты
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 10.06.06 17:19
Оценка: 20 (3)
Здравствуйте, SergH, Вы писали:

SH>Кто-нибудь использовал сабж? Ещё называют "мобильные интеллектуальные агенты".. Вопрос не о конкретной реализации а вообще — для каких задач такая архитектура подходит лучше традиционных, какие продукты на агентах написаны, какие у всего этого перспективы. Сам думал-думал — плюнул, решил спросить


SH>Недавно поверхностно столкнулся с Aglets WorkBench и Mobile Code Toolkit (вы будете смеяться — лабы в институте ), заинтересовался. Но выяснилось, что эти системы практически брошены своими создателями (чтобы заставить работать MCT пришлось качать jdk1.1.8 ) и вообще как-то бума агентных технологий не видать..


С мобильными агентами не сталкивался, но недавно довелось познакомиться
Автор: eao197
Дата: 01.06.06
с интеллектуальными агентами. Впечатление об этих интеллектуальных агентах двойственное. С одной стороны, выглядит все довольно привлекательно. Самостоятельные процессы, которые могут самостоятельно находить нужные службы, устанавливать с ними отношения, обмениваться информацией и выполнять свою работу. С другой стороны, не очень понятно, что за системы можно строить из этих агентов. Внятных примеров я не видел, хотя особо и не искал. Но, имхо, такие примеры должны быть на поверхности, иначе что-то здесь не так.

Если попробовать порассуждать, то можно предложить какие-то такие варианты:
* агент для оценки биржевых рисков. Он самостоятельно отыскивает поставщиков данных о биржевых котировках с учетом различных факторов (стоимость информации у каждого из поставщиков, оперативность информации, временной отрезок за который доступна информация). Сами поставщики биржевых котировок так же являются агентами, которые заинтересованы в поиске своих клиентов. Далее наш осуществляет обработку информации, возможно с привлечением каких-то агентов, выполняющих статистический анализ. После обработки информация отсылается владельцу агента;
* агент для планирования туристических туров. Он связывается с туристическими агентствами, выбирает из предлаемой ими информации наилучшие для клиента условия, затем на основании выбраных вариантов может связаться с агентами бронирования авиабилетов, агентами бронирования гостиниц и т.д. В результате клиент агента может получить несколько готовых вариантов туров из которых остается только сделать окончательный выбор;
* агенты для предоставления клиенту информации в которой клиент может быть заинтересован. Например, агент может отслеживать, какие информационные ресурсы посещает и какие разделы его интересуют больше остальных. Затем агент сам начинает собирать у агентов, предоставляющих информационные ресурсы, новую информацию, группировать ее по каким-то критериям и предоставлять клиенту.

Если речь идет об обычных интеллектуальных агентах, то в перечисленных выше примерах агенты размещаются на каких-то определенных серверах и на них же работают. В случае мобильных агентов, агенты получают возможность мигрировать с узла на узел. Например, агент для поиска интересующей клиента информации стартует на лаптопе клиента, перемещается на сайт первого информационного ресурса. Клиент тем временем отключается от Интернета вообще. А агент продолжает странствовать с узла на узел. Информация клиенту может отсылаться по e-mail-у и клиент будет забирать ее переодически подключаясь к Интернету.

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

В качестве иллюстрации: Mobile Agents and the Future of the Internet перечисляет несколько проблем, которые стояли перед мобильными агентами в 1999 году:
* Performance and scalability.
* Portability and standardization
* Security.
* Lack of a killer application.
* Getting ahead of the evolutionary path.
* Revenue and image.
Надо сказать, что эти проблемы так и не были преодолены. В особенности lack of killer application (все же происхождение агентной технологии из академических кругов накладывает свой отпечаток). Как следствие, один из самых известных проектов в области мобильных агентов D'Agents (о нем писал в своей книге
Автор(ы): Эндрю Таненбаум, Маартен ван Стеен

Эта книга является фундаментальным курсом по распределенным системам. В
ней детально описаны принципы, концепции и технологии этих систем:
связь, процессы, синхронизация, целостность и репликация, защита от
сбоев и безопасность. Особое внимание в книге уделено World Wide Web,
развитие которой и послужило толчком к резкому повышению интереса к
распределенным системам. Как это характерно для всех книг Э.Таненбаума,
последовательное и детальное изложение теории сопровождается примерами
реально действующих систем.
Таненбаум) завершил свое существование в 2003 году.

Кстати, если есть интерес в интеллектуальных агентах, то можно посмотреть на систему JADE (http://jade.tilab.com/). Эти, еще недавно были живы и развивались. Только что-то сегодня их сайт не был доступен. Может это временно


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Мобильные агенты
От: dimon0981 США  
Дата: 12.06.06 11:32
Оценка: 29 (2)
Здравствуйте, SergH, Вы писали:

D>> Еще есть такая вещи как коллективные вычисления. Типа хором решаем одну задачу, тут тоже агенты нужны.


SH>А разве они там взаимодействуют? Я считал, что просто каждому хосту выделяется какая-то часть задачи, он её решает, потом отправляет данные... В общем агент, конечно, но уж больно тупой Но могу ошибаться, как они реально работают — не знаю.


В широкораспространненых реализациях это так, например SETI@Home. Но такие технологии как grid позволяют провдить нормальные вычисления с маштабированием и т.д. и т.п.
Используется это естественно крайне редко, приемущественно для просчетов разных там физических/химических реакций и моделирования солнечных систем, но технологии достаточно развитые.


D>>Также можно посмотреть в сторону grid технологий, и семантического веба, там мобильные агенты являются основой.


SH>А можно ссылки? Я просто совершенно не в курсе, ни что такое grid-технологии, ни что такое семантический вёб


Конечно:
Собственно grig от главного идеолога (вполне нармальный перевод):
http://gridclub.ru/library/publication.2004-11-29.7104738919/publ_file/ — Анатомия grid
http://gridclub.ru/library/publication.2004-11-29.8307957187/publ_file/ — Физиология grid
Там pdf-ы

Семантический веб тоже от одного из его идеологов в научно-познавательной форме:
http://ezolin.pisem.net/logic/semantic_web_rus.html
Подобного материала в инете огромное количество. Без проблем можно найти оригиналы представленного.


PS: Думаю, что единственный способ проникнуть мобильным агентам в нашу действительность — это семантический веб. Но случится это (если вообще случится) очень не скоро.
Re[5]: Мобильные агенты
От: dimon0981 США  
Дата: 12.06.06 11:40
Оценка: 14 (1)
Совсем забыл. Наиболее популярный toolkit для grid вычислений
http://globus.org/
Там есть globus-toolkit. Можно скачать и посмотреть на приведенные примеры.
Для этого нужно:
— скачать gt-4.0 (globustoolkit) ~ 100Мб
— машина с unix-ом, а лучше несколько. На машинах должен быть python, perl, для некоторых примеров — Java
— день-два времени
Там поддержка семантического веба тоже имеется, но в ней я не рылся, возможно она приметивная.
Мобильные агенты
От: SergH Россия  
Дата: 10.06.06 14:22
Оценка:
Привет!

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

Недавно поверхностно столкнулся с Aglets WorkBench и Mobile Code Toolkit (вы будете смеяться — лабы в институте ), заинтересовался. Но выяснилось, что эти системы практически брошены своими создателями (чтобы заставить работать MCT пришлось качать jdk1.1.8 ) и вообще как-то бума агентных технологий не видать..
Делай что должно, и будь что будет
Re[2]: Мобильные агенты
От: dimon0981 США  
Дата: 10.06.06 22:02
Оценка:
Здравствуйте, eao197, Вы писали:

Мощный ответ

E> Внятных примеров я не видел, хотя особо и не искал. Но, имхо, такие примеры должны быть на поверхности, иначе что-то здесь не так.


Очень актуальный пример с самой поверхности — программирование логики для футбольной команды. Если нет централизованного "мозга", а каждый игрок имеет свой думательный орган. В этом случае многие задачи сводятся к задаче о мобильных агентах.
Думаю к примеру лежащему на поверхности можно также отнести некотороые из современных вирусов. Они сами "путешествуют" по сети, размножаются, взаимодействуют друг с другом, подчиняются некотороым заложенным в них правилам (типа не заражать один комп дважды, имеют определенный период и правила размножения и т.д.). Они образуют зомби сети, которые контролируются вирусописателями, которые в последствии используются для рассылки СПАМа.
Еще есть такая вещи как коллективные вычисления. Типа хором решаем одну задачу, тут тоже агенты нужны.
Также можно посмотреть в сторону grid технологий, и семантического веба, там мобильные агенты являются основой.
Re[3]: Мобильные агенты
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 11.06.06 04:51
Оценка:
Здравствуйте, dimon0981, Вы писали:

D> Очень актуальный пример с самой поверхности — программирование логики для футбольной команды. Если нет централизованного "мозга", а каждый игрок имеет свой думательный орган. В этом случае многие задачи сводятся к задаче о мобильных агентах.

D> Думаю к примеру лежащему на поверхности можно также отнести некотороые из современных вирусов. Они сами "путешествуют" по сети, размножаются, взаимодействуют друг с другом, подчиняются некотороым заложенным в них правилам (типа не заражать один комп дважды, имеют определенный период и правила размножения и т.д.). Они образуют зомби сети, которые контролируются вирусописателями, которые в последствии используются для рассылки СПАМа.
D> Еще есть такая вещи как коллективные вычисления. Типа хором решаем одну задачу, тут тоже агенты нужны.
D>Также можно посмотреть в сторону grid технологий, и семантического веба, там мобильные агенты являются основой.

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

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

Имхо, в интеллектуальных агентах самой большой проблемой является именно "интеллектуальность". Может быть кому-то из апологетов идеи агентных технологий кажется, что агенты могут быть очень интеллектуальными, самостоятельно выбирать себе партнеров, самостоятельно принимать какие-то решения. Только на практике это оказывается совершенно не так. Имхо, граздо проще запрограммировать агента на выполнение каких-то конкретных вещей, без наделения агента какой-то сложной логикой. Например, агенты для коллективных распределенных вычислений (вроде тех, что использовались для взлома RSA ключей, обработки сигналов SETI@Home, расшифровки геномов) вряд ли наделены какой-либо логикой. Тем не менее оказались очень успешными. Сложность логики поведения агентов, с одной стороны, оказывается не восстребованной, а с другой -- является слишком высокой ценой для реализации. Сложную логику гораздо тяжелее реализовывать и отлаживать, умного агента сложнее контролировать. А лишние проблемы и сложности никому не нужны.

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

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

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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: Мобильные агенты
От: SergH Россия  
Дата: 12.06.06 10:36
Оценка:
Здравствуйте, dimon0981, Вы писали:

D> Очень актуальный пример с самой поверхности — программирование логики для футбольной команды. Если нет централизованного "мозга", а каждый игрок имеет свой думательный орган. В этом случае многие задачи сводятся к задаче о мобильных агентах.


Слишком большая натяжка — компьютерная сеть и футболбное поле Но в общем понятно — ты имеешь ввиду задачи имитационного моделирования взаимодействия нескольких различных процессов. Для этого вообще не нужна мобильность, и практически не нужна агентность.. Хотя смотря что называть "агентностью" Но тут не требуется независимость различных агентов, не требуется возможность по ходу пьесы добавлять новых, которых остальные будут находить и т.п.

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


Это да, это понятно.

D> Еще есть такая вещи как коллективные вычисления. Типа хором решаем одну задачу, тут тоже агенты нужны.


А разве они там взаимодействуют? Я считал, что просто каждому хосту выделяется какая-то часть задачи, он её решает, потом отправляет данные... В общем агент, конечно, но уж больно тупой Но могу ошибаться, как они реально работают — не знаю.

D>Также можно посмотреть в сторону grid технологий, и семантического веба, там мобильные агенты являются основой.


А можно ссылки? Я просто совершенно не в курсе, ни что такое grid-технологии, ни что такое семантический вёб
Делай что должно, и будь что будет
Re[2]: Мобильные агенты
От: SergH Россия  
Дата: 12.06.06 10:47
Оценка:
Здравствуйте, eao197, Вы писали:

E> ...


Спасибо за подробный ответ! Я пришёл к похожим выводам, только значительно менее обоснованно. Интересный подход, но практически с ним что-то сделать трудно.
Но есть ещё надежда Возможно, мы просто ещё не дозрели, а вот будущее — за агентными системами. Сайт JADE сейчас доступен — шансы ещё есть
Делай что должно, и будь что будет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.