Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



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

Скачати 119.56 Kb.

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




Скачати 119.56 Kb.
Дата конвертації16.03.2017
Розмір119.56 Kb.
ТипІнформації

С. С. Гороховський

АГЕНТНІ ТЕХНОЛОГІЇ: СПРОБА КРИТИЧНОГО ОГЛЯДУ


Розглядаються проблеми, пов’язані з інтелектуальними агентами - новоюї інформаційною технологією. Аналізуються преспективи і труднощі використання.
Мета цієї статті представити інформаційну технологію, що за останні кілька років стала одним з чільних напрямів у проблематиці штучного інтелекту. Більшість публікацій зосереджена в західній літературі та в Інтернеті. “Кирилицею” опубліковано великий змістовний огляд [1], що не містить, однак, інформації про реалізації, софтверні платформи, основну практичну принаду – мобільність, тобто здатність агентів рухатись мережею.

Навколо так званих інтелектуальних агентів в другій половині 90-х років зчинився такий галас (hype), що класик теорії операційних систем Цикритзис у передмові до збірки “революційних” праць, присвяченіq агентам, спитав: якщо агенти - це розв’язання всіх проблем, то в чому тоді проблема?

Про те, що галас не випадковий, свідчить популярність тематики в Інтернеті (десятки тисяч сайтів і сторінок, великі репозиторії та портали), а також кількість міжнародних конференцій і семінарів (на 2000 рік заплановано 19). Видається багато “агентних”журналів і книжок. Інтерес до багатоагентних систем можна пояснити тим, що в них інтегруються найновіші досягнення інженерії знань, розподілених систем і комп’ютерних мереж. З іншого боку, нова галузь знаходиться поки що на стадії становлення. Про це свідчить той факт, що більшість оглядових статей “класиків” [2, 3] все-таки починається з визначення, що ж таке агент. Крім того, завдяки молодості галузі автори досить часто грішать антропоморфними образами, серйозно аналізуючи віру, емоційність і переконання агентів, За висловом Е. Дейкстри, це є ознакою професійної незрілості. Насправді, ментальні аспекти поведінки програм складають дуже важливий аспект проблеми, адже інтелектуальні агенти вийшли з глибин проблематики штучного інтелекту, але занадто важкий для дослідження. Семантика поведінки агентів для опису нетривіальних кроків в просторах можливих світів вимагає залучення найскладніших розділів часових логік. Може цим пояснюється деяка пауза в досі дуже активних публікаціях про віру і переконання агентів.

Що ж таке агент?

Існує два визначення інтелектуального агента - “слабке” і “сильне” [1, 2, 3].

Інтелектуальний агент в слабкому смислі - це програмно або апаратно реализована система, що має такі властивості:



  • автономність - здатність функціонувати без втручання людини і при цьому виконувати самоконтроль над своїми діями та внутрішнім станом;

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

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

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

Остання властивість якраз і є тим, що відрізняє агента від просто програми.

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

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

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

  • бажання (desires) – це стани, що їх досягнення з різних причин бажане для агента;

  • наміри (intentions) – це те, що агент має зробити, оскільки або зобов’язався, або те, что випливає з його бажань;

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

  • обов’язки (commitments) відносно інших агентів - задачі, що агент бере на себе на прохання (доручення) інших агентів в рамках кооперативних цілей.

Знання та переконання називають «позицією агента», його «точкою зору», інші спрямованістю агента.

Деякі автори вважають, що до цього треба ще додати деякі властивості, як наприклад:



  • мобильність (mobility) – здатність агента мігрувати, рухатись мережею в пошуках необхідної інформации для розв’язання своїх власних задач, при кооперативному розв’язанні задач разом або за допомогою інших агентів,

  • доброзичливість (benevolence) - готовність агентів допомогати одне одному та готовність агента розв’язувати саме ті задачі, що йому доручив користувач;

  • правдивість (veracity) - властивість агента не маніпулювати інформацією, про яку йому відомо, що вона брехлива;

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

