Архитектуры агентов, основанные на знаниях

C классической точки зрения [58] архитектура на основе знаний есть такая архитектура, которая содержит символьную модель мира, представленную в явной форме, и в которой принятие решений о действиях, которые должны быть предприняты агентом, осуществляется на основе рассуждений логического или псевдо-логического типов. Такой агент может рассматриваться как специальный случай системы, основанной на знаниях.

Сначала идея агента, основанного на знаниях, строилась на чисто логической основе и представлялась весьма перспективной[7]. Однако позднее было обнаружено, что лежащее в основе такого подхода исчисление предикатов первого порядка неразрешимо. Более того, такие ментальные свойства агента, как убеждения, желания, намерения, обязательства по отношению к другим агентам и т.д (см. раздел 2), невыразимы в терминах исчисления предикатов первого порядка. Были разработаны некоторые специальные варианты расширений модальных логик и подобных модальным (см. раздел 3), которые оказались с точки зрения реализуемости более удачными. Такие архитектуры были названы Belief-Desire-Intention (BDI) - архитектурами. Однако мы не будем останавливаться на особенностях BDI-архитектур среди архитектур, построенных на основе знаний, так как это больше характеризует язык спецификации, лежащий в основе формализации агента, чем особенности собственно архитектуры. Далее будут даны примеры архитектур агентов на основе знаний.

Заметим, что идея архитектуры агента на основе знаний в настоящее время уже вышла за пределы логической парадигмы представления и обработки знаний. Имеются архитектуры, исповедующие лингвистический подход (на основе формальных грамматик), а также такие, которые пытаются использовать приближенные знания и правдоподобные рассуждения, хотя, как это ни парадоксально, в значительно меньшей степени, чем это сейчас общепринято в искусственном интеллекте при построении систем на основе знаний.

5.2.3. Архитектура на основе планирования (реактивная архитектура)

Архитектура на основе планирования (“планирующий агент”) рассматривается как альтернатива подходу, рассмотренному в предыдущем подразделе. Вообще говоря, этот подход также развивался внутри сообщества специалистов по искусственному интеллекту еще с начала 1970-х годов, однако той его частью, которая занималась планированием поведения роботов и тому подобными задачами.

В этом подходе планирование рассматривалось как “конструирование последовательности действий, которая, будучи исполненной, приводила бы в результате к достижению желаемой цели” [58]. Простым примером архитектуры подобного рода является архитектура, в которой реакция агента на внешние события генерируется конечным автоматом. В качестве другого примера системы с архитектурой рассматриваемого типа может рассматриваться и широко известная система STRIPS [17]. В этой системе, как известно, использовался чисто логический подход совместно с предусловиями и постусловиями, ассоциированными с каждым из действий. В соответствии с принятой стратегией STRIPS, имея описание мира и желаемой цели, пытается найти последовательность действий, которая в итоге приведет к достижению цели с удовлетворением постусловий. Как известно, система оказалась крайне неэффективной. Позже были разработаны и другие подобные подходы, однако они не могли работать с задачами, в которых имелись темпоральные ограничения и ограничения реального времени, весьма существенные для приложений интеллектуальных агентов.

5.2.4. Многоуровневость

 

Только самые простые приложения агентов могут быть реализованы по одноуровневой схеме. Как правило, функциональные модули агента структурируются в несколько уровней, однако по различным принципам. Как правило, уровни представляют различные функциональности, такие, как восприятие внешних событий и простые реакции на них; поведение, управляемое целями; координация поведения с другими агентами; обновление внутреннего состояния агента, т.е. убеждений о внешнем мире; прогнозирование состояний внешнего мира; определение своих действий на очередном шаге и др. Наиболее часто в архитектуре агента присутствуют уровни, ответственные за

-восприятие и исполнение действий,

-реактивное поведение,

-локальное планирование,

-кооперативное поведение,

-моделирование,

-формирование намерений, и

-обучение агента.

Существует два основных класса многоуровневых архитектур в зависимости от того, как организуется взаимодействие уровней:

-горизонтально организованная архитектура и

-вертикально организованная архитектура.

В первой из них - в горизонтально организованной архитектуре, все уровни агента имеют доступ к уровню восприятия и действий (в общем случае- все уровни могут общаться между собой в стиле “бродкастинга”). Вариант такой архитектуры приведен на рис.7а. Напротив, в вертикально организованной архитектуре только один из уровней имеет доступ к уровню восприятия и действий, а каждый из остальных уровней общается только с парой непосредственно смежных с ним уровней. Примеры таких архитектур приведены на рис.7.б и 7.в.

Примерами горизонтально организованной архитектуры являются рассматриваемые далее архитектуры Touring Machine [16] и Will-architecture [33] (D.Moffat and N.H.Frijda). Хорошим примером вертикально организованной архитектуры является InteRRaP-архитектура, подробно рассматриваемая ниже [36].

 


       
 
   
 

 

 


a) б) в)

 

Рис.7 Организация взаимодействия уровней в многоуровневой архитектуре агента

 

Основные проблемы реализации горизонтально организованной архитектуры обусловлены сложностью организации согласованной работы всех уровней. В архитектуре Touring Machine (см. далее п.5.3.2) эта проблема решается с помощью специального алгоритма, который подавляет входы некоторых уровней, если соответствующая информация не имеет к ним отношения, и осуществляет цензурирование выходов. Это выполняется с помощью специального набора правил. Во второй из горизонтально организованных архитектур - архитектуре Will, задача управления согласованной работой уровней выполняется с помощью введения специальных функций совместимости входных событий с “интересами” (concerns) уровней. Здесь делается попытка ввести некоторую самоорганизацию, однако из имеющихся работ не вполне понятно, как это может быть реализовано в различных приложениях.

Напротив, в вертикально организованной архитектуре проблема управления взаимодействием уровней не является столь сложной, поскольку выходная информация каждого из уровней всегда имеет адресата. В известных вертикально организованных архитектурах распределение функциональных модулей по уровням выполняется по одному из двух принципов. Согласно одному из них, различные уровни отвечают различному уровню абстракции, в основном, одного и того же набора функциональностей (такой принцип используется в уже упоминавшейся InteRRap-архитектуре). Согласно другому принципу каждый уровень отвечает некоторой функциональности или их набору. По такому принципу построена MECCA-архитектура [36], в которой цикл функционирования агента состоит из четырех фаз: активация цели, планирование, конкретизация плана в набор действий и исполнение. В соответствии с этими фазами архитектура агента состоит из четырех уровней.

Недостатком вертикально организованной архитектуры считается то ее свойство, что оказывается перегруженным уровень исполнения (действий), Например, в IntRRaP- архитектуре нижний уровень должен реагировать на непредвиденные события, отслеживать исполнение команд, полученных с уровня локального планирования, следить за выполнением ограничений, наложенных контекстом локального планирования (временных, ресурсных) и, наконец, он должен функционировать в соответствии с дополнительными кооперативными обязанностями (обязательствами), которые возложены на агента другими агентами многоагентной системы.