Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Програмні агенти



Програмний агент – це програма, яка вступає у відношення посередництва з користувачем або іншою програмою. Слово ”агент” походить від латинського agere (робити) і означає угоду виконувати дії від імені кого-небудь. Такі ”дії від імені” розуміють право вирішувати, які дії (якщо вони потрібні) є доцільними. Ідея полягає в тому, що агенти не запускаються безпосередньо для виконання завдання, а активізуються самостійно.

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

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

Термін ” агентно-орієнтоване програмування ” (АОП) був запропонований Й. Шохамом для опису набору дій, необхідних для створення ПА – програмних сутностей, що функціонують безперервно й автономно у певному оточенні, у багатьох випадках – разом з іншими процесами та агентами. Можна розглядати агентний підхід як метафору проектування та моделювання розподілених систем.

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

Є різні визначення ПА залежно від їх призначення та акцентування на певних властивостях. Так, П. Маєс визначає автономні ПА як комп'ютерні системи, що функціонують у складному динамічному середовищі, сприймають зміни у ньому та діють автономно, реалізуючи набір цілей або задач, для виконання яких вони створені. Б. Хайєс-Рот зазначає, що інтелектуальні ПА виконують три функції:

1) сприйняття динамічних умов середовища;

2) дії у відповідь на такі умови;

3) міркування для інтерпретації сприйняття, вирішення проблеми та визначення реакції.

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

ПА забезпечують такі функціональні можливості:

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

– вибір рішення між альтернативами та виконання цього рішення в інформаційному середовищі;

– взаємодія з іншими агентами та середовищем, у якому функціонують ПА.

ПА бувають інтерфейсними, Intranet-агентами, Internet-агентами, гетерогенними.

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

– спостереження за поведінкою користувача;

