Научная электронная библиотека
Монографии, изданные в издательстве Российской Академии Естествознания

2.5.1. Алгоритм работы интеллектуального агента

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

Для описания работы агента введем следующие массивы и операторы:

Mess_Buffer – массив «Буфер сообщений». Для каждого агента в данном массиве резервируется переменная (Mess_In_Count), отражающая количество входящих сообщений. В случае если данная переменная не равна нулю, то происходит вызов метода агента Agent.R_Mess. Возвращение значения Mess_In_Count происходит путем вызова функции Mess_Buffer.Check_Mess(Agent.name). Запись сообщений агентом в буфер происходит вызовом метода Agent.W_Mess. После вызова методов R_Mess и W_Mess значения переменных Mess_In_Count и Mess_Out_Count, соответственно, сбрасываются в ноль.

За основу правил поведения агентов взят специализированный объектно-ориентированный язык RADL (Reticular Agent Definition Language) в виде конструкции When-If-Then, реализованный в системе проектирования агентов и мультиагентных систем Agent Builder (Reticular Systems, Inc.) [92]. Ментальная модель включает описание намерений, желаний, обязательств и возможностей, а также правил поведения агентов. На основе этой модели осуществляется выбор тех или иных действий интеллектуального агента. Составные части этого правила выполняют следующие функции: When <...> содержит новые сообщения, полученные от других агентов; If <…> сравнивает текущую ментальную модель с условиями применимости правила; Then <...> определяет действия, соответствующие текущимсобытиям, состоянию ментальной модели и внешне- го окружения.

Применительно к предметной области процессов преобразования ресурсов, с учетом того, что ментальную модель агента представляет модель целеполагания, функция When будет непосредственно включена в алгоритм, то будем использовать следующую структуру правил поведения агентов:

Name <Имя правила>

If <Message Conditions, RCP Conditions, G_Ag Conditions>

Then <G_Ag Changes; Message Actions; Private Actions>.

где MessageConditions –

условия, относящиеся к сообщениям;

RCPConditions –

условия, относящиеся к преобразователям и ресурсам (RCP – Resources conversion process);

G_AgConditions –

условия, относящиеся к целям;

G_AgChanges –

действия по изменению текущих целей агента;

MessageActions –

действия по формированию сообщений;

PrivateActions –

действия (план действий), связанные с преобразователями и ресурсами, направленные на достижение поставленных целей.

Части правил могут быть представлены в виде предикатов первого порядка. Следуя [21, 133–134], полагаем, что предикат от переменных, n-арный предикат на множестве А есть n – местная функция, определенная на А со значениями в множестве {истина, ложь}. Совокупность наборов (а1, a2, ..., an) элементов из А, для которых Р(а1a2, ..., an) – истина, называется n-арным отношением, отвечающим предикату Р. И наоборот, любому n-арному отношению R на А отвечает предикат Р(x1, x2, ..., xn)

a097.wmf

Часть Then включает в себя действия и планы действий, т. е. набор последовательно-параллельных действий с привязкой ко времени или решение Decision.

Алгоритм работы агента состоит из следующих действий:

1. Анализ мира (окружения) агента включает:

i. Чтение сообщений «Агента-начальника» и «Агентов-подчиненных» (функция When), если таковые есть.

a098.wmf

В случае если при чтении сообщения определяется конфликтная ситуация – входящее сообщение противоречит текущим целям агента, то происходит разрешение конфликта целей (более приоритетные цели вытесняют менее приоритетные). Если агент не принимает к выполнению входящее сообщение, то формируется отказ.

ii. Обзор (анализ) ближайшего окружения, элементов процесса преобразования, которыми он управляет непосредственно.

iii. Контроль выполнения целей.

2. Диагностирование ситуаций и Поиск решения. Диагностирование ситуации заключается в сопоставлении части IF правил с текущим состоянием мира агента. В зависимости от найденной (диагностируемой) ситуации агент обращается к БЗ и пытается найти соответствующее решение, которое переведет систему из текущей ситуации в желаемую. В случае если диагностировано более одной ситуации, то выполняется анализ их непротиворечивости, ранжирование по приоритетам и значимости для агента, формирование общего решения («склейка» команд, устранение повторов).

В случае если найдено несколько решений, то для каждого решения агент проводит оценку его достижимости (моделирует поведение всех элементов, принадлежащих данному модельному множеству для поиска пути к цели gaj на глубину в gp шагов). Полагаем, что параметр gpопределяется выбранной стратегией si, и вводим два счетчика: счетчик модельных шагов Cmgpи счетчик актуальных шагов Cagp. Выполняем модельные шаги для модельных множеств на глубину gp. После каждого шага вычисляем предполагаемую оценку состояния мира ИА для всех моделируемых информационных объектов (ИО – элементов процесса преобразования) и делаем следующий модельный шаг. Повторяем модельные шаги до достижения Cmgp = gp. Затем сравниваем оценки достижения цели текущего решения с предыдущим, запоминаем решение с лучшей оценкой. Далее вычисляем предполагаемую оценку преобразований целей для всех ИО и отклонение от целей (меру близости к цели):

a099.wmf

Таким образом, перебрав все решения, выбираем единственное.

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

a100.wmf

Если ситуация не изменилась, то переходим к следующему шагу.

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

3. Корректировка целей. Агент, диагностировав ситуацию и выбрав решение, корректирует свои цели и цели вверенных ему объектов. Вычисляет оценки состояния целей от достигнутого состояния мира ИА и определяет отклонения от цели. Поскольку целей может быть несколько (в случае j > 1), необходимо сформировать комплексную оценку положения ИА в пространстве целей

a101.wmf

учитывающую значимость целей, ai – весовые коэффициенты важности целей, n – мощность множества активных целей.

Проводим сравнение с допустимым комплексным отклонением Δd с помощью следующих правил:

при выполнении условия Δk > Δd переходим к шагу (2), изменяя при этом стратегию, т. е. переоцениваем стратегию формирования целей; если же Δk ≤ Δd, то продолжается функционирование ИА в той же стратегии.

4. Формирование модели мира данного агента (прогнозирование состояния на следующем шаге) FV(t + 1).Формируем новое текущее состояние мира ИА с помощью вычисления значений целей. FV – функция формирования информационного пространства.

5. Выполнение активных действий агента происходит на текущем шаге модельного времени

Execute: AD(Agenti): GA → VO,

где Execute – функция выполнения действий агента. К активным действиям также относится функция отправки сообщений

IF Agent.Mess_Out_Count > 0

THEN Agent.W_Mess

6. Окончание выполнения действий агента на данном шаге.

На рис. 2.6 приведена схема работы ИА.


Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074