А ось думка FIPA (Federation of Intelligent Physical Agents) - міжнародної організації, створеної 1996 року для просування ідей багатоагентних систем в бік практичних застосувань: “Агент – це сутність, що знаходиться в деякому середовищі, від якого вона отримує дані, що відбивають події, які відбуваються в середовищі, інтерпретує ці події та виконує команди, що впливають на середовище. Агент може містити програмні та апаратні компоненти... Відсутність чіткого визначення світу агентів і наявність великої кількості атрибутів, з ним пов’язаних, а також існування великого розмаїття прикладів агентів говорить про те, що агенти - це досить загальна технология, що акумулює в собі декілька різних галузей” [4]. В цьому, на перший погляд, незграбному «визначенні» є раціональне зерно: тут ідеться про те, що агент повинен мати властивості автономії, тобто періодичної дії, спонтанного виконання і (головне!) ініціативи, персоніфікованості (в тому числі, здатності вчитись), дискурсивності (двобічного зворотнього зв’язку, в якому сторони взаємодіють і пам’ятають про свої попередні взаємодії) і кооперативності.

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

Головна риса інтерфейсу ПА, полягає в його персоніфікації за рахунок здатності ПА до навчання. В найпростішому випадку, ПА отримує інформацію про звички користувача шляхом, так би мовити, "підглядання з-за плеча" за роботою свого користувача. Вивчаючи інтереси, звички та уподобання користувача і спільноти користувачів, що його оточує (це ті, кого персональний асистент «бачить» через комп’ютерну мережу), ПА може стати вельми корисним в різноманітних аспектах: виконувати розв’язання задач за дорученням користувача, тренувати його, керувати подіями і процедурами. Дослідження та програмні розробки досить швидко показали, що множина задач, до яких придатні ПА, практично необмежена: відбір і перегляд інформації, пошук в Internet, керування електронною поштою, календарне планування зустрічей, вибір книг, кіно, розваг, музики тощо. Розробки в цій галузі підтримуються відомими фірмами. Метафора "персонального асистента" поступово перетворилася на метафору "інтелектуального посередника" або "інтелектуального агента" (ІА). Активний розвиток методів і технологій розподіленого штучного інтелекту, досягнення в галузі апаратних і програмних засобів підтримки розподіленості та відкритості допомогли довести, що агенти можуть інтегруватися в корпоративні системи. Це означало появу нової парадигми розподілених систем штучного інтелекту, що отримали назву багатоагентных систем. Зараз багатоагентна система розглядається як множина інтелектуальних агентів, розподілених по мережі, таких, що мігрують нею в пошуках релевантних даних, знань і процедур, і таких, що кооперуються в процесі підготовки та прийняття рішень. Виникла нова парадигма спільноти товариства "програмних роботів", мета яких – задоволення різноманітних інформаційних і обчислювальних потреб кінцевих користувачів.

Дослідження в галузі багатоагентних систем можно умовно поділити на такі основні напрями:

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


  • методи коопераці агенті;

  • архітектура агентів і багатоагентних систем;

  • мови программирования агентів;

  • методи, мови і засоби комунікації агентів;

  • методи і програмні засоби підтримки мобільності агентів.

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

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

Серед учасників комп’ютерного чемпіонату світу з футболу серед роботів RoboCup’99 [5] було багато агентних програм, зокрема в команді фірми Sony робот складався з 18 агентів. Агенти на полі поводять себе як справжні гравці, навіть посилають забагато повідомлень партнерам, коли вони попадають не в свою зону. Однак замало команд моделюють поведінку супротивників. Зрозуміло, що футбол роботів – не самоціль, це засіб моделювання колективної поведінки.

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

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


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

  • зниження латентності мережі (агент рухається туди, де треба щось зробити і там виконує все сам, відпадає потреба в централізованому керуванні);

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

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

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

  • природна гетерогенність (оскільки мобільні агенти повинні бути незалежними від комп’ютерних платформ і залежать лише від середовища виконання, вони можуть забезпечити “безшовну” системну інтеграцію);

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

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

Існує досить велика кількість діючих інформаційних систем, побудованих за агентними технологіями. Це аглети [7,8] (розвиток Java-аплетів), Odyssey (General Magic Inc.) – продовження розробки Telescript, Concordia (Mitsubishi), Voyager (ObjectSpace), Agent Tcl (Dartmouth College) Ara (Kaiserslautern University), TACOMA, Tabican (IBM Japan, це та система, що планує тури для японських пенсіонерів), Mozart (дослідницький проект консорціуму трьох європейських університетів) та багато інших.