– отримання позитивних або негативних оцінок від користувача (зворотний зв'язок);

– безпосереднє отримання інструкцій від користувача;

– консультації з іншими агентами.

Представниками цієї групи агентів є такі системи, як A-Match та Verbal Software Robots.

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

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

Робота Intranet-агентів схожа на роботу Internet-агентів, проте має власну специфіку. Характерні задачі, завдяки яким виокремлюють Intranet-агентів, такі:

– автоматизація бізнес-процесів підприємства;

– виконання послуг для користувачів, пов'язаних з використанням інформації з бази даних підприємства.

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

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

Нині сформувалися два різних, проте взаємопов'язаних підходи до визначення агента. Відповідно до першого підходу агент визначається здебільшого від своїх дій, а тому не може бути повністю охарактеризований за набором своїх атрибутів. У другому підході агент визначається за атрибутами, які йому властиві. Агент – це об'єкт, що сприймає середовище за допомогою сенсорів і діє в ньому за допомогою ефекторів. ПА функціонують у багатовимірному просторі. Вони складаються з кількох шарів (рис. 4.17): комунікації; координації; організації; визначення; інтерфейсу АРІ.

Рис. 4.17. Багатошарова схема ПА

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

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

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

Розробка ПА вимагає застосування стандартизованих профілів агентів і методології розробки агентів для кожного з конкретних застосувань.

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

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

Агент – це програмний об'єкт, який:

– забезпечує виконання однієї або кількох послуг;

– надає опис цих послуг іншим ПА;

– здатний функціонувати автономно без безпосередніх вказівок користувача;

– може інтерактивно взаємодіяти з іншими ПА та користувачами.

Функціональний зв'язок між агентом, середовищем, у якому цей агент функціонує, та його програмним кодом можна подати в такий спосіб:

А = f(X),

де А – агент; f – програма (функція); X – середовище.

Найпростіше визначення агента ґрунтується на моделі чорного ящика, що знаходиться у певному середовищі. Агент описується як функція Л що обробляє інформацію від сенсорів і вхідні повідомлення (рис. 4.18).

Рис. 4.18. Визначення агента через модель чорного ящика

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

За визначенням FIPA (Federation of Intelligent Physical Agents), агент – це об'єкт, що знаходиться в певному середовищі, від якого він отримує дані про події в цьому середовищі, інтерпретує їх і виконує команди, що впливають на середовище. Такий агент може містити як програмні, так і апаратні компоненти. FIPA – це міжнародна організація, створена в 1996 р. з метою впровадження агентної парадигми для розробки практичних застосувань.

Агентна платформа відповідно до специфікації FIPA має таку архітектуру (рис 4.19):

– Directory Facilitator (DF) – додатковий, не обов'язковий компонент, що забезпечує довідкову інформацію іншим ПА. Тут агенти можуть реєструвати свої послуги або здійснювати запити, щоб довідатися про пропоновані послуги інших агентів;

– Agent Management System (AMS) – обов'язковий компонент агентної платформи, де має реєструватися ПА;

– Message Transport System (MTS) – метод комунікації між ПА на різних агентних платформах;

– Agent Platform (АР) – фізична інфраструктура, у якій функціонують агенти. АР складається з комп'ютера, операційної системи, програмного забезпечення для підтримки ПА, компонентів управління FIPA-агентами – DF, AMS і MTS.

Рис. 4.19. FIPA-агентна платформа

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

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

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

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

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

Можна визначати ПА через множину його атрибутів. ПА

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

– реактивність (reactivity) – зміна своєї поведінки залежно від певної ситуації;

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

– співробітництво (collaborative behavior) – здатність працювати разом з іншими агентами для досягнення спільної мети;

– спілкування на рівні знань (knowledge level communication ability) – спроможність спілкуватися з людьми й іншими агентами мовою, близькою до природної;

– здатність до логічного виведення (inferential capability)

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

– безперервність у часі (temporal continuity) – стійкість ідентифікації і стан протягом тривалого часу;

– персоналізація (personality) – наявність персоналізованих значень атрибутів власної поведінки;

– адаптивність (adaptivity) – навчання й удосконалення поведінки на основі власного досвіду;

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

– правдивість – припущення про те, що агент не буде свідомо поширювати помилкову інформацію;

– лояльність – намагання робити те, що потрібно іншим агентам;

– раціональність - виконання тільки тих дій, які приводять до досягнення цілей.

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

Інтелектуальні агенти (ІА) є підкласом ПА (рис. 4.20).

Рис. 4.20. Загальна концептуальна схема інтелектуального ПА

Інтелектуальний агент у широкому розумінні – це ІС, що має такі ключові ознаки:

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

– соціальність (social ability) – інтелектуальна та конструктивна взаємодія з іншими агентами і людьми шляхом обміну з ними повідомленнями певною загально зрозумілою мовою комунікацій;

– реактивність (reactivity) – сприйняття зміни середовища і вчасне реагування на них;

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

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

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

Більш строге (”сильне”) розуміння терміна ”інтелектуальний агент” вимагає наявності в агента ментальних властивостей (інтенсіональних відношень), до яких належать:

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

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

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

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

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

– зобов'язання (commitments) стосовно інших агентів – завдання, які агент виконує за дорученням інших агентів у межах кооперації та співробітництва.

Перші два поняття – переконання та знання – називають ”точкою зору” (attitudes) агента, інші характеризують в англомовній літературі загальним терміном ”pro-attitude”, сутність яких полягає у тому, що вони спрямовують дії та поведінку агента.

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

Термін мультиогентні системи використовується для позначення ІС, які складаються з множини автономних модулів ПА і мають такі властивості:

– кожен ПА є автономним, мобільним та інтероперабельним;

– ПА, що входять до складу МАС, здатні обмінюватися інформацією для досягнення спільних цілей;

– керування ПА може бути децентралізованим;

– джерела даних і доступ до них децентралізовані;

– робота агентів є асинхронною.

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

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

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

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

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

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

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

ПА використовуються у багатьох програмних об’єктах: управлінні підприємствами та виробничими процесами; плануванні рухом транспорту (повітряного, залізничного, автомобільного); аналізі та пошуку економічної інформації; навчанні; бізнесі, електронній комерції тощо. У галузі управління виробництвом першим застосуванням МАС е YAMS (Yet Another Manufacturing System). Важливим напрямом використання програмних агентів є інформаційно-пошукові агенти (ІПА) – це агенти, метою функціонування яких є ефективна взаємодія користувача з інформаційним середовищем і перетворення останнього в персоналізовані знання для конкретних користувачів.

Використання ІПА забезпечує користувачам значні переваги порівняно з пошуковими машинами:

– користувач отримує тільки найбільш релевантні результати пошуку, попередньо переглянуті ІПА з урахуванням специфіки програмних об’єктів, яка цікавить користувача, та його персональних уподобань;

– результати пошуку зберігаються для подальшої обробки та аналізу;

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

– ІПА може коригувати свою поведінку за власним досвідом;

– співпраця ІПА підвищує ефективність виконання запитів;

– у процесі пошуку використовуються знання програмних об’єктів, подані як словники, тезауруси та онтології, а також методи дедуктивного, індуктивного і традуктивного[7] висновку.

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


[1] Дана програма дозволяє диктувати комп’ютеру російською і англійською для швидкого введення текстів в комп’ютер у будь-якому редакторі під управлінням ОС Windows. За допомогою програми можна повністю контролювати комп’ютер мовними командами. При невеличкому тренуванні комп’ютер здатний вводити тексти зі швидкістю від 600 до 1000 знаків за хвилину, що в декілька разів перевищує швидкість будь-якої професійної друкарки. При цьому в текстах виключені орфографічні помилки, що практично є недосяжним при використанні друкарки.

Російський модуль системи «Горыныч» призначений для спільної роботи з американською програмою Dragon Dictates.

[2] Епіпроектор –оптико-механічний прилад для проектування на екран непрозорих оригіналів.

[3] Товстий або Rich-клієнт в архітектурі клієнт-сервер – це додаток, що забезпечує розширену функціональність незалежно від центрального сервера. Часто сервер у цьому випадку є лише сховищем даних, а вся робота з обробки й подання цих даних переноситься на комп’ютер клієнта.

[4] Тонкий клієнт (англ. thin client) в комп'ютерних технологіях – комп'ютер або програма-клієнт в мережах з клієнт-серверною або термінальною архітектурою, який переносить всі або більшу частину завдань з обробки інформації на сервер. Прикладом тонкого клієнта може бути комп'ютер з браузером, який використовується для роботи з веб-програмами.

[5] Швидка розробка додатків, RAD (від англ. rapid application development) – концепція створення засобів розробки додатків, програмних продуктів, що приділяє особливу увагу швидкості й зручності програмування, створенню технологічного процесу, що дозволяє програмістові максимально швидко створювати комп'ютерні програми. З кінця XX століття RAD одержала широке поширення й схвалення. Концепцію RAD також часто зв'язують із концепцією візуального програмування.

[6] Транзакція (трансакція) це здійснення закінчених дій стосовно визначеного об'єкта, що переводить цей об'єкт з одного постійного стану в інший. В різних галузях використання цього поняття існують певні відмінності у тлумаченні слова. Так наприклад, в економіці, транзакція означає зміну права розпорядження матеріальними благами або послугами, в якій бере участь більш ніж один суб'єкт; в інформатиці, транзакція відіграє важливу роль в базах даних, є логічною одиницею і зобов'язана відповідати принципам ACID (від англ. Atomicity, Consistency, Isolation, та Durability) і гарантує збереження цілісності бази даних; в методі транзакційного аналізу, транзакція є одиницею спілкування двох персон; в банківській справі – в переведенні коштів з одного рахунку на інший.

[7] Якщо в дедуктивних висновках знання рухаються від більш загального до менш загального, а в індуктивних – від одиничного до загального, то в традуктивних відбувається перехід знань від одиничного до одиничного.





Дата публикования: 2015-01-23; Прочитано: 2651 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.017 с)...