Евгений Борисов
16 февраля 2003 г.
Двумя базовыми понятиями агенториентированого подхода,
к построению систем ИИ, служат
агент
и
среда
.
Единого определения этих понятий нет.
Неформально агент и среда могут быть описаны так :
В [ 6 ] агент определяется как интеллектуальное искусственное существо (носитель ИИ).
В [ 1 ] агент рассматривается как некоторый объект, который можно отделить от остального мира. Он существует во времени и пространстве, может взаимодействовать с другими агентами и средами, выполняя некоторые действия.
В [ 5 ] агент это автоматическая (полуавтоматическая) программно-аппаратная система, которая решает комплекс задач в динамично изменяющейся среде.
Необходимо также упомянуть мультиагентные системы . Мультиагентная система это группа агентов. Каждый агент в такой системе может иметь свое специальное назначение в структуре группы.
Требования к агентам по [ 5 ]
Классификация агентов по [ 5 ]
Внутреннее состояние агента описывается с помощью множества ментальных категорий.
Возможный путь преодоления этих ограничений есть многоуровневая архитектура . Главная идея такого подхода состоит в разбиении функциональных возможностей агента на несколько иерархических уровней. Каждый такой уровень взаимодействует с остальными в порядке иерархии.
INTEgration of Reactive behavior and RAtional Plannig - объединение реактивного поведения и рационального планирования (по [ 5 ]).
Агент InteRRaP рассматривается как некоторая функция, которая получает на вход ощущение и выдает на выход определенное действие. Для агента вводится понятие состояния (mental state) и базовых функций, которые могут изменять состояние.
Составные части состояния InteRRaP агента:
Среда в InteRRaP явным образом не определяется и присутствует как интуитивное понятие.
Для описания агента в InteRRaP определены специальные языки .
Принципиальная идея архитектуры InteRRaP состоит в разделении агента на три уровня (в соответствии с идеей смешанной архитектуры т.е. реактивность + способность к планированию) :
Решения для архитектуры управления агента InteRRaP
Цикл управления в общем виде выглядит так :
ощущение
распознавание
решение
действие
Для агента вводится понятие базовых функций, которые могут изменять состояние :
Ниже представлен класс описывающий 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 определяется несколько языков. Языки организованы как иерархическая структура. С помощью этих языков осуществляется описание системы.
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 .
Язык определяется следующим образом :
На основе определяются языки общих планов и .
есть -план где
AE - ''agents and environments'' (''агенты и среды'') (по [ 2 ] [ 1 ])
Агент AE рассматривается как некоторый объект, который можно отделить от остального мира. Он существует во времени и пространстве, может взаимодействовать с другими агентами и средами, выполняя некоторые действия. Агент и его поведение рассматриваются как эквивалентные понятия.
Среда в терминах AE это агент снабженный т.н. функцией внедрения. В отличии от большинства агентных моделей где среда явным образом не определяется и присутствует как интуитивное понятие, в AE имеет место строгое формальное определение.
Агент и среда определяется в терминах алгебры поведений. Поведение рассматривается как элемент алгебры поведений над алгеброй действий .
Операции алгебры действий :
Также определены :
(1) | |||
(2) | |||
(3) | |||
(4) | |||
(5) | |||
(6) | |||
(7) | |||
(8) | |||
(9) | |||
(10) | |||
(11) | |||
(12) | |||
(13) | |||
(14) |
Таким образом алгебра действий есть коммутативный моноид.
Алгебра поведений имеет две операции :
(15) | |||
(16) | |||
(17) | |||
(18) | |||
(19) |
где - поведения, - действия
Отношение аппроксимации (approximation) алгебры поведений над есть минимальный частичный порядок, который удовлетворяет выше представленные соотношения для алгебры поведений.
Каждое поведение может быть представлено как
где - ненулевое детерминированное действие, - поведение, - некоторое множество индексов, - терминальные константы
Для агента в терминах AE понятие 'состояние' в явном виде не определяется. Вместо этого вводится понятие 'поведение' как агента в данном состоянии. Агент и его поведение рассматриваются как эквивалентные понятия. Агент определяется в терминах алгебры поведений .
Среда
это агент снабженный
функцией внедрения
Система MIE использует модель ''агенты и среды''. MIE - математическая информационная среда, это мультиагентная система из агентов разных типов [ 1 ]. MIE осуществляет интерактивную обработку математических текстов (чтение, понимание, запись, проверка на корректность и непротиворечивость etc.). Математические тексты представлены в виде формализованного математического языка (FML) близкого к естественному. Это позволяет автоматически получать информацию из обычных математических текстов, представленных в электронном виде.
Типы агентов MIE:
Для реализации MIE используется система алгебраического программирования - APS с базовым языком APLAN . APLAN основывается на логике переписывания и позволяет комбинировать различные программные парадигмы : процедурную, функциональную, алгебраическую и логическую.
Язык действий AL [ 3 ] представляет собой часть APS. Этот язык используется для описания вычислительных систем, которые содержат элементы параллелизма и сетевой работы, распределенных систем и систем, которые должны взаимодействовать со средой. Построение агента в APS происходит по следующей схеме.