Агенториентированная технология построения систем искусственного интеллекта.
Евгений Борисов
16 февраля 2003 г.
Двумя базовыми понятиями агенториентированого подхода,
к построению систем ИИ, служат агент и среда.
Единого определения этих понятий нет.
Неформально агент и среда могут быть описаны так :
- Агент - автономная система, способная принимать решения исходя из своих внутренних представления о среде.
- Агент существует в среде.
- Агент взаимодействует другими агентами и со средой.
- Агент может изменять среду.
В [6] агент определяется как интеллектуальное
искусственное существо (носитель ИИ).
В [1] агент рассматривается как
некоторый объект, который можно отделить от остального мира.
Он существует во времени и пространстве,
может взаимодействовать с другими агентами и средами,
выполняя некоторые действия.
В [5] агент это автоматическая (полуавтоматическая)
программно-аппаратная система, которая решает
комплекс задач в динамично изменяющейся среде.
Необходимо также упомянуть мультиагентные системы.
Мультиагентная система это группа агентов.
Каждый агент в такой системе может иметь свое специальное
назначение в структуре группы.
Требования к агентам по [5]
- интеллектуальность - агент должен быть способен к обдумыванию своих действий, чтобы действовать целеустремленно.
- реактивность - агент должен правильно и вовремя реагировать на неожиданные события и изменения в окружающем мире.
- эффективность - агент должен решать свои задачи эффективно.
- интерактивность - агент должен уметь взаимодействовать с другими агентами.
- приспособляемость - агент должен уметь адаптироваться в изменчивой среде.
Классификация агентов по [5]
- Реактивные агенты
(behavior-based agent или situated agent).
Эти агенты
действуют в режиме реального времени, обычно
основываясь на очень небольшом количестве информации
и простых правилах "ситуация-действие".
Отсутствует символическое представление мира,
вместо этого реактивные агенты принимают
решения основываясь непосредственно на информации
от своих датчиков.
Вместо корректного или оптимального поведения,
основное внимание в этом классе систем уделяется
живучести.
- Мыслящие агенты
сохраняют внутреннее представление о мире как
ментальное состояние, которое может меняться в
процессе размышлений агента. Такая архитектура
известна как BDI
(belief-desire-intention
убеждения-желания-намерения).
Внутреннее состояние агента описывается с помощью множества
ментальных категорий.
- убеждения - представления о текущем состоянии среды.
- желание - состояния среды, в которые агент
стремится среду перевести. Агент может иметь
несовместимые желания; желания могут быть не достижимы.
- цели - множество совместимых и достижимых желаний.
- намерение - множество избранных целей.
Необходимо выделять некоторое множество целей
для достижения, поскольку агент ограничен в
ресурсах и не может достичь всех целей одномоментно.
- Смешанные типы архитектур.
Рассмотренные типы систем страдают рядом недостатков.
- Чистые реактивные агенты имеют очень
ограниченную область применения, потому что на
них трудно реализовать целеустремленное
поведение.
- Большинство мыслящих агентов основываются
на общих механизмах рассуждений. Они не достаточно
гибкие и слишком медленно реагируют на внешние
события.
Возможный путь преодоления этих ограничений есть
многоуровневая архитектура.
Главная идея такого подхода состоит в разбиении
функциональных возможностей агента на несколько
иерархических уровней.
Каждый такой уровень взаимодействует с остальными в
порядке иерархии.
INTEgration of Reactive behavior and RAtional Plannig -
объединение реактивного поведения и рационального планирования
(по [5]).
Агент InteRRaP рассматривается как некоторая функция,
которая получает на вход ощущение и выдает на выход
определенное действие.
Для агента вводится понятие состояния (mental state) и
базовых функций, которые могут изменять состояние.
Составные части состояния InteRRaP агента:
- ощущение (perception) агента.
- мн-во убеждений (beliefs) - информационное
состояние.
- ситуация (situation). Ситуация это состояние
среды. Она определяется как некоторая структура
(множество), состоящая из убеждений агента.
- мн-во целей (goals). Цель можно определить как
состояние среды (ситуацию).
- мн-во намерений (intentions). намерение -
сформировавшийся план действий, который в последствии
выполняется.
Среда в InteRRaP явным образом не определяется и
присутствует как интуитивное понятие.
Для описания агента в InteRRaP определены
специальные языки.
Принципиальная идея архитектуры InteRRaP состоит в разделении
агента на три уровня (в соответствии с идеей смешанной
архитектуры т.е. реактивность + способность к планированию) :
- уровень поведения (behavior-based layer) -
включает реактивность и методы решения стандартных (простых) задач.
- уровень локального планирования (local planning layer) -
предоставляет механизм для реализации целеустремленности.
- уровень совместного планирования (cooperative planning layer) -
служит для взаимодействия с другими агентами.
Решения для архитектуры управления агента InteRRaP
- активация снизу-вверх (bottom-up activations) -
уровень задействуется, только если уровень
не может справиться с ситуацией.
- выполнение сверху-вниз (top-down execution) -
каждый уровень для достижения своих целей использует
операционные примитивы определенные на ниже расположенном уровне.
Цикл управления в общем виде выглядит так :
ощущение распознавание решение действие
Для агента вводится понятие базовых функций, которые могут
изменять состояние :
- порождение и пересмотр убеждений (belief generation and
revision) -
отношение между убеждениями агента и его ощущениями.
- оценка ситуации (situation recognition) - извлекает
ситуацию из убеждений агента. Позволяет агенту
определять степень необходимости действовать.
- активация цели (goal activation) - определяет цели агента
для данной ситуаций.
- планирование (planning) - отображает текущие цели агента в мн-во
операционных примитивов для достижения этих целей. Определяет
'что делать'
- назначение (scheduling) - процесс слияния частичных планов для
различных целей в единый план выполнения.
Определяет 'что и когда делать'
- выполнение (execution) - служит для корректного и своевременного
применения запланированного.
Ниже представлен класс описывающий InteRRaP уровень
class layer
attributes
Higher, Lower /* соседние уровни */
Bel, Goals, Ints /* текущие убеждения, цели, намерения */
Sit, Sit-desc /* ситуации и их описания */
Ops /* доступные операционные примитивы */
Actreq /* активирующий запрос с уровня i-1 */
Com /* поручение с уровня i+1 */
[...]
methods
b-upd +<Bel> {...} /* коррекция убеждений */
s-rec +<Sit> +<Bel> +<Sit-desc>{...} /* определение ситуации*/
g-act +<Sit> +<Goals> {...} /* активация целей */
comp-check +<Sg> +<Ops> {...} /* проверка компетенции */
op-select +<Sg> +<Ops> {...} /* планирование */
schedule +<Int> +<Ints> {...} /* назначение */
execute +<Int> {...} /* исполнение */
[...]
cycle
Bel = b-upd(Bel);
Sit = s-rec(Sit U Actreq, Bel, Sit-desc);
Goals = g-act( Sit, Goals );
Sg = {(S,G)| (S in Sit)^(G in Goals)^(G = g-act(G,_))};
(Comp-sg, Nocomp-sg) = comp-check(Sg, Ops);
foreach Sg' from Nocomp-sg /* передача управления на уровень выше */
Higher <- receive(request, activate(Sg'));
Int = op-select(Comp-sg, Ops);
Int = schedule(Int, Com);
Int = execute(Int);
Рассмотрим операционные примитивы. Модели поведения
(patterns of behavior - PoBs) есть самый нижний уровень
операционных примитивов. Это есть некоторые стандартные
решения. Они представлены в виде программ на
execution language.
class PoB
attributes
Name
Type /* { reactor | procedure }*/
Args /* аргументы активации PoB */
State /* { inactive | active | committed }*/
Resources /* список требуемых ресурсов */
Priority /* целое число - статический приоритет PoB*/
Act-cond /* условие активации */
Succ-cond /* условие успешного завершения */
Fail-cond /* условие неудачного завершения */
Exeption-list /* список с описаниями
исключений (exeptions) */
Body /* выполняемая программа */
methods
meth init /* инициализазия PoB */
meth activate /* активация PoB */
meth step /* выполнение следующего шага PoB */
meth uncommit /* остановка выполнения PoB */
meth check-act-cond /* проверка условий активации */
meth check-monitors /* проверка условий мониторинга */
meth enable /* разрешить активацию PoB */
meth disable /* запретить активацию PoB */
meth inhibit <Sit> /* затормозить активацию PoB */
meth permit <Sit> /* отменить предшествующее
торможение */
В InteRRaP определяется несколько языков. Языки организованы
как иерархическая структура. С помощью этих языков
осуществляется описание системы.
- Язык execution language служит для описания моделей
поведения. Execution language строился с учетом следующих
соображений. В процессе функционирования агента могут
возникать события, требующие немедленного ответа. Следовательно,
важным требованием к выполняемой программе есть возможность ее
прерывать. Это требование можно удовлетворить рассматривая
программу как последовательность элементарных (атомарных)
инструкций и определить процедуру пошагового выполнения чтобы
программу можно было прервать на любом такой инструкции. Таким
образом, execution language должен
допускать пошаговое выполнение непрерывных(атомарных) блоков
программы.
БНФ execution language:
program ::= block [ ';' program ]
block ::= '{' block-content '}' | primitive-inst
block-content ::= while condition
do block-content od |
if condition
then block-content
else block-content fi |
primitive-inst
primitive-inst ::= wif_execution |
lpl-call |
pob-activation |
modifier
condition ::= ATOMIC FORMULA
wif-execution ::= ex '(' wif-primitive ')'
lpl-call ::= call '(' lpl ',' do '(' goal-spec ')' ')' | ...
pob-activation ::= activate '(' pob-spec-list ')'
wif-primitive ::= LIST OF DOMAIN-DEPENDENT ACTUATOR / SENSOR CALLS
goal-spec ::= FORMULA
pob-spec-list ::= '[' { pob-spec }+ ']'
pob-spec ::= pobname '(' PARAMETER-LIST ')'
pobname ::= ATOM
modifier ::= assert GROUND FORMULA |
retract GROUND FORMULA
( primitives in uppercase )
Исполнение программ на этом языке осуществляет метод
step класса PoB.
- Более высокий уровень операционных примитивов это уровень
локального планирования. Планы, составляющие уровень локального
планирования операционных примитивов, представляются как
программы на языке . Основой для такого языка служат
модели поведения, т.е. элементарные шаги плана берутся из
моделей поведения.
Язык определяется следующим образом :
-
- множество элементарных шагов плана.
-
- множество предикатов.
тогда
-
- пустой план
- для
- для
имеем
-
- последовательная композиция
-
- дизъюнктивная композиция
- для
имеем
- if then else fi
- while do od
На основе определяются языки общих планов и .
- Язык :
- множество агентов.
есть -план где
- Р есть
-
- множество условий в форме
между
и
,
- Язык :
- множество агентов.
- множество ролей для агентов.
- ролевые переменные.
есть -план где
- Р есть
-
- множество условий в форме
между и ,
AE - ''agents and environments'' (''агенты и среды'')
(по [2] [1])
Агент AE рассматривается как некоторый объект,
который можно отделить от остального мира.
Он существует во времени и пространстве,
может взаимодействовать с другими агентами и средами,
выполняя некоторые действия. Агент и его поведение
рассматриваются как эквивалентные понятия.
Среда в терминах AE это агент снабженный т.н. функцией
внедрения. В отличии от большинства агентных моделей где среда
явным образом не определяется и присутствует как
интуитивное понятие, в AE имеет место строгое формальное
определение.
Агент и среда определяется в терминах алгебры
поведений.
Поведение рассматривается как элемент алгебры поведений
над алгеброй действий .
Операции алгебры действий :
- комбинация действий
- операция недетерминированного выбора
- операция последовательной композиции
Также определены :
- - пустое действие (нейтральный элемент для комбинации)
- - нулевой элемент (невозможное действие)
|
|
|
(1) |
|
|
|
(2) |
|
|
|
(3) |
|
|
|
(4) |
|
|
|
(5) |
|
|
|
(6) |
|
|
|
(7) |
|
|
|
(8) |
|
|
|
(9) |
|
|
|
(10) |
|
|
|
(11) |
|
|
|
(12) |
|
|
|
(13) |
|
|
|
(14) |
Таким образом алгебра действий есть коммутативный моноид.
- Действие называется детерминированным, если оно не может
быть представлено как недетерминированный выбор двух различных
ненулевых действий.
- Детерминированное действие называется примитивным, если
данное действие нельзя разбить на комбинацию действий отличных от
и (действия и есть примитивными).
- Недетерминированное или непримитивное действие называется составным.
Алгебра поведений имеет две операции :
- недетерминированный выбор - ассоциативная, коммутативная,
идемпотентная, бинарная операция
- операция префикса где это действие,
это поведение
- - минимальный элемент алгебры поведений
- - пустое поведение не выполняет никаких действий,
описывает завершение процесса
- - невозможное поведение, нейтральный элемент для
недетерминированного выбора, описывается таким же символом что и
невозможное действие
где - поведения, - действия
Отношение аппроксимации (approximation) алгебры
поведений над есть минимальный частичный порядок, который
удовлетворяет выше представленные соотношения для алгебры
поведений.
Каждое поведение может быть представлено как
где
- ненулевое детерминированное
действие,
- поведение,
- некоторое множество индексов,
- терминальные константы
Для агента в терминах AE понятие
'состояние' в явном виде не определяется.
Вместо этого вводится понятие 'поведение' как
агента в данном состоянии. Агент и его поведение
рассматриваются как эквивалентные понятия.
Агент определяется в терминах алгебры поведений.
Среда это агент снабженный функцией внедрения
- первый аргумент - поведение среды.
- второй аргумент - поведение агента над алгеброй
действий в данном состоянии (алгебра действий агентов
может быть параметром среды).
- Результатом функции внедрения есть новое поведение среды.
Среда может играть роль управляющей системы, которая
ограничивает поведение агента
(или группы агентов), внедренного в эту среду.
Система MIE использует модель ''агенты и среды''.
MIE - математическая информационная среда,
это мультиагентная система из агентов разных типов [1].
MIE осуществляет интерактивную обработку математических
текстов (чтение, понимание, запись, проверка на
корректность и непротиворечивость etc.).
Математические тексты представлены в виде
формализованного математического языка (FML)
близкого к естественному. Это позволяет автоматически
получать информацию из обычных математических текстов,
представленных в электронном виде.
Типы агентов MIE:
- математический агент - основной тип агентов в MIE. Он может читать
формализованные математические тексты, доказывать утверждения.
- агент базы знаний - содержит аксиомы, определения, теоремы,
относящиеся к различным понятиям и теориям. Математические
агенты обращаются к агентам базы знаний за нужной информацией.
- лингвистические агенты - используются для перевода между
разными уровнями FML.
- управляющие агенты есть среда для математических агентов и агентов
базы знаний. Внедрение математических агентов и агентов базы
знаний в управляющих агентов может использоваться для разработки
высокоуровневых специализированных математических агентов.
Для реализации MIE используется система алгебраического
программирования - APS с базовым языком APLAN.
APLAN основывается на логике переписывания и позволяет
комбинировать различные программные парадигмы :
процедурную, функциональную, алгебраическую и логическую.
Язык действий AL [3] представляет собой
часть APS. Этот язык используется для описания вычислительных
систем, которые содержат элементы параллелизма и сетевой
работы, распределенных систем и систем, которые должны
взаимодействовать со средой. Построение агента в APS
происходит по следующей схеме.
- Пишется программа на APLAN, которая определяет содержательную
и интерактивную семантику AL, которая, в свою очередь,
используется для написания программ, описывающих поведения
агента.
- Семантика этих программ используется как параметр для
симулятора, который представляет собой управляющую среду для
создаваемого агента. Симулятор инициализируется начальным
состоянием агента, описанным с помощью AL.
- Параметризированный симулятор служит источником для
алгебраического модуля, который интерпретируются APS. Этот модуль
может взаимодействовать с пользователем и другими модулями в MIE.
- 1
- A. A. Letichevsky, J. V. Kapitonova, V. A. Volkov
''Proving theorem and reading mathematical texts in Mathematical Information Enviroment'', international workshop RTETP-2000, Kyiv, 29-31 May 2000, ISBN 966-02-1654-8
- 2
- A.A.Letichevsky, D.R.Gilbert
''A model for interactions of agents and environments.''
- 3
- A.A.Letichevsky, D.R.Gilbert
''A general theory of action languages''
''Кибернетика и системный анализ'', 1998, N1
- 4
- Х.Уэно, Т.Кояма, Т.Окамото, Б.Мацуби, М.Исидзука
''Представление и использование знаний'', Москва, ''МИР'', 1987.
- 5
- Muller Jorg P.
''The design intelligence agents : a layered approach''
Springer 1996 (Lectures notes in computer science; vol. 1177 : Lectures notes in artifical intelligence) ISBN 3-540-62003-6
- 6
- В.В.Девятков ''Системы искусственного интеллекта''
Москва,''МГТУ им. Н.Э.Баумана'', 2001
Evgeny S. Borisov
2005-03-15
При использовании материалов этого сайта, пожалуйста вставляйте в свой текст ссылку на мою статью.