Раціональний агент

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Раціональний агент (англ. rational agent) — це агент, що діє оптимальним для досягнення найкращого очікуваного результату чином.[1] Цей термін є одним з фундаментальних в економіці, теорії ігор, теорії прийняття рішень і штучному інтелекті. Також, раціональні агенти вивчаються в когнітивних науках, етиці і філософії, включаючи філософію практичного сенсу.

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

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

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

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

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

Компоненти раціональності[ред.ред. код]

Показники продуктивності[ред.ред. код]

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

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

Раціональність[ред.ред. код]

В будь-який конкретний момент часу оцінка раціональності дій агента залежить від чотирьох факторів:

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

З урахуванням цих факторів можна сформулювати таке визначення раціонального агента.

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

Особливості та характеристики[ред.ред. код]

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

Приклад. Деякий пан одного разу гуляє в Парижі і бачить на іншій стороні вулиці старого приятеля. Поблизу немає ніяких машин, а наш пан нікуди не поспішає, тому, будучи раціональним агентом, він починає переходити через дорогу. Тим часом на висоті 10 000 метрів у пролітаючого літака відвалюються двері вантажного відсіку, і перш ніж чоловік встигає досягти іншого боку вулиці, його розплющує. Чи було нераціональним саме те, що цей пан вирішив перейти на іншу сторону вулиці?

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

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

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

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

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

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

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

Типи агентів[ред.ред. код]

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

Реактивний агент[ред.ред. код]

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

Дорадчий (умисний) агент[ред.ред. код]

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

Соціальний агент[ред.ред. код]

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

Гібридний агент[ред.ред. код]

Архітектура гібридного агенту поєднує в собі всі або деякі з цих архітектур в єдине ціле. Яскравим прикладом гібридного агенту є InteRRaP агент (від англ. англ. Integration of Reactive Behaviour and Rational Planning). Гібридні агенти складаються з двох основних частин. Перша частина блоку – планування і друга – реагуючий пристрій. За певний час агент розробляє план і починає його здійснювати. Кожен крок контролюється реагуючим пристроєм, який слідкує за внесенням відповідних змін в систему.

Відношення між агентами[ред.ред. код]

Координація[ред.ред. код]

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

Співпраця[ред.ред. код]

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

Зв'язок[ред.ред. код]

Дуже важливим питанням для мультиагентних систем є проблема комунікації між агентами. Можливі індивідуальні протоколи, шляхи співпраці та координації без будь-яких засобів зв'язку між агентами. Звичайні комунікації можна охарактеризувати як процес, при якому два або кілька агентів, обмінюються інформацією у вигляді елементарних повідомлень. Мовою спілкування агентів є ACL (Agent Communication Language). Зазвичай, це мова програмування високого рівня, яка включає мовні конструкції, призначені для вираження інформації (даних, знань, кореляції між даними), так що окремі агенти можуть співпрацювати один з одним і координувати свою роботу. Фактична передача повідомлень здійснюється через стандартні мережі і можна сказати, що передача повідомлень бере участь у наступних рівнях:

  1. Фізичний рівень — нижній шар, що робить можливим передачу у вигляді послідовності бітів і використовує нижні шари еталонної моделі ISO/OSI, а саме: фізичний, канальний і мережевий.
  2. Транспортний рівень — передача протоколів на рівень додатків, будь-який додаток, залежить від деталей, таких як кодування і т.д.. Ці протоколи можуть включати, наприклад: HTTP (Hypertext Transmintion Protocol), WAP (Web Application Protocol).
  3. Рівень архітектури зв’язку — мультиагентна архітектура інструментальних засобів розробки використовується для зв’язку шарів [[Виклик віддалених процедур|RPC] (Remote Procedure Call) в різних формах. XML-RPC, Unix RPC, Java RMI і CORBA.
  4. Рівень ACL — це вже являє собою рівень, що несе інформацію виражену мовою ACL зв'язку. Передана інформація міститься як метаінформація (транспортування інформації, мова, яка використовується в змісті повідомлення і т.д.) у самому повідомленні, відповідно це вміст повідомлення.
  5. Рівень змісту — останній рівень складається, власне, з повідомлення, що агент посилає. Це може бути реалізовано різними способами і мовами. Наприклад, XML , FIPA-SL, Lisp , Prolog , SQL і т.д..

Метою агента може бути, зміна внутрішнього (психічного) стану іншого агента. Є два способи вплинути на нього:

  • Непрямий - агент змінює стан іншого агента при контакті з навколишнім середовищем навколо нього, змінивши свою позицію в правильному напрямку.
  • Пряма - агент діє безпосередньо на агента.

Діалоги та звіти[ред.ред. код]

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

  1. Опитування - пошук інформації, де агент є, як вважає він.
  2. Пошук інформації - спільне розслідування, обмін між агентами наявної у них інформації.
  3. Переконання - агент намагається отримати інформацію про наміри ще одного агента.
  4. Переговори агентів для узгодження умов обміну та об'єднання ресурсів для надання послуг для всіх, щоб максимізувати прибуток.
  5. Консультації - мета полягає в тому, щоб знайти вирішення проблеми, яка викликає інтерес усіх. Агенти надають свої знання та навички, і діють, як діяли далі.
  6. Полемічний діалог - діалог з виразними обмінами інформацією (аргументи) з метою досягнення своїх цілей.

Кожне елементарне повідомлення має відправника, одержувача, зміст та інформацію про тип, який визначає важливість повідомлення. Елементарні типи звітів:

  1. Питання
  2. Пропозиція
  3. Відмова
  4. Інформація

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

Економіка і теорія ігор[ред.ред. код]

У теорії ігор і класичній економіці вважається, що люди і компанії діють раціонально, тобто є раціональними агентами. Проте, існують і інші точки зору, наприклад, деякі дослідники вважають, що на нашу поведінку впливають також і «спонукальні імпульси» (англ. animal spirits) [2].

Штучний інтелект[ред.ред. код]

Поняття «раціональний агент» прийшло в штучний інтелект з економіки, і здійснило у ньому справжню революцію, об'єднавши розрізнені на той момент напрямки досліджень. В даний час, у галузі ШІ, поняття «раціональний агент» тісно пов'язане з поняттям «інтелектуальний агент».

Див. також[ред.ред. код]

В економіці і теорії ігор[ред.ред. код]

У штучному інтелекті[ред.ред. код]

Примітки[ред.ред. код]

  1. Russell, Stuart J.; Norvig, Peter (2003). Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, NJ: Prentice Hall, ISBN 0-13-790395-2
  2. George A. Akerlof, Robert J. Shiller. Animal Spirits: How Human Psychology Drives the Economy, and Why It Matters for Global Capitalism. Princeton, NJ: Princeton university Press, 2009.

Література[ред.ред. код]

В економіці і теорії ігор[ред.ред. код]

  • Osborne, Martin & Rubinstein, Ariel (2001), A Course in Game Theory, Cambridge, Mass.: MIT Press, p. 4, ISBN 0262650401
  • G. Wooldridge, Reasoning about rational agents Massachusets Institute of Technology, 2000

У штучному інтелекті[ред.ред. код]