інтелектуальні агенти
Проблематика інтелектуальних агентів і мультиагентних систем (МАС) має майже 40-річну історію і сформувалася на основі результатів, отриманих в рамках робіт з роздільного ІІ (DAI), розподіленого вирішення завдань (DPS) і паралельного ІІ (PAI). Дана тематика інтегрує досягнення в області комп'ютерних мереж і відкритих систем, ІІ та інформаційних технологій [15].
Агент - це апаратна або програмна сутність, здатна діяти в інтересах досягнення цілей, поставлених перед ним власником або користувачем.
Таким чином, в рамках МАС-парадигми програмні агенти розглядаються як автономні компоненти, що діють від імені користувача.
Інтелектуальні агенти повинні мати наступні властивості:
* Автономність - здатність функціонувати без втручання з боку свого власника і здійснювати контроль внутрішнього стану і своїх дій;
* Реактивність - адекватне сприйняття середовища і відповідні реакції на її зміни;
* Активність - здатність генерувати цілі і діяти раціонально для їх досягнення;
* Базові знання - знання агента про себе, навколишньому середовищу, включаючи інших агентів, які не змінюються в рамках ЖЦ агента;
* Переконання - змінна частина базових знань, які можуть змінюватися в часі, хоча агент може про це не знати і продовжувати їх використовувати для своїх цілей;
* Мети - сукупність станів, на досягнення яких спрямоване поточна поведінка агента;
* Бажання - стану або ситуації, досягнення яких для агента важливо;
* Зобов'язання - завдання, які бере на себе агент на прохання інших агентів;
* Наміри - то, що агент повинен робити в силу своїх зобов'язань.
Залежно від концепцій, обраних для організації МАС, зазвичай виділяються три базових класу архітектур:
* Архітектури, які базуються на принципах і методах роботи зі знаннями;
* Архітектури, засновані на поведінкових моделях типу «стимул-реакція»;
Архітектуру або агентів, які використовують тільки точне уявлення картини світу в символьній формі, і приймають рішення на основі формальних міркувань і використання методів порівняння за зразком, прийнято визначати як делібератівние (1-й підхід).
Реактивними називаються агенти і архітектури, в яких функціонування окремих агентів і всієї системи здійснюється за правилами типу «ситуація-дія». При цьому під ситуацією розуміється потенційно складна комбінація внутрішніх і зовнішніх станів (2-й підхід).
Для вирішення реальних завдань використовуються гібридні архітектури.
Розвиток і впровадження програмних агентів було б неможливо без досвіду розробки відкритих систем, які характеризуються властивостями:
* Розширюваність / масштабованість (можливість зміни набору складових систем);
* Мобільність / переносимість (простота перенесення ПС на різні апаратно-програмні платформи);
* Интероперабельность (здатність до взаємодії з іншими системами);
* Дружелюбність, легка керованість.
Одним з результатів впровадження концепції відкритих систем в практику стало поширення архітектури «клієнт - сервер». В даний час виділяються наступні моделі клієнт-серверної взаємодії:
· «Товстий клієнт - тонкий сервер». Серверна частина реалізує тільки доступ до ресурсів, а основна частина програми знаходиться на клієнті;
· «Тонкий клієнт - товстий сервер». Модель активно використовується в зв'язку з поширенням інтернет-технологій. Клієнтську програму забезпечує реалізацію інтерфейсу, а сервер об'єднує інші частини додатків.
Мобільні агенти - це програми, які можуть переміщатися по мережі. Вони залишають клієнтський комп'ютер і переміщаються на віддалений сервер для виконання своїх дій, після чого повертаються назад.
Мобільні агенти є перспективними для МАС, але в даний час немає єдиних стандартів їх розробки, невирішеним залишається ряд проблем, таких як легальні способи переміщення по мережі, верифікація агентів (захист від переданих по мережі вірусів), дотримання агентами прав приватної власності і збереження конфіденційності інформації , якою вони володіють, перенаселення мережі агентами.
З точки зору розробки і реалізації МАС найбільш ефективними системами підтримки розподілених технологій є DCOM, Java RMI, COBRA.
Основна цінність DCOM - надання можливості інтеграції додатків, реалізованих в різних системах програмування.
Java RMI-додатки зазвичай складаються з клієнта і сервера. При цьому на сервері створюються об'єкти, які можна передавати по мережі, або методи, доступні для виклику віддаленими програмами, а на клієнті реалізуються програми, що користуються віддаленими об'єктами. Відмінною рисою RMI є можливість передачі в мережі не тільки методів, але і самих об'єктів, що забезпечує в кінцевому рахунку реалізацію мобільних агентів.
Основною перевагою COBRA є інтерфейс IDL, уніфікує кошти комунікації між додатками.
Агентом є все, що може сприймати своє середовище за допомогою датчиків і впливати на неї за допомогою виконавчих механізмів (людина, робот, програма). Кожен агент може сприймати власні дії.
Вибір агентом дії в будь-який конкретний момент часу може залежати від всієї послідовності актів сприйняття, що спостерігалися до цього моменту часу. Поведінка агента може бути описано і за допомогою функції агента, яка відображає будь-яку конкретну послідовність актів сприйняття на деяку дію. Зовнішнім описом агента може служити таблиця. Внутрішній опис складається у визначенні того, яка функція агента реалізується за допомогою програми агента, тобто конкретна реалізація, діюча в рамках архітектури агента.
У будь-який конкретний момент часу оцінка раціональності дій агента залежить:
- від показників продуктивності;
- знань агента про середовище, придбаних раніше;
- дій, які можуть бути виконані агентом;
- послідовності актів сприйняття агента, які відбулися
до теперішнього часу.
Раціональний агент повинен мати здатність до навчання і бути автономним.
Під проблемною середовищем агента розуміється сукупність показників продуктивності, середа, виконавчі механізми і датчики.
Приклад 9.1. Проблемна серед водіїв таксі
Рульове упр. газ, гальмо, світлові сигнали, звукові сигнали, дисплей
Класифікація варіантів проблемної середовища:
- повністю / частково спостерігається: повністю спостережувана, якщо
датчики фіксують всі необхідні дані;
- детермінована / стохастична: якщо наступний стан
середовища визначається поточним і дією агента, то середовище
- епізодична / послідовна: в епізодичній середовищі досвід агента
складається з нерозривних епізодів. Кожен епізод включає в себе
сприйняття середовища агентом, а потім виконання однієї дії
(Розпізнавання дефектних деталей), в послідовних середовищах
Агенту слід думати наперед (водіння машини, гра в шахи);
- статична / динамічна: якщо середовище може змінитися в ході
прийняття агентом рішення, то вона є динамічною;
- дискретна / безперервна: гра в шахи - дискретна,
водіння автомобіля - безперервна;
- одноагентная / багатоагентна (мультиагентна): рішення кросворду,
діагностика - одноагентная, гра в шахи, водіння
Завдання штучного інтелекту полягає в розробці програми агента, яка реалізує функцію агента, відображаючи сприйняття на дії. Передбачається, що програма повинна працювати в свого роду обчислювальному пристрої з фізичними датчиками і виконавчими механізмами. Ці компоненти складають архітектуру агента.
агент = архітектура + програма
Архітектура може являти собою персональний комп'ютер або роботизований автомобіль.
Існують чотири основних види програмних агентів, які лежать в основі майже всіх інтелектуальних систем:
- прості рефлексивні агенти;
- рефлексивні агенти, засновані на моделі;
- агенти, що діють на основі мети;
- агенти, що діють на основі корисності.
Найпростішим видом агента є простою рефлексивний агент. який вибирає дії на основі поточного акту сприйняття, ігноруючи всю решту історію актів сприйняття. Агент - пилосос: рішення засновані тільки на інформації про поточне місцезнаходження та про те, чи містить воно сміття.
Найбільш ефективний спосіб організації роботи в умовах часткової спостережливості полягає в тому, щоб агент відстежував ту частину ситуації, яка сприймається ним в поточний момент. Це означає, що агент повинен підтримувати внутрішній стан, яке залежить від передісторії. Для забезпечення можливості поновлення внутрішньої інформації про стан середовища в програмі агента повинні бути закодовані знання двох видів. По-перше, потрібна інформація про те, як змінюється зовнішнє середовище незалежно від агента. По-друге, потрібна певна інформація про вплив дій агента на середу. Знання про те, як працює среда, називаються моделлю світу. Агент, в якому використовується така модель, називається агентом, заснованим на моделі.
Знань про поточний стан середовища не завжди достатньо для прийняття рішення. На перехресті таксі може їхати прямо, направо, наліво. Правильне рішення - місце призначення клієнта. Тобто крім поточного стану агенту необхідно знати мету. Інструментом для вироблення послідовності дій, що дозволяють агенту досягти мети, є пошук і планування.
Програма агента може комбінувати інформацію про мету з інформацією про результати можливих дій. Такі агенти отримали назву агентів, що діють на основі мети.
Функція корисності відображає стан на дійсне число, яке позначає відповідну ступінь задоволеності агента. Повна специфікація функції корисності забезпечує можливість приймати раціональні рішення, якщо є конфліктуючі цілі (швидкість і безпеку) або кілька цілей, до яких може прагнути агент, але жодна з них не може бути досягнута з усією визначеністю. Такі агенти отримали назву агентів, що діють на основі корисності.
Структура навчального агента включає чотири концептуальних компонента.
Навчальний компонент відповідає за внесення удосконалень, продуктивний компонент забезпечує вибір зовнішніх дій. Навчальний компонент використовує інформацію зворотного зв'язку від критика з оцінкою того, як діє агент, і визначає, яким чином має бути модифікований продуктивний компонент для того, щоб він успішніше діяв в майбутньому. Завдання генератора проблем полягає в тому, щоб пропонувати дії, які повинні привести до отримання нового і інформативного дії. Процес навчання в інтелектуальних агентів можна охарактеризувати як процес модифікації кожного компонента агента для забезпечення більш точної відповідності цих компонентів доступної інформації зворотного зв'язку і тим самим поліпшення загальної продуктивності агента.