Здавалка
Главная | Обратная связь

Програмні агенти в розподілених системах



Програмний агент(software agent) – це автономний процес, здатний реагувати на середовище виконання і змінювати його, можливо, в кооперації з користувачами або з іншими агентами.

Властивість, яка відрізняє агента від процесу, – це здатність функціонувати автономно і, зокрема, проявляти у разі потреби ініціативу.

Визначення програмного агента є досить неточним, у результаті чого багато типів процесів легко можуть сприйматися як агенти. Оскільки важко достатньо точно визначити поняття «програмні агенти», то визначають різні типи програмних агентів, класифікація яких зумовлена їх властивостями.

Окрім автономності важливою якістю агентів є можливість кооперуватися з іншими агентами. Поєднання автономності й кооперації зумовлює появу кооперативних агентів.

Кооперативний агент(collaborative agent) – це агент, що становить частину мультиагентної системи, тобто систе­ми, в якій агенти, кооперуючись, виконують деякі загальні завдання.

Приклад.Типове програмне забезпечення, що використовує кооперативних агентів, – це електронна конференція. Кожного доповідача представляє агент, що має доступ до матеріалів, які користувач хоче надати до загального розгляду. З урахуванням усіх індивідуальних обмежень щодо часу, місця розташування, переміщення та інших спільна робота окремих агентів дозволяє організувати конференцію.

У деяких випадках виділяють серед інших типів агентів мобільні агенти. Мобільний агент(mobile agent) – це агент, який здатний переміщатися з машини на машину.

З огляду положень перенесення коду, мобільні агенти часто вимагають підтримки сильної мобільності, хоча це і не є абсолютно необхідним. Вимога сильної мобільності випливає з того, що агенти автономні та активно взаємодіють зі своїм середовищем, тому перенесення агента на іншу машину без урахування його стану буде значно утруднено. Відзначимо, що мобільність – це загальна властивість агентів, наявність якої не є ознакою для віднесення їх до певного класу, тому має сенс говорити про існування мобільних ко­оперативних агентів, які можуть бути наявні в усіх класах.

Здатність до кооперації з іншими агентами або переміщення між машинами – це системні властивості агентів, що не визначають призначення агента. В основу класифікації агентів як ознаку покладено саме його функціональність.

Класи, які традиційно розглядають, – це клас інтерфейсних агентів та інформаційних агентів, також можливо виділити інші класи за функціональними ознаками.

Інтерфейсний агент (interface agent) – це агент, що допомагає кінцевому користувачу працювати з одним або декількома програмними засобами.

Серед властивостей, що традиційно є в інтерфейсного агента, можна виокремити здатність до навчання. Найчастіше вони взаємодіють з користувачами, забезпечуючи їм підтримку у процесі подання інформації у зручному для кінцевого користувача вигляді.

Приклад. У контексті розподілених систем прикладом інтерфейсного агента може бути агент, що відстежує взаємодії між агентами і користувачами. Так створюються спеціальні інтерфейсні агенти для взаємодії продавців з покупцями. Правильно зрозумівши, що хоче побачити покупець або що може запропонувати його власник, інтерфейсний агент може допомогти визначити потрібну групу товарів.

Інформаційний агент(information agent) – агент, що керує інформацією з безлічі різних джерел, він є подібним до інтерфейсного агента.

Керування інформацією охоплює впорядкування, фільтрацію, порівняння тощо. Необхідність використання інформаційних агентів у розподілених системах визначається тим, що вони можуть працювати з інформацією, яка збирається з різних територіально розподілених джерел. Стаціонарні інформаційні агенти зазвичай працюють з вхідними потоками інформації, яка надходить до певного вузла системи.

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

На перевагу стаціонарним агентам, мобільні інформаційні агенти зазвичай вільно подорожують мережею, збираючи на вимогу їх власника необхідну інформацію.

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

Таблиця 2. Деякі важливі властивості агентів

Властивість Властивості, спільні для агентів Опис
Автономність є Здатність працювати незалежно від інших
Реактивність є Здатність своєчасно реагувати на зміни в своєму оточенні
Функціональність є Здатність ініціювати дії, що впливають на оточення агентів
Комунікативність є Здатність обмінюватися інформацією з користувачами і іншими агентами
Тривалість Немає Порівняно довгий час життя
Мобільність Немає Здатність переміщуватися з місця на місце
Адаптивність Немає Здатність до навчання







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.