Глава 9. Інтелектуальні програмні агенти. Мультиагентні системи з дисципліни Сучасні інформаційні системи і технології, КСУ, Київський славістичний університет
« НазадГЛАВА 9. Інтелектуальні програмні агенти. Мультиагентні системиОдин з найперспективніших напрямків у ШІ пов’язаний зі створенням інтелектуальних програмних агентів та мультиагентних систем. Агентно-орієнтовані системи поєднують об’єктно-орієнтовану технологію програмування з технологіями штучного інтелекту. Поширення використання агентної парадигми в ІТ призводить до якісно нового рівня взаємодії користувача з ПЗ. Програмний агент - це сутність, яка здатна до формулювання цілей, навчання, планування та прийняття рішень в оточенні, що динамічно змінюється. Вперше агенти були використані при створенні каталогів сторінок Інтернет для виконання рутинної роботи з перегляду інформаційних ресурсів мережі. Зараз агенти широко використовуються для вирішення широкого спектра задач – від управління підприємством до пошуку інформації, від диспетчеризації перевезень і логістики – до управляння космічними роботами. Призначення агентів – спростити та покращити взаємодію користувачів зі складними програмними системами у слабоструктурованому, розподіленому середовищі, що динамічно змінюється, шляхом адаптації до особливостей конкретного користувача. Агент, на відміну від традиційних програм, здатний взаємодіяти з цим середовищем, отримуючи від нього інформацію через свої сенсори і впливаючи на середовище за допомогою своїх ефекторів, та змінювати свою поведінку, навчаючись на власному досвіді. Основні властивості програмного агентаДля реалізації своїх функцій агент має володіти, принаймні, чотирма можливостями:
Інтелектуальні агенти здатні аналізувати інформацію, яку вони отримують від інших агентів. Вони можуть приймати рішення в умовах невизначеності ситуації. Як правило, агентів не програмують для виконання конкретної роботи, а навчають на прикладах. Агенти, які мають високий рівень інтелектуальності, здатні самостійно вчитися на власному досвіді. Властивості інтелектуальних агентівАвтономність - агент виконує значну частину своєї роботи автономно, не взаємодіючи з людиною або іншими агентами. Комунікабельність - агент уміє спілкуватися з користувачем, одержуючи від нього завдання і надаючи результати. Адаптивність поведінки - в процесі спілкування з користувачем агент уміє настроюватися на його особисті звички і методи роботи. Раціональність поведінки - агент своїми діями має просуватися до рішення поставленої задачі і не виконувати дії, які цьому процесові перешкоджають. Якщо агент на основі своїх знань вважає, що певна дія наблизить його до поставленої перед ним цілі, то він може виконати цю дію. Але ця дія може і не привести його до цілі, якщо інформація, на основі якої агент прийняв рішення, була невірною, тобто рішення агента про доцільність виконання дій залежать від наявної інформації та засобів її обробки. Сприйнятливість - агент, що перебуває в інформаційному середовищі, сприймає певним чином зміни навколишнього середовища і може реагувати на ці зміни. Проактивність - агент має не тільки виконувати поточну задачу, але і збирати при цьому потенційно корисну для користувача інформацію та накопичувати її у своїй БД. Інтелектуальність агента відображає ступінь його спроможності до міркування та навчання. Інтелектуальний агент може сприймати певні переваги, які користувач надає різним ситуаціям, та має механізм міркувань, щоб діяти відповідно до цих переваг. Більш високий рівень інтелектуальності припускає наявність в агента моделі потреб користувача і механізму пошуку засобів їх задоволення. Важливою складовою інтелектуальних програмних агентів є механізми виведення нових знань на основі наявних. Більш того, інтелектуальність програмного агента визначається не стільки інформацією, яку він має, скільки його здатністю здійснювати коректне виведення на основі своїх знань. БЗ агента містить таку інформацію:
Інтелектуальний програмний агент має модель ПрО, модель користувача, засоби сприйняття, засоби виконання дій, цілі і планувальник дій на підставі цілей, моделі інших агентів і засоби взаємодії з ними Модель ПрО, в якій функціонує агент, має відображати структуру та ієрархію об’єктів (приміром, у формі онтології), з якими він взаємодіє для досягнення цілей. Інтелектуальний агент має явно задану символьну модель світу, у якій рішення (приміром, вибір дії) приймаються через логічні або псевдологічні міркування. Модель користувача потрібна агенту для того, щоб правильно інтерпретувати завдання користувача та сповіщати його про отримані результати у зручній та зрозумілій формі. В процесі роботи агент може поповнювати модель користувача, накопичуючи досвід взаємодії з конкретним користувачем (або класом користувачів) для підвищення ефективності своєї роботи. Засоби сприйняття та засоби виконання дій агента залежать від функцій, які агент має виконувати. Цілі агента визначають його дії відповідно до принципу раціональності. Обирає такі дії та визначає їх послідовність планувальник дій агента. Моделі інших агентів потрібні агенту для того, щоб успішно взаємодіяти з ними і обмінюватися інформацією в процесі досягнення спільних цілей. Для взаємодії агентів звичайно використовується мова KQML. Переконання, бажання і наміри агентівПрограмний агент як система найбільш адекватно описується за допомогою інтенсіональних відношень - інформаційних (переконання, знання) та передвідношень (бажання, намір, зобов'язання тощо). Інформаційні відношення - це відомості, які агент має про середовище, у якому він існує, тоді як передвідношення - це те, що певним чином керує діями агента. Переконання (Belief) агента відображають його думки про поточний стан світу і про правдоподібність образу дії, що призводить до певного ефекту. Переконання агента підрозділяються на:
Бажання (Desire) – це ситуації, в які прагне потрапити агент шляхом виконання певних дій. Важливою властивістю множини бажань є те, що агент може мати несумісні і недосяжні бажання. Приміром, агент може бажати виконати певні дії за найменший час та витратити на це найменше ресурсів. Ціль - це несуперечлива підмножина бажань агента. Наміри (Intention) - несуперечлива підмножина цілей, які може досягти обмежений у ресурсах агент, і засіб їх досягнення. Передвідношення та інформаційні відношення тісно пов'язані, оскільки агенти формують свої наміри на основі наявної в них інформації про світ. Переконання, як і деякі інші інтенсіональні відношення, - референційно непрозорі, тобто істинність висловлення “А вважає Х“ залежить не лише від істинності значення Х, але і від А, і через це класична логіка в її стандартній формі непридатна для їхнього опису. Приміром, істинність висловлення “студент вважає, що вивчив матеріал” визначаються не тим, чи насправді він його вивчив, а його власними переконаннями. Розроблено багато досить складних способів формалізації переконань. Приміром, теорія можливих світів, запропонована Хинтіккою, дозволяє визначити семантику мови, що містить інтенсіональні оператори переконання. Як загальнозначущий критерій відмінності знання від переконання береться фіксована точка зору, представлена базовою системою можливих світів. Повні знання про навколишнє середовище в загальному випадку недоступні. Але агент здатний серед усіх взагалі можливих ситуацій виділити та відкинути ті ситуації, які суперечать наявній в нього інформації (приміром, якщо агент отримав дані від своїх сенсорів і вважає, що сенсори працюють правильно, то він переконаний в цих даних). Кожна з ситуацій, яка не була відкинута, називається світом і є можливою, виходячи зі знань агента. При цьому переконання агентів можуть бути охарактеризовані як множини можливих світів. Висловлення, істинне в усіх можливих світах агента, - це його переконання. Модель агента, що базується на інтенсіональних відношеннях, звичайно називають BDI-моделлю (переконання - Belief, бажання – Desire, намір - Intention). Для моделювання поведінки інтелектуальних агентів використовують різні комбінації інтенсіональних відношень. Приміром, Кохен і Левескьє обрали як базові відношення переконання і цілі, визначаючи інші відношення через них, Рао і Джоржеф - переконання, бажання і наміри, тоді як Братман замість переконань, бажань та намірів використовує більш практичні відношення - цілі і плани. Вибір комбінації інтенсіональних відношень значною мірою визначається специфікою інтересів розробників моделі. Мультиагентні системиДля вирішення складних проблем досить часто використовують мультиагентні системи, що складаються з набору агентів, які виконують окремі функції та взаємодіють в процесі цього з іншими агентами. Переваги мультиагентної системи – це відносна простота розроблення окремих агентів; інтероперабельність, що дозволяє розширювати систему агентами, створеними незалежно різними розробниками, а також більша здатність системи до адаптації. Агенти, що входять до складу мультиагентної системи, можуть взаємодіяти один з одним не тільки в тих випадках, коли вони створені одним розробником чи групою розробників. Міжнародна асоціація FIPA розробила стандарти, що підтримують одну з визначальних характеристик агентів - інтероперабельність. Програма є агентом тільки в тому разі, якщо вона спроможна до коректних комунікацій на мові комунікацій агентів. Для конструктивної та інтелектуальної взаємодії між програмними агентами необхідні:
Спільне розуміння знань поділяється на дві підзадачі: 1) переклад з однієї мови подання знань на іншу; 2) пошук семантичного контексту подання знань для різноманітних програм. Комунікації викликають проблеми, пов'язані з: 1) протоколом взаємодії, 2) мовою комунікацій, 3) транспортним протоколом. Протокол взаємодії базується на високорівневій стратегії, яку здійснює агент у процесі взаємодії з іншими агентами. Такий протокол може знаходитися в діапазоні від схеми переговорів і протоколів теорії ігор до простих протоколів типу “кожного разу, якщо я чогось не знаю, я знаходжу кого-небудь, хто знає, і запитую“. Мова комунікацій вказує, що саме пропонується для комунікації, - твердження, запит або питання. Транспортний протокол - це діючий транспортний механізм, що використовується для комунікацій (приміром, TCP, SMTP, HTTP). Вибір конкретного транспортного протоколу залежить від специфіки конкретної програми. Агенти звичайно взаємодіють на рівні знань і тому не можуть задовільно обслуговуватися звичайними мовами і протоколами, призначеними для розподілених обчислень. KSE - це ініціативний проект розвитку технічної інфраструктури для підтримки пошуку знань між системами. У його рамках розробляється мова подання змісту KIF (формат обміну знаннями - Knowledge Intrchange Format), яка може бути використана для забезпечення перекладу з однієї мови на іншу або як загальна мова подання змісту для двох агентів, що використовують різні мови подання знань. KIF являє собою потужний засіб подання знань і метазнань. Існує дві передумови для розроблення подібної мови: 1) створення мови для розроблення інтелектуальних програм з акцентом на інтероперабельність, 2) створення загального формату обміну знаннями, при якому замість перекладу з мови А на мову Б виконується спочатку переклад із мови А на KIF, а потім - переклад із KIF на мову Б (при цьому за наявності n різноманітних мов потрібно 2n перекладачів замість n*(n-1), що були б необхідні при відсутності загальної мови) . Мова KIF містить різноманітні оператори, що допомагають подавати логічну інформацію (заперечення, диз'юнкції, квантифіковані формули тощо). KIF дозволяє кодувати знання про знання, використовуючи спеціальні символи. Семантика KIF (без правил і визначень) подібна до логіки першого порядку. Вона розширюється за рахунок використання нестандартних операторів і обмежується різноманітними аксіомами моделювання. Вимоги до мов комунікації агентів можна підрозділити на такі групи: форма, зміст, робота в мережі, середовище, надійність. Ці вимоги можуть конфліктувати одна з одною. Приміром, проста для людини мова може бути не такою стислою, як можливо. Вибір удалого співвідношення усіх вимог становить собою завдання для розроблювачів мови. Для рішення проблеми комунікацій між інтелектуальними агентами необхідна спільна мова, тобто спільні синтаксис, семантика і прагматика. Одержання загального синтаксису для програмних агентів є основною проблемою. Не існує загальновживаної мови подання інформації і запитів. Такі мови, як KIF і SQL, досить поширені, але цього недостатньо, щоб прийняти одну із них за стандарт. Два агенти можуть спілкуватися, якщо вони мають спільну мову подання знань або якщо вони використовують мови, для яких існують засоби перекладу. Для рішення цих проблем в рамках проекту KSE розроблена мова KQML (Knowledge Query and Manipulation Language). KQML - це мова і набір протоколів, що забезпечують програмним агентам ідентифікацію, зв'язок і обмін інформацією з іншими подібними агентами. KQML - це одночасно і формат повідомлень, і протокол обробки повідомлень для підтримки пошуку знань між агентами. Основні риси KQML :
KQML складається з трьох рівнів: рівня вмісту, рівня комунікацій і рівня повідомлень. Рівень умісту - це фактичний зміст повідомлення власною мовою подання (KQML може переносити висловлювання будь-якою мовою подання, в тому числі у вигляді рядків ASCII). Деякі агенти, що використовують KQML (приміром, програми маршрутизації, узагальнені посередники), можуть ігнорувати вміст повідомлення і тільки визначати, якщо воно закінчується. Рівень комунікацій містить набір властивостей, що описують низькорівневі параметри комунікації (такі, як ідентифікація відправника й одержувача, ідентифікатор комунікації тощо). Рівень повідомлень використовується для кодування того, що одна програма бажає передати іншій. Цей рівень формує ядро мови KQML і визначає вид взаємодії з агентом, що використовує KQML. Основною функцією рівня повідомлень є ідентифікація протоколу, що використовується для передачі повідомлення і забезпечення виконання певної дії, яку відправник зв'язує з повідомленням (запиту, команди тощо). Крім того, на цьому рівні можуть бути описані властивості мови вмісту, визначатися його тематика. Це дозволяє KQML виконувати аналіз, маршрутизацію і доставку повідомлень навіть у тому випадку, якщо їхній уміст недоступний. Список літератури1. Berners-Lee T., Hendler J., Lassila O. The Semantic Web. - http://www.scientificamerican.com/print_version.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21, 2. OWL Web Ontology Language 1.0 Reference, W3C Working Draft 29 July 2002. - http://www.w3.org/TR/2002/WD-owl-ref-20020729/. 3. RDF Tutorial, W3C. - http://www.w3.org/TR/rdf-tuturial. 4. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. - Спб.: Питер, 2001. 5. Глибовець М.М., Олецький О.В. Штучний інтелект. - К.: "КМ Академія", 2002. 6. Плескач В.Л., Рогушина Ю.В., Кустова Н.П. Інформаційні технології та системи. - К.: "Книга", 2004. Контрольні питання1. Які засоби використовують для подання гіпертексту? 2. У чому полягають відмінності між мовами HTML та XML? 3. Яка інформація називається мультимедійною? 4. Які формати використовуються для подання мультимедійних даних? 5. Які формати використовуються для подання графічної інформації в Інтернет? 6. Що таке метадані про документ? 7. Для чого використовують стандарт RDF? 8. Що таке онтологія? 9. Які мови використовують для подання онтологічних систем? З повагою ІЦ “KURSOVIKS”! |