Основні поняття агентно-орієнтованої парадигми програмування 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основні поняття агентно-орієнтованої парадигми програмування



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

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

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

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

Під агентом, як правило, розуміють комп'ютерну програму, яка має такі властивості:

автономність – здатність працювати без зовнішніх втручань і здійснювати контроль своїх дій і станів;

соціальна активність – здатність співробітничати з іншими програмами-агентами (і людьми), використовуючи агентно-комунікаційні мови;

реактивність – здатність змінювати свою поведінку залежно від стану зовнішнього середовища;

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

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

Використання агентно-орієнтованої парадигми призводить до змін стилю програмування. Найближчим до агентно-орієнтованого стилю програмування є об'єктно-орієнтований.

У таблиці наведено основні їх відмінності

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

 

Інтелектуальність агента підвищує наявність у нього таких додаткових властивостей:

переконань – базованих на знанні агента про поточний стан оточення і його змінах, до яких повинні привести дії агента;

бажань – базованих на відношенні агента до майбутніх станів оточення і перевазі одного стану над іншими, а також здатності розрізняти несумісні і не здійсненні бажання;

цілей – які розглядаються як підмножини несуперечливих бажань агента;

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

мобільності – здатності самостійно переходити з однієї платформи на іншу.

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

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

1. За архітектурою побудови агентів і їх властивостями:

- розсудливий агент – спроможний робить висновки і навчатися, має чітку модель світу, власну базу знань і механізми логічного виведення нових знань;

- реагуючий (реактивний) агент – спроможний аналізувати до- і після- умови активації своїх модулів, у відповідь на зміни в зовнішньому оточенні;

- гібридна агентна архітектура – в якій одна з підсистем – розсудлива (розробляє плани і приймає рішення), інша – реактивна (діє за планом, реагує на події).

2.За функціональним призначенням:

- інтерфейсні агенти, які взаємодіють з користувачами;

- задачні агенти, що призначені до рішення певних задач;

- інформаційні агенти, - безпосередньо працюють з джерелами даних.

3. За здатністю до мобільності:

- стаціонарні (локальні) агенти, працюють на стороні клієнта або на стороні сервера;

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

 

Стаціонарні (anchored) агенти працюють в основному на стороні клієнта або на стороні сервера. Прикладами такого підходу можуть служити клієнтські утілити компаній AgentSoft і Autonomy. Ці програми працюють з браузером і автоматизують сеанси перегляду. Безумовно, ці клієнти взаємодіють з Web-серверами: адже саме там проводиться пошук. Однак вони в тому або іншому ступені прив'язані до клієнтської машини. Інтелектуальні засоби для Web-сторінок, побудованих з застосуванням агентних технологій, містяться на серверній стороні.

Мобільні (mobile) агенти відносяться до більш досконалої і багатообіцяючої категорії продуктів. Такі агенти нагадують деякий різновид програмних роботів, що здатні самостійно переміщатися від сервера до сервера в пошуках потрібної інформації. Ці програми несуть в собі інформацію про власний стан, тобто цілком автономні. Для того щоб цей підхід знайшов застосування в Internet необхідно, щоб сервери забезпечували надійне і безпечне функціонування мобільних агентів. В умовах відсутності широко визнаних стандартів неможливо реалізувати жоден з засобів переміщення агентів між серверами.

Інтерфейсні агенти запропоновані Pattie Maes у 1994 році. Інтерфейсний агент має забезпечувати допомогу через контроль дій користувача, вивчати "short cuts" та пропонувати найкращі шляхи виконання задачі. Інтерфейсний агент повинен добре знати особливості середовища функціонування для того, щоб забезпечити адекватну підтримку. Для забезпечення персоналізованої допомоги інтерфейсний агент повинен безперервно моделювати свого користувача. Крім того, інтерфейсний агент повинен розуміти суть задач, які користувач намагається розв'язати. Інакше кажучи, агент повинен мати глибоку модель користувача. Таким чином, інтерфейсний агент повинен мати чотири моделі знань:

1. знання предметної області застосування;

2. модель користувача;

3. стратегії допомоги;

4. каталог типових проблем користувача, що можуть виникнути в цьому середовищі.

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

Серед існуючих інтерфейсних агентів можна виділити наступні.

Фільтр новин USENET - система NEWT тренується на отриманій серії прикладів, що ілюструють статті, які користувач вибрав або не вибрав для читання. Агент після цього починає висловлювати свої припущення користувачу, і одержує відгуки на свої припущення. Мета агента NEWT - привернути увагу користувача до статей того типу, до якого користувач виявив стійкий інтерес. Схожі ідеї реалізовані в інтелектуальних помічниках адміністратора, що прогнозують дії, і виконують рутинні адміністративні процедури.

Softbot (Software robot) - інтелектуальний інтерфейсний агент, створений для взаємодії з широким спектром ресурсів мережі Internet. Цей агент забезпечує інтеграцію і інтерфейс з мережею Internet, динамічно вибирає засоби для виклику, а також їхню послідовність. Softbot має засоби для обробки неповноти на основі опитування всіх можливих джерел і тільки потім робить висновок про повноту / неповноту своїх знань. Також Softbot може обробляти двозначність в запиті користувача: він запитує додаткову інформацію від користувача або грунтується на своїх внутрішніх інформаційних ресурсах.

Адачні агенти

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

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

Інформаційні агенти

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

Інформаційні агенти забезпечують засоби допомоги в управлінні великими обсягами інформації. Особливо така задача стає актуальною при обробці інформації в Internet. Метою створення інформаційних агентів є створення умов для вирішення задач типу: "Сформувати звіт останніх фінансових результатів конкурентів нашої компанії використовуючи Internet-ресурси, витративши не більше 400 доларів на плату за доступ". Це звичайно важка задача.

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

 

Найбільш відомі агентні архітектури – PRS, JAM, TOURINMACHINE, COSY, INTERRAP.



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 246; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.158.248.39 (0.011 с.)