Однак не все так безхмарно в агентному світі.

Головна проблема – це платформа. Можна лише уявити собі програму, що мігруючи, попадає з Windows-машини на Unix-машину, наприклад, Sun. Інша архітектура, нове середовище, хтось послав агента, хтось має його впустити на новий хост, забезпечити йому притулок, доступ до обчислювальних і інформаційних ресурсів, можливо терпіти деякий час, аж поки агент не виконає те, для чого прийшов.

Ще одна проблема – це стандартизація протоколів, інтерфейсів, середовищ, в яких працюють агенти.

Тут є ще й етичні проблеми. Уявіть собі, що на ваш хост прибуває якийсь агент і щось шукає, щось робить. Хоча не всі, мабуть помічають, що при вході на Web-сторінку на ваш комп’ютер вантажиться з хоста, на який ви прийшли, програма Java-applet. Добре, коли ваш комп’ютер такий потужний, що ви цього не відчуєте. Це абсолютно новий стиль мислення. Таке комп’ютерне товариство має бути дуже толерантним до чужинців. Проблема? Ще одне питання: який час може чужинець знаходитись на вашому хості? А чи не принесе він із собою вірус? В літературі це питання дискутується досить жваво: агент – ліки, чи агент – загроза (treat or threat?).

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

Існує декілька безкоштовних інструментальних реалізацій, що можуть служити за відправну точку власних систем. Це аглети [9,10], Tcl-системи [11], Mozart[12].

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

Окремо слід зазначити, що інструментальні засоби не підтримані грунтовними математичними моделями, семантика описується на “якісному” рівні, навчання іде, в основному, за уподобаннями авторів, прикладами і прецедентами.

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

Найзмістовніші агентні сайти: www.cetus-links/oo_mobile_agents.html і www.cs.umbs.edu/agents/

Автор вдячний студентам 5 року навчання департаменту комп’ютерних технологій НаУКМА за терпіння і відданість агентній справі.

Література



  1. В. И. Городецкий, М. С. Грушинский, А. В. Хабалов, Багатоагентные системы (обзор) - Санкт-Петербург, Институт Информатики и автоматизации РАН.

  2. M.Wooldridge and N.R.Jennings. Agent Theories, Architectures, and Languages: A Survey. In: Intelligent Agents. ECAI-94 Workshop on Agent Theories, Architecture and Languages. Amsterdam, The Netherlands, August 8-9, 1994, (Eds. M.J.Wooldridge and N.R.Jennings). Proceedings. Springer Verlag: 3-39, 1994

  3. H.S. Nwana, D.T. Nduma, An Introduction to Agent Technology- Software Agents, Lect. Notes on Art. Int., 1185, 1997.

  4. FIPA (Federation of Intelligent Physical Agents - Home Page) http://www.cselt.stet.it/fipa/fipa_rationale.htm.

  5. M. Boman, Agent Programming in RoboCup’99. AgentLink News, 4, November 1999, www.agentlink.org, pp.20-22.

  6. N. Minar et al,http://nelson.www.media.mit.edu/people/nelson/research/routes-coopagents/"Cooperating Mobile Agents for Mapping Networks.

  7. Under HOOD: The architecture of aglets - Java World, April, 1997, http://www.javaworld.com/javaworld/jw-o4-1997.

  8. Danny B. Lange, Mitsura Oshima, Programming and Deploying Mobile Agents with Java™ Aglets™ - Danny B. Lange, Mitsura Oshima © 1998.

  9. http://luckyspc.lboro.ac.uk/Aglets/"The Aglets Portal (Todd Papaioannou)”

  10. http://www.trl.ibm.co.jp/aglets/

  11. R. Scott Cost et al. Agent Development Support for Tcl http://www.cs.umbc.edu/~elm/Papers/tkqml_tcl97.pdf

  12. http://www.mozart-oz.org/



S.S. Gorokhovsky

AGENT TECHNOLOGIES: THE ATTEMPT OF CRITICAL VIEW


The new information technology – intelligent agents is viewed. Some perspectives and hurdles are underlined.





Скачати 119.56 Kb.

  • S.S. Gorokhovsky