Засоби координації агентів у пошукових архітектурах Web
Досліджується підхід до тематичного пошуку інформації на засадах агентних технологій з використанням онтологічних мов опису та координації поведінки агентів. Для реалізації мети застосування (задачі) агент відповідно до зазначеного підходу включає об’єкти, що забезпечують розподілене керування, і пр...
Збережено в:
| Дата: | 2004 |
|---|---|
| Автори: | , |
| Формат: | Стаття |
| Мова: | Українська |
| Опубліковано: |
Інститут програмних систем НАН України
2004
|
| Теми: | |
| Онлайн доступ: | https://nasplib.isofts.kiev.ua/handle/123456789/1345 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Цитувати: | Засоби координації агентів у пошукових архітектурах Web/ П.І. Андон, В.О. Дерецький // Проблеми програмування. — 2004. — N 1. — С. 60-70. — Бібліогр.: 11 назв. — укр. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1859642696920989696 |
|---|---|
| author | Андон, П.І. Дерецький, В.О. |
| author_facet | Андон, П.І. Дерецький, В.О. |
| citation_txt | Засоби координації агентів у пошукових архітектурах Web/ П.І. Андон, В.О. Дерецький // Проблеми програмування. — 2004. — N 1. — С. 60-70. — Бібліогр.: 11 назв. — укр. |
| collection | DSpace DC |
| description | Досліджується підхід до тематичного пошуку інформації на засадах агентних технологій з використанням онтологічних мов опису та координації поведінки агентів. Для реалізації мети застосування (задачі) агент відповідно до зазначеного підходу включає об’єкти, що забезпечують розподілене керування, і прикладні динамічно співробітничаючі об'єкти. Розглядаються модель та застосування тематичного пошуку інформації, технологія і засоби специфікації поводження агента, використовувані в мультиагентній системі, а також описана архітектура платформи для реалізації зазначених моделей.
|
| first_indexed | 2025-12-07T13:23:52Z |
| format | Article |
| fulltext |
Агентно-ориентированные информационные системы
© П.І. Андон, В.О. Дерецький, 2004
60 ISSN 1727-4907. Проблемы программирования. 2004. № 1
УДК 681.3.06
П.І. Андон, В.О. Дерецький
ЗАСОБИ КООРДИНАЦІЇ АГЕНТІВ У ПОШУКОВИХ
АРХІТЕКТУРАХ WEB
Досліджується підхід до тематичного пошуку інформації на засадах агентних тех-
нологій з використанням онтологічних мов опису та координації поведінки агентів.
Для реалізації мети застосування (задачі) агент відповідно до зазначеного підходу
включає об’єкти, що забезпечують розподілене керування, і прикладні динамічно
співробітничаючі об'єкти. Розглядаються модель та застосування тематичного пошуку
інформації, технологія і засоби специфікації поводження агента, використовувані в
мультиагентній системі, а також описана архітектура платформи для реалізації зазна-
чених моделей.
Вступ
Відомо, що Web є великим репо-
зиторієм інформації і сервісів будь-
якого напрямку та призначення. В той
же час така характеристика шкодить
Web-технологіям. Якщо необхідно
знайти точну інформацію, то на пошук
і перегляд великої кількості Web-
сторінок витрачається значна кількість
часу. Безумовно, відповідні пошукові
машини Інтернету допомагають при-
скорити процес інформаційного пошу-
ку, але відсутність контексту для по-
шукових слів зменшує його ефектив-
ність. Ці проблеми частково вирішу-
ються за допомогою адаптації XML-
технології, яка розроблена та розвива-
ється для забезпечення опису структу-
ри та семантики даних, але Web-сайти
в більшості створюються з викорис-
танням засобів HTML.
Інша задача пов’язана з форму-
ванням знань користувача в процесі
пошуку інформації. Пошукові машини
формують і впорядковують знайдений
матеріал на основі пошукових слів (об-
разів) користувача. Вищий пріоритет
отримують сторінки, що містять знай-
дені слова, але контекст може зовсім
не цікавити користувача. Пошукові
слова пов’язані з множиною смислів.
Саме контекст може бути помічником
для визначення та вибору певного зна-
чення пошукового слова і визначення
рангу знайдених результатів.
Для вирішення цих та інших се-
мантико-пошукових задач використан-
ня агентного підходу дає нові якісні
результати.
Агент визначається як комп'юте-
рна програма, здатна розумно діяти від
імені користувача (іншої програми),
для виконання задачі [1]. Агенти, поді-
бно людям, співробітничають так, щоб
їх сукупність могла поєднувати зусилля
для досягнення поставленої мети. Аге-
нти володіють наступними основними
властивостями:
автономність – здатність
функціонувати самостійно і здійсню-
вати контроль за своїм станом і своїми
діями;
інтелектуальна проактивність –
спроможність діяти не просто у відпо-
відь на зміни навколишнього середо-
вища, а здатність брати ініціативу (фо-
рмувати нові цілі);
мобільність – здатність до пере-
сування для подальшого функціону-
вання в різних операційних оточеннях;
адаптивність – спроможність
вчитися.
На відміну від програми об’єкт-
но-орієнтованого програмування агент
як програма має власне керування у
вигляді не тільки виконуваного коду і
стану, але й виклику (початку вико-
нання програми агента). Іншими сло-
вами, агенти самі визначають, коли і як
їм діяти.
Для забезпечення здатності до
взаємодії автономних агентів у відкри-
тому і розподіленому середовищах не-
обхідні стандартні механізми та спе-
цифікації. Мінімальні вимоги до таких
механізмів наступні:
Агентно-ориентированные информационные системы
61
наявність засобів, якими агенти
можуть зв'язуватися один з одним так,
щоб мати змогу обмінюватися інфор-
мацією, делегуючи задачі керування,
тощо;
засоби, за допомогою яких аген-
ти можуть визначати один одного;
способи унікальної ідентифікації
агента;
засоби взаємодії з користувачами;
засоби переміщення від однієї
платформи до іншої.
Модель агента, за рекомендація-
ми FІPA, забезпечує нормативну струк-
туру, у межах якої агенти можуть бути
розгорнуті і працювати. FІPA-специ-
фікація встановлює логічну модель для
створення, реєстрації, місця розташу-
вання, зв'язку, переміщення та вилу-
чення агентів.
У мультиагентних системах
(МАС), складених з кількох автоном-
них агентів, переговори є ключовою
формою взаємодії, що дозволяє групам
агентів досягти взаємної угоди по від-
ношенню до деякого представлення чи
мети плану. Процес переговорів аген-
тів може ґрунтуватися на різних моде-
лях, таких, як аукціони, протоколи ко-
нтрактної мережі, дискусії тощо. В на-
прямку дослідження переговорів виді-
ляють три головні теми [2]:
1) предмети переговорів – діа-
пазон проблем, з яких повинно бути
досягнуто згоди. Це можуть бути як
прості проблеми (визначення цін на то-
вар різних виробників), так і складні
(наприклад, встановлення цін на товар
заданої якості, планування часу достав-
ки товару та ін.). У найпростішому ви-
падку завдання переговорів полягає у
визначенні структури та змісту угоди
агентів. В результаті переговорів дома-
гаються прийняти чи відхилити пропо-
зицію. Існують і більш складні випадки
переговорів, наприклад зміна значення
проблеми в предметі переговорів через
зустрічні пропозиції або зміна структу-
ри предмета переговорів (додаткові га-
рантії, інші терміни постачання тощо);
2) протоколи переговорів – на-
бір правил, керуючих взаємодією аген-
тів. Вони визначають склад припусти-
мих типів учасників (наприклад, аген-
тів, які ведуть переговори або мають до
них відношення), фіксують стан пере-
говорів, ініціюють події, що виклика-
ють переходи в інші стани і виконують
дії учасників у визначених станах;
3) моделі міркування агентів –
засоби, що забезпечують ухвалення
рішення, за допомогою якого учасники
намагаються досягти свою ціль. Склад-
ність моделі міркування визначається
використовуваним протоколом, типом
предмета у переговорів і діапазоном
операцій, що можуть бути виконані.
Для практичних застосувань так
само важлива низкорівнева фундамен-
тальна інфраструктура механізму пере-
говорів. Наприклад, будь-який прото-
кол переговорів повинен враховувати
можливість утрати повідомлень, вибу-
вання одного з партнерів переговорів
тощо. Для успішного завершення пере-
говорів усі сторони (агенти), які беруть
у цьому участь, повинні ясно розуміти
правила протоколу.
Очевидно, що комунікаційна мо-
ва може обмежувати міркування між
агентами переговорів. Наприклад, мова
KQML [3] накладає обмеження, за яко-
го очікується, що агент, надсилаючи
запит, сам вирішить, як одержувач по-
винен його обробити.
Однією з задач розробки прото-
колу є досягнення бажаного результату
за мінімальну кількість комунікацій.
На даний час FІPA та іншими ор-
ганізаціями ведуться роботи зі станда-
ртизації набору протоколів, на яких
буде заснована координація взаємодії
агентів [4]. Щоб дозволити агентам
взаємодіяти один з одним, розроблено
ряд мов їхнього спілкування [1, 5]. Ці
мови забезпечують набір спеціальних
повідомлень (performatіves), заснованих
на мовних актах. Хоча такі performa-
tіves можуть характеризувати типи по-
відомлення, практично немає ефектив-
них мов для вираження змісту повід-
омлення, який дозволяє агентам "розу-
міти" один одного.
Однією з важливих у застосу-
ваннях МАС є проблема розподілу ре-
сурсів. Для її вирішення використову-
Агентно-ориентированные информационные системы
62
ються прийняті в бізнесі економічно
обґрунтовані підходи та ринкові меха-
нізми, що базуються на основних фор-
мальних моделях.
У задачах, де агенти використо-
вуються для керування обмеженими
ресурсами (праця, сировина, товари,
гроші), для укладання угод у перегово-
рах передбачається, що ціни й інші па-
раметри моделі загально відомі. На ау-
кціонах є центральний аукціоніст, че-
рез якого здійснюється координація.
Отже, агентам для обміну необхідна
тільки мінімальна кількість інформації.
Інший клас задач – це пошукові
задачі, в моделях яких загальновідоми-
ми вважаються значення (смисл) по-
шукових образів.
У наступних розділах описані
моделі та підходи створення агентів і
МАС на основі засобів керування та
координації для пошукових технологій.
Використовується онтологічна мова
опису та координації інтелектуальних
агентів COOL – Control Oriented On-
tology Language [6, 7].
COOL у МАС забезпечує ство-
рення концептуальної моделі коорди-
нації у вигляді певних структур –
“розмов”, що включають комунікативні
дії між агентами. Ця модель дозволяє
представити об'єкти і структури керу-
вання та побудувати МАС.
СООL успішно використовується
в застосуваннях, розроблених для про-
мислових підприємств, зокрема для рі-
шення задач інтеграції ланцюгів поста-
чань [6]. У даній статті пропонується
використання засобів COOL у пошуко-
вих архітектурах.
Функціонально COOL слід роз-
глядати як [7]
• мову, що встановлює станда-
рти координації між агентами, що
співробітничають;
• оболонку для виконання ко-
ординованих дій у МАС;
• інструмент для проектування,
експериментування і перевірки прави-
льності протоколів координації;
• інструмент для поетапного
розвитку (наповнення) знань про ко-
ординацію агентів.
COOL дозволяє задати безліч
агентів, що співробітничають взаємо-
діючи один з одним шляхом викорис-
тання заданих протоколів координації,
названих класами розмови (conversa-
tion classes). У результаті такого ство-
рення породжується діаграма станів, у
якій переходи від одного стану до ін-
шого визначені в структурах, які нази-
ваються правилами розмови (conversa-
tion rules). Кожне правило може бути
виконано тільки за певних умов –
отриманих повідомлень від інших аген-
тів. Результат виконання правила веде
до зміни стану розмови і викликає де-
яку дію. Кожен агент забезпечується
різними типами планів координації
відповідно до тієї ролі, що він буде гра-
ти в застосуванні.
Однією з головних задач у МАС
є досягнення координованого пово-
дження між агентами. В ідею розробки
COOL був закладений той факт, що
проблема координації виникає за на-
явності знань про процеси, які відбу-
ваються при взаємодії агентів. Рішення
цієї проблеми знаходиться в компетен-
ції всієї МАС, а не окремо взятого
агента.
COOL містить кілька припущень
щодо способу, яким агенти зможуть
досягти координованого поводження:
• автономні агенти мають вла-
сні плани, згідно яких вони пересліду-
ють кожен свою мету;
• індивідуальні плани агентів і
знання про мультиагентне середовище,
у якому вони знаходяться, точно пред-
ставляють взаємодії з іншими агента-
ми. Припускається, що ці взаємодії
відбуваються за допомогою обміну по-
відомленнями;
• агенти не можуть передбачи-
ти точну поведінку інших агентів, але
можуть виділити класи альтернативних
поводжень, що очікуються. Отже, пла-
ни агентів являють собою умовні ви-
раження над можливими діями і/чи
реакціями інших агентів;
• плани агентів можуть бути
незавершеними чи неточними, і необ-
хідні знання для їхнього розширення
або виправлення. Точні плани можуть
Агентно-ориентированные информационные системы
63
стати доступними тільки протягом ви-
конання. З цієї причини агенти здатні
розширювати і змінювати свої плани в
процесі виконання.
Найбільш важливою конструкці-
єю мови є класи розмови, що визна-
чають стани й асоційовані правила для
отримання повідомлення, модифікації
локального стану, перевірки умови ви-
конання і передачі повідомлення. Аген-
ти мови COOL можуть володіти декіль-
кома класами розмови для керування
взаємодіями з іншими агентами. Екзе-
мпляри класів розмови, що називають-
ся розмовами (conversations), зберіга-
ють свій стан виконання стосовно кла-
су розмови. Агенти можуть мати одно-
часно кілька активних розмов, і існу-
ють механізми керування, що дозво-
ляють їм припиняти розмову при че-
канні інших розмов, щоб досягти ви-
значених стадій. Таким чином, агенти
можуть динамічно створювати ієрархії
розмов.
1. Тематичний пошук інформації з
використанням програмних агентів
Запропонований підхід є розвит-
ком досліджень у галузі пошукових
технологій [8, 9] з використанням аген-
тних методів і засобів опрацювання
семантики текстової інформації.
Взаємодію агентів розглянемо на
прикладі архітектури пошукової систе-
ми, що містить:
агент теми (Topic Agent);
агент контексту (Context Agent);
пошуковий агент (Search Agent).
Агент контексту формує кон-
текст поточної Web-сторінки за допо-
могою алгоритму класифікації, що ви-
користовує список тематичних катего-
рій і для кожної категорії список упо-
рядкованих пошукових слів та слово-
сполучень. Такий список тематичних
категорій складається попередньо, а
взаємодія з ним забезпечується аген-
том теми. Кожна сторінка індексуєть-
ся, для неї формуються вагові коефіці-
єнти слів за частотними показниками.
Отримані значення нормалізуються
відповідно до розмірів сторінки. Розра-
ховується ступінь подібності сторінки
до тематичної категорії за формулою
∑
∑
=
=
= m
k
n
j jkw
jiwjWiSim
1
1 ),(
),()()( ,
де )(iSim – ступінь подібності сторінки
та тематичної категорії )(i , що відпові-
дає контексту сторінки; )( jW – зна-
чення ваги пошукового слова )( j ; n –
кількість слів на сторінці; ),( jiw – вага
слова )(i тематичної категорії )(i . Сто-
рінка може відповідати кільком тема-
тичним категоріям, які упорядковують-
ся за ваговими коефіцієнтами.
Пошуковий агент перевіряє ре-
зультати пошукової машини та впоряд-
ковує їх за даними, що формуються
агентом контексту. З цією метою для
кожної сторінки визначається вага ко-
жної теми, що розраховується за фор-
мулою
∑
=
=
n
k
kWiSc
1
)()( ,
де )(iSc – вага )(i теми; )(kW – вага
відповідної словоформи. Визначені те-
ми упорядковуються за отриманим
значенням.
Зміст взаємодії контекстного та
пошукового агентів полягає в наступ-
ному. Для визначення контексту кори-
стувач надає первинний документ або
сукупність документів (файли, Web-
сторінки тощо), зміст яких відповідає
його інтересам. Для цих документів ви-
значається значення {Sim(i)}.
За результатами роботи пошуко-
вого агента обчислюється значення
{Sc(i)}. Шляхом переговорів агентів ви-
значається відповідність знайденого
матеріалу контексту та здійснюється
його упорядкування за ваговими кое-
фіцієнтами контексту.
Взаємодія агентів відбувається на
кількох рівнях.
Перший рівень стосується інфо-
рмаційного змісту спілкування агентів.
Порція інформації, переданої на цьому
рівні, являє собою висловлення (факт),
наприклад “(search Т(i))” (знайти доку-
менти по темі (і)).
Другий рівень визначає наміри
агентів. Той же самий інформаційний
Агентно-ориентированные информационные системы
64
зміст може бути повідомлений з різни-
ми намірами. Наприклад:
• (ask (search Т(i))) – відправник
запитує одержувача, чи згаданий факт
істиний;
• (tell (search Т(i))) – відправник
повідомляє про свій намір одержувачу;
• (achieve (search Т(i))) – відпра-
вник пропонує одержувачу зробити
даний факт одним з його намірів;
• (deny (search Т(i))) – відправ-
ник повідомляє, що цей факт більше не
є наміром.
Третій рівень забезпечує угоди,
які агенти спільно використовують при
обміні повідомленнями. Існування зага-
льнодоступних угод уможливлює коор-
динацію агентів, наприклад, при здійс-
ненні переговорів про їхні цілі та дії.
Нарешті, четвертий рівень взає-
модії має відношення до внутрішньої
архітектури агентів.
Співробітництво і координація
інтелектуальних агентів відбуваються
завдяки передачі повідомлень між аге-
нтами засобами KQML (Knowledge
Query and Manipulation Language –
мова запитів і керування знаннями),
розробленої як універсальна мова для
вираження таких намірів, причому всі
агенти інтерпретують їх однаково.
KQML підтримує зв'язок через явні лі-
нгвістичні конструкції (performatives).
KQML ґрунтується на структурі мовно-
го акта (speech act framework), розроб-
леного філософами і лінгвістами для
пояснення людського спілкування [3].
COOL допускає існування станда-
ртного набору мовних актів, що визна-
чають комунікативні дії. Ці мовні акти
представляються як performatives –
припустимі дії, які агенти можуть ви-
конати при передачі повідомлень один
одному. До стандартних мовних актів у
COOL був доданий ряд мовних актів
більш високого рівня:
• Propose (запропонувати) –
використовується, щоб запропонувати
агенту досягти підціль. Наприклад:
(propose: content (search Т(i))) (time “19-feb-
2004”))).
• Counter-Propose (запропону-
вати назустріч) – зустрічна пропози-
ція (контрпропозиція) – це інша під-
ціль, що частково задовольняє почат-
кову мету. Використання цього мов-
ного акта може привести до послідов-
ності контрпропозицій. Наприклад:
(counter-propose: content (search Т(i) (time
“20-sep-2003”))).
• Accept and Reject (прийняти і
відхилити) – використовуються, щоб
повідомити про прийняття чи відхи-
лення пропозиції або контрпропозиції.
Відхилення ініціює нову стадію перего-
ворів.
• Cancel (скасування) – скасо-
вує попередньо прийняту пропозицію
чи контрпропозицію.
• Satisfy (задовольнити) – агент
повідомляє, що необхідна ціль була до-
сягнута. Наприклад: (satisfy: content
(counter-propose: content (search Т(i))) (time
“20-sep-2003”))).
• Fail (зазнати невдачі) – агент
повідомляє, що виконання заданої цілі
зазнало невдачі.
Для побудови МАС COOL надає
ряд конструкцій, у ролі яких можуть
виступати:
• агенти;
• диспетчери розмови;
• класи розмови;
• правила розмови;
• правила відновлення розмови;
• правила продовження розмови;
• асоціації.
Коротко розглянемо призначен-
ня і семантику кожної конструкції.
Агенти. Як згадувалося вище,
агент розглядається як об'єкт, що діє
автономно, цілеспрямовано і виконує
задані функції. Він функціонує, ґрун-
туючись на індивідуальних і загально-
доступних знаннях, переконаннях і
намірах. Агент у COOL – це об'єкт,
котрого можна запрограмувати і який
може обмінюватися повідомленнями в
межах структурованих планів з іншими
агентами. Ці плани задаються в класах
розмови і виконуються екземплярами
розмов. Класи розмови визначаються
разом з агентом.
Агент визначається шляхом при-
значення йому імені, установки змін-
них, які утворюють його локальну базу
Агентно-ориентированные информационные системы
65
даних, і встановлення початкової роз-
мови (initial conversation). Після визна-
чення агента виконується його почат-
кова розмова і впродовж цього він
знаходиться в активному стані. Якщо
початкова розмова не була визначена,
то агент залишається в стані очікуван-
ня доти, поки не одержить повідом-
лення від іншого агента.
Диспетчери розмови. Агенти
здійснюють розмови з іншими агента-
ми чи виконують дії усередині свого
середовища. Співробітництво агентів
існує в локальних або віддалених сере-
довищах виконання. Диспетчер розмо-
ви керує виконанням агента всередині
середовища. Агенти в COOL повинні
бути виконані під контролем керуючої
програми. Диспетчер розмови визначає
набір агентів, якими він керує, і вико-
нує різні опції трасування. У COOL
можна визначити декілька диспетчерів
розмови, кожного зі своїм власним на-
бором агентів. Призначення середови-
ща виконання полягає в тому, щоб “за-
пустити” агентів шляхом передачі по-
відомлень і виконати планування аген-
тів. Ці середовища виконання існують
на різних машинах, проте повідомлен-
ня передаються між ними в такий же
спосіб, як і на одній машині. Застосу-
вання, що складається з агентів мови
COOL, може виконуватися як на одній
машині, так і на декількох машинах у
мережі. Кожне середовище виконання
визначається своїм диспетчером роз-
мови, що координує виконання агентів,
зв'язаних з цим середовищем [5].
Клас розмови – це правило, за-
сноване на описі того, що повинен ро-
бити агент у певних ситуаціях (напри-
клад, при отриманні повідомлення).
COOL забезпечує зв'язок класів роз-
мови з агентами, окреслюючи таким
чином, які види розмов кожен агент
може обробляти. Клас розмови визна-
чає доступні правила розмови, меха-
нізм роботи і локальну базу знань, що
містить стан розмови. Правила розмо-
ви індексовані на кінцевій множині
значень спеціальної змінної current-state
(поточний стан). Необхідно підкресли-
ти, що клас розмови визначає тільки
початкові і кінцеві стани розмови. Усі
проміжні стани визначаються в пра-
вилах розмови як параметр у слоті
:next-state.
Нижче наведено приклад класу
розмов (можлива діаграма переходів
(Conversation Plan)) для керування роз-
мовою в застосуванні пошуку релеван-
тної контексту інформації між агентом
контексту (Сontext agent) і агентом
пошуку (Seacher agent) мовою COOL.
(def-conversation-plan ‘serch-conversation
:content-language ‘list
:speech-act-language ‘kqml
:initial-state ‘start
:final-states ‘(rejected failed satisfied)
:control ‘interactive-choice-control
:rules ‘((start cc-1)
(simi cc-3 cc-2)
(working cc-5 cc-4 cc-3)
(item cc-9 cc-8 cc-7 cc-6)
(asked cc-10)
(accepted cc-12 cc-11)))
На рис. 1 діаграма переходів зо-
бражена у формі графа G(S, T), де S –
множина станів, а 2ST ⊂ – множина
переходів. Дуга Ttv ⊂),( існує, якщо
існує правило розмови для переходу з
поточного стану v у наступний стан t.
У діаграмі переходів усі стани повинні
бути досяжні з початкового стану.
Правило може бути визначене
як завершене чи незавершене. Завер-
шені виконуються без повідомлення
користувача, а в незавершених прави-
лах можуть бути відсутні необхідні да-
ні, наприклад точний склад повідом-
лення, яке буде передано. Коли систе-
ма зіштовхується з незавершеним
правилом, вона може не знати, яке
правило повинне виконатися в даному
стані (відсутня умова) чи що повинно
відбутися при виконанні правила (від-
сутня дія), і видається відповідне по-
відомлення користувачеві для уточ-
нення ситуації.
Приклад правил розмови мовою
СООL:
Агентно-ориентированные информационные системы
66
(def-conversation-rule ‘sim-1
:current-state ‘start
:received ‘(propose: sender
:content (item-order
:has-line-item ?li))
:next-state ‘order-received
:transmit ‘(tell: sender ?agent_search
:receiver agent_context
:content ‘(working on it)
:conversation ?convn)
:do ‘(update-var ?conv ‘?order ?message))
2. Програмне середовище для
побудови пошукової мультиагентної
системи
Програмне середовище JADE
(Java Agent Development Framework)
призначене для розробки агентів, МАС
і застосувань, що відповідають станда-
ртам FIPA для інтелектуальних агентів.
Середовище складається з двох основ-
них частин: власне FIPA-сумісної аген-
тної платформи і засобів розробки аге-
нтів Java.
Середовище JADE написане мо-
вою Java і складається з бібліотеки
Java-класів (packages), що надають
розроблювачам прикладних програм
готові фрагменти функціональних мо-
жливостей і абстрактних інтерфейсів
[10, 11].
JADE постачається з набором ін-
струментальних засобів, які спрощують
адміністрування і розробку. Такими ін-
струментальними засобами є (рис. 2):
Легенда
Стан переговорів
Міжагентний зв’язок
Стан перекомпіляції
Невдача
11
5
3 10
11
9
Документ отримано
Перегляд
упорядкування
Альтернативна
пропозиція
Пошуковий процес
Старт пропозиція
Запит теми Старт
1
3
8
9
Відхилення
6,7
Виконання
Sim(i)
Відхилення
2
5
4
11
10
12
Невдалий
Задоволений
Переговори
Агент-контексту Агент-пошуку
1 12
2
4
6
7
8
Sc(i)
Упорядкування
Успіх
Sc(i)
Sim(i) ~ Sc(i)
Рис. 1. Діаграма переходів агентів Context і Searcher у формі графа
Агентно-ориентированные информационные системы
67
• Remote Management Agent
(RMA) – графічна оболонка, призна-
чена для керування агентною платфо-
рмою. JADE підтримує когерентність
між декількома запущеними RMA шля-
хом многоканальної передачі даних
між ними. Крім того, оболонка RMA
здатна запустити й інші інструмента-
льні засоби JADE;
• Dummy Agent – графічний
інтерфейс користувача (GUI), який є
агентом середовища JADE. GUI дозво-
ляє скласти повідомлення мовою ACL,
послати їх іншим агентам, відобразити
список усіх відправлених і/чи отрима-
них повідомлень мовою ACL із вказів-
кою інформації про час, щоб записати
і повторити розмову агента;
• Sniffer – агент, що може пе-
рехопити повідомлення мовою ACL в
процесі їх виконання і графічно відо-
бразити їх у вигляді послідовності пря-
мих ліній. Це важливо для налаго-
дження і дозволяє спостерігати, як від-
бувається обмін повідомленнями мо-
вою ACL між агентами;
• SocketProxyAgent – простий
агент, який функціонує в якості двуна-
правленого шлюзу між платформою
J ADE і звичайним TCP/IP-підклю-
ченням. ACL-повідомлення, що пере-
даються всередині JADE у власному
Стан 1 Стан 1
Інтерфейс агентної платформи
керування
Контейнер агента керування
RMI регістратура
АСС DF AMS
C
o
r
t
e
x
H
e
p
a
t
i
c
Опис проце-
су керування
в
COOL/CLIPS
Диспетчер повідомлення
Org/jlab/coda/agents/CRTI.class
Org/jlab/coda/agents/ontology/
CTRI/…class
А
г
е
н
т
з
а
с
т
о
с
у
в
а
н
н
я
А
г
е
н
т
і
н
т
е
р
ф
е
й
с
у
А
г
е
н
т
о
б
о
л
о
н
к
и
Мережа
Диспетчер повідомлення Java RMI
Апаратні
засоби
керуван-
Рис. 2. Архітектура програмного середовища JADE для побудови МАС
Агентно-ориентированные информационные системы
68
внутрішньому форматі, конвертуються
в ASCII-строки і відправляються через
сокет-підключення. І навпаки, ACL-
повідомлення можуть бути передані і
конвертовані через TCP/IP-підклю-
чення в платформу JADE. Цей агент
може використовуватися, наприклад,
при забезпеченні взаємодії з Java-
аплетами всередині мережевого брау-
зера (засобу навігації по мережі і пере-
гляду інформації);
• DF GUI – графічний інтер-
фейс користувача, за допомогою якого
створюється складна мережа областей
и підобластей “жовтих сторінок”. Цей
GUI дозволяє простим і інтуїтивним
способом керувати базою знань DF,
поєднувати DF у федерації с другими
DF, дистанційно керувати базою знань
DF-предків і DF-нащадків.
Агентна платформа JADE може
бути розподілена між декількома
комп’ютерами. Віртуальна машина Java
– це основний контейнер агентів, що
забезпечує середовище виконання аге-
нта і дозволяє кільком агентам одноча-
сно виконуватися на тому ж самому
хості. Агенти реалізовані як нитки
(thread) Java:
1) GUI дозволяє керувати декі-
лькома агентами й агентними контей-
нерами з віддаленого хоста;
2) засоби налагодження полег-
шують розробку мультиагентних за-
стосувань, заснованих на JADE;
3) забезпечується мобільність
агента, включаючи його стан і коду-
вання;
4) підтримується одночасне ви-
конання множини дій завдяки викори-
станню моделі поводження агента;
5) автоматично активізуються
основні компоненти AMS, DF і ACC
при запуску агентної платформи;
6) забезпечується запуск мно-
жини DF для реалізації багатодомених
застосувань, де доменом є логічний на-
бір агентів, послуги яких “рекламують-
ся” через загальний DF. Кожен DF ус-
падковує GUI і всі стандартні можли-
вості;
7) забезпечується ефективна
передача ACL-повідомлень усередині
однієї й тієї ж агентної платформи.
Повідомлення передаються в закодова-
ному вигляді як об'єкти Java. При пе-
ретинанні границь платформи повідом-
лення автоматично конвертується в/з
FIPA-сумісний синтаксис. Це перетво-
рення є прозорим для розроблювача,
що має справу тільки з Java-об'єктами;
8) надається бібліотека протоко-
лів взаємодії FIPA, готових до викорис-
тання;
9) забезпечується автоматична
реєстрація і дереєстрація агентів у
AMS;
10) ведеться FIPA-сумісна служба
імен: при запуску агент одержує свій
глобальний унікальний ідентифікатор
(Globally Unique Identifier, GUID);
11) забезпечується підтримка мов
змісту й онтологій для конкретних за-
стосувань.
Для створення МАС використо-
вуються наступні основні класи: Agent
і Behavior.
Клас Agent (агент) являє собою
загальний базовий клас для агентів,
обумовлених користувачем. C точки
зору розроблювача, агент JADE – зви-
чайний екземпляр Java-класу, що роз-
ширює базовий клас Agent. Мається на
увазі успадкування властивостей для
здійснення основних взаємодій з аген-
тною платформою (реєстрація, конфі-
гурація, віддалене керування тощо) і
основний набір методів, що можуть
викликатися для реалізації заданого
поводження агента.
Обчислювальна модель агента є
багатозадачною і паралельною, у якій
задачі (чи поводження) виконуються
одночасно. Кожна функціональна мож-
ливість і/чи сервіс, наданий агентом,
повинні бути реалізовані як одне чи
кілька поводжень. Внутрішній планува-
льник, схований від розроблювача,
автоматично керує плануванням повод-
жень.
На рис. 3 наведено життєвий
цикл агента відповідно до специфікації
FIPA. Агент JADE може знаходитися в
одному з кількох станів, представлених
у класі Agent наступними об’єктами:
— AP_INITIATED: об'єкт класу
Agent створений, але поки незареєст-
рований у AMS, тому він не має ні
Агентно-ориентированные информационные системы
69
імені, ні адреси і не може вести пере-
говори з іншими агентами;
— AP_ACTIVE: об'єкт Agent за-
реєстрований у AMS, має постійне ім'я
й адресу і може використовувати всі
сервіси JADE;
— AP_SUSPENDED: об'єкт Agent
у даний момент часу зупинений і не
виконує ніякої дії (поводження);
— AP_WAITING: Agent блоко-
ваний, його внутрішній стан – без дії і
він пробудиться при виконанні деякої
умови (наприклад, надходження повід-
омлення);
— AP_DELETED: внутрішній стан
– завершений, і агент не зареєстрова-
ний у AM;
— AP_TRANSIT: мобільний агент
уводить цей стан для того, щоб, поки
агент переміщається до нового місця
розташування, система продовжувала
накопичувати і зберігати повідомлення,
що будуть надіслані йому, коли він
прибуде в нове місце;
— AP_COPY: внутрішній стан
використовується платформою JADE
для створення копії агента;
— AP_GONE: внутрішній стан
використовується платформою JADE
для повідомлення про те, що мобільний
агент перемістився до нового місця
розташування й установив стійкий
стан.
Клас Behaviour (поведінка). Роз-
роблювач визначає дії агента шляхом
специфікації його поводження. Агент
здатний виконувати декілька паралель-
них задач у відповідь на різні зовнішні
події. Для того щоб керування агентом
було ефективним, кожен агент JADE
складається з окремого потоку вико-
нання і всі його задачі (наміри) пови-
нні бути реалізовані як об'єкти класу
Behaviour. Розроблювач при завданні
задачі агентові повинен визначити
один чи кілька похідних класів від ба-
зового класу Behaviour і додати певні
поводження до списку його задач. Клас
Agent надає два методи: addBehaviour і
removeBehaviour, що дозволяють керу-
вати чергою задач агента, а саме дода-
вати або видаляти поводження. Пово-
дження агента можуть бути додані
всякий раз, коли це необхідно, а не
тільки в межах методу Agent.setup().
Планувальник, реалізований ос-
новним класом Agent і „схований” для
програміста, виконує циклічну політи-
ку планування між усіма поводження-
ми, доступними в черзі на виконання.
Поводження може бути заблоковано, й
агент очікує одержання повідомлення.
Рис. 3. Життєвий цикл агента відповідно до специфікації FIPA
Suspended
Призупи-
нен
Transit
Транзит-
ний
Initiated
Початок
Wait
Чекати
Resume
Продовж.
Wake Up
Пробудитися
Suspend
Зупинити
Waiting
Чекання
Active
Активний
Invoke
СприятиExecute
Виконати
Move
Перемістити
Create
Створити
Destroy
Знищити
Quit
Припинити
Агентно-ориентированные информационные системы
70
Щоб уникнути активного чекання по-
відомлень (і, як наслідок, витрату про-
цесорного часу), кожне поводження
може бути заблоковано. Метод block()
поміщає поводження в чергу заблоко-
ваних, і воно відновлюється, як тільки
відбувається повернення з методу
action(). Усі заблоковані поводження
упорядковуються у разі прибуття ново-
го повідомлення. Крім того, об'єкт кла-
су Behaviour може блокувати себе на
визначений обмежений час.
Висновки
Розглянуто новий підхід до розробки
засобів взаємодії та координації про-
грамних агентів на засадах онтологіч-
них мов. Підхід спрямований на широ-
ке коло застосувань, зокрема в напря-
мку пошукових Web-сервісів опрацю-
вання змісту текстової інформації.
1. Jennings N.R., Sycara K., Wooldridge M. A
Roadmap of Agent Research and Develop-
ment // Autonomous Agents and Multi-Agent
Systems. – 1998. – 1. – P. 275—306.
2. Chen Ye, Peng Yun, Finin T., Labrou Ya., Cost S.
A negotiation-based multi-agent system for
supply chain management // Working Notes
of the Agents'99 Workshop on Agents for
Electronic Commerce and Managing the
Internet-Enabled Supply Chain, Seattle, WA,
April 1999. – P. 36—41.
3. Finin T., Weber J., Wiederhold G. et al. Speci-
fication of the KQML Agent Communication
Language // The DARPA Knowledge Sharing
Initiative, External Interfaces Working Group,
1992. – 56 p.
4. Gyurjyan V., Abbott D., Heyes G., Jastrzemb-
ski E., Timmer C., Wolin E. FIPA agent based
network distributed control system //
TJNAF, VA 23606, Newport News, USA.
March 2003. – 5 p.
5. Singh M.P. Towards a Formal Theory of Com-
munication for Multiagent Systems // Conf. Ar-
tificial Intelligence, Sydney, Australia, 1991. –
P. 69—74.
6. Barbuceanu M. COOL: A Language for Rep-
resenting and Executing Coordinated Behav-
ior in Multi-Agent Systems // Enterprise In-
tegration Laboratory, Department of Industrial
Engineering, User Manual, University of To-
ronto, 1996. – 56 p.
7. Barbuceanu M. Coordination Protocols For
Multi-Agent Supply Chains // Teamwork, En-
terprise Integration Laboratory, Report and
Formal Specification, University of Toronto,
1996. – 78 p.
8. Андон П.І., Дерецький В.О. Процесори пошу-
ку та аналізу природномовної текстової ін-
формації в аналітичних системах // Пробл.
программирования. – 2001. – N 3—4. –
С. 144—165.
9. Дерецкий В. Об одном подходе к обработке
естественно-языковых данных на основе
анализа семантических сетей // Первая Все-
рос. науч. конф. „Электронные библиотеки:
перспективные методы и технологии, элек-
тронные коллекции”, 18—22 октября 1999 г.,
Санкт-Петербург, 1999. – С. 100—103.
10. Haase R. Building a Generic User Agent for
Multi-Agent Integrated Enterprise // Enter-
prise Integration Laboratory, University of To-
ronto, 1997. – 37 p.
11. Bellifemine F., Poggi A., Rimassa G. JADE – A
FIPA-compliant agent framework // Proceed-
ing of PAAM99, London, April 1999. –
P. 97—108.
Про авторів
Андон Пилип Іларіонович,
член-кор. НАН України, директор
Дерецький Валентин Олександрович,
канд. фіз.-мат. наук, провідний науко-
вий співробітник
Місце роботи авторів:
Інститут програмних систем НАН України,
Просп. Академіка Глушкова, 40,
Київ-187, 03680, Україна
Тел. (044) 266 4342
E-mail: dva@isofts.kiev.ua
|
| id | nasplib_isofts_kiev_ua-123456789-1345 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 1727-4907 |
| language | Ukrainian |
| last_indexed | 2025-12-07T13:23:52Z |
| publishDate | 2004 |
| publisher | Інститут програмних систем НАН України |
| record_format | dspace |
| spelling | Андон, П.І. Дерецький, В.О. 2008-07-25T16:01:27Z 2008-07-25T16:01:27Z 2004 Засоби координації агентів у пошукових архітектурах Web/ П.І. Андон, В.О. Дерецький // Проблеми програмування. — 2004. — N 1. — С. 60-70. — Бібліогр.: 11 назв. — укр. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/1345 681.3.06 Досліджується підхід до тематичного пошуку інформації на засадах агентних технологій з використанням онтологічних мов опису та координації поведінки агентів. Для реалізації мети застосування (задачі) агент відповідно до зазначеного підходу включає об’єкти, що забезпечують розподілене керування, і прикладні динамічно співробітничаючі об'єкти. Розглядаються модель та застосування тематичного пошуку інформації, технологія і засоби специфікації поводження агента, використовувані в мультиагентній системі, а також описана архітектура платформи для реалізації зазначених моделей. uk Інститут програмних систем НАН України Агентно-ориентированные информационные системы Засоби координації агентів у пошукових архітектурах Web Article published earlier |
| spellingShingle | Засоби координації агентів у пошукових архітектурах Web Андон, П.І. Дерецький, В.О. Агентно-ориентированные информационные системы |
| title | Засоби координації агентів у пошукових архітектурах Web |
| title_full | Засоби координації агентів у пошукових архітектурах Web |
| title_fullStr | Засоби координації агентів у пошукових архітектурах Web |
| title_full_unstemmed | Засоби координації агентів у пошукових архітектурах Web |
| title_short | Засоби координації агентів у пошукових архітектурах Web |
| title_sort | засоби координації агентів у пошукових архітектурах web |
| topic | Агентно-ориентированные информационные системы |
| topic_facet | Агентно-ориентированные информационные системы |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/1345 |
| work_keys_str_mv | AT andonpí zasobikoordinacííagentívupošukoviharhítekturahweb AT derecʹkiivo zasobikoordinacííagentívupošukoviharhítekturahweb |