Интеллектуальные агенты. Конкретные архитектуры интеллектуальных агентов. Языки программирования агентов., страница 8


Мы можем представить взаимодействия агента  с окружением как историю. История h является следующей последовательностью:


где s0 исходное состояние окружения, (например, когда агент начинает выполнение), au – это u-тое действие, которое  выбрал для выполнения агент, su это u-тое состояние окружения (которое является возможным результатом выполнение действия au-1  в состоянии su-1) Если действие S*àA это агент, а env: S x A à Ã(S) это окружение и s0 начальное состояние окружение тогда последовательность:

будет представлять возможную историю агента в окружении если выполняются два следующих условия:


и

такое что Характеристическое поведение агента action: S*àA в окружении env: S x AàÃ(S) -  это набор всех историй, которые удовлетворяют этим свойствам. Если некоторое свойство f заключает в себе все эти истории, то оно может считаться инвариантным свойством агента в данном окружении. Например, если агент является регулятором атомного реактора (т.е. окружением является атомный реактор) и все возможнее истории регулятор/реактор при которых реактор не взрывается, то это может считаться инвариантным (желаемым) свойством. Мы отметим обозначением hist(agent,environment) набор всех историй агента в окружении. Два агента ag1 и ag2 считаются поведенчески идентичными в данном окружении env, если hist(ag1,env)=hist(ag2,env)  и просто поведенчески эквивалентными, если они поведенчески эквивалентны в любом окружении.

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

1.3.1 Чисто реактивный агент.

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

action: SàA

Несложно увидеть, что каждый чисто реактивный агент является эквивалентом стандартного агента; обратное в общем случае неверно.

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

action(s)= heater off if s=temperature OK

heater on otherwise.

1.3.2 Восприятие.

Рассматривание агентов на абстрактном уровне делает его приятно простым для анализа. Однако это не помогает нам сконструировать их, т.к. не дает каких либо подсказок о структуре функции действия. По этой причине, мы сейчас начнем уточнять нашу абстрактную модель агентов  разбиванием ее на подсистемы, в точности как это делается при стандартной разработке программного обеспечения.  Уточняя наш взгляд на агентов, мы обнаруживаем, что мы совершаем выбор дизайна, который в основном относиться к подсистемам, которые составляют агента – т.е. выбор какие структуры данных и структуры контроля будут присутствовать. Архитектура агента представляет собой, по сути, соответствие внутреннего устройства агента его структурам данных, операциям которые будут совершаться над этими структурами и потоку контроля между этими структурами. Ниже в этой главе мы обсудим несколько различных типов агентных структур, с различными взглядами на структуру данных и алгоритмами, которые буду представлены внутри агента. Однако, в оставшейся части раздела  мы проведем обзор некоторых решений о дизайне довольно высокого уровня. Первое из них это разделение функции принятия решения агента на восприятие и действие: см. Рисунок 1.2