Рефлексний агент

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

Найпростішим видом агента є простий рефлексний агент.

Дія згідно з правилом

Люди використовують велику кількість зв'язків, причому деякі з них являють собою складні відгуки, засвоєні в результаті навчання (як при керуванні автомобіля), а інші є вродженими рефлексами (такими як моргання, яке відбувається при наближенні до ока стороннього предмета). Загальніший і гнучкіший підхід полягає в тому, щоб спочатку створити інтерпретатор загального призначення для правил умова-дія, а потім визначити набори правил для конкретної проблемного середовища.

На рис. 1 наведена структура такої спільної програми в схематичній формі і показано, яким чином правила умова-дія дозволяють агенту створити зв'язок від сприйняття до дії. Програма цього агента, яка також є дуже простою, приведена в лістингу 1. Функція Interpret-Input виробляє абстрагований опис поточного стану за результатами сприйняття, а функція Rule-Match повертає перше правило з множини правил, яке відповідає заданому опису стану. Слід зазначити, що наведений тут виклад в термінах «правил» і «відповідностей» є чисто концептуальним; фактичні реалізації можуть бути настільки простими, як сукупність логічних елементів, що реалізують логічну схему.

Лістинг 1. Програма простого рефлексного агента, який діє згідно з правилом, умова якого відповідає поточному стану, який визначається результатом сприйняття

function Simple-Reflex-Agent(percept) returns action
static: rules, множина правил умова-дія
state ← Interpret-Input(percept)
rule ← Rule-Match(state, rules)
action ← Rule-Action[rule]
return action

Характеристики

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

Взаємодія агента і середовища

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

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

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

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

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

function Reflex-Agent-With-State(percept) returns action
static: state, опис поточного стану світу
        rules, множина правил умова-дія
        action, остання за часом дія; спочатку не визначено
state ← Update-State(state, action, percept)
rule ← Rule-Match(state, rules)
action ← Rule-Action[rule]
return action

Агенти, засновані на цілі

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

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

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

Слід враховувати, що процедура прийняття рішень такого роду має фундаментальні відмінності від описаної вище процедури застосування правил умова-дія, оскільки в ній доводиться розмірковувати про майбутнє, відповідаючи на два питання: «Що станеться, якщо я зроблю те-то і те-то?» і «Чи дозволить це мені досягти задоволення?». В проектах рефлексних агентів така інформація не представлена явно, оскільки вбудовані правила встановлюють безпосередню відповідність між сприйняттями і діями.

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

Агенти, засновані на корисності

Оскільки поняття «задоволеності» представляється не зовсім науковим, частіше застосовується термінологія, згідно з якою стан світу більш детально визначений в порівнянні з іншим, розглядається як той, що має вищу корисність для агента.


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

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

Структура агента, що діє з урахуванням корисності, показана на рис. 4.

Порівняння різних агентів

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

Джерела

  • С. Рассел, П. Норвіг «Штучний інтелект: сучасний підхід»
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.