Моделирование, основанное на социальных агентах, получило широкое распространение в мире, так как оно помогает решать многие задачи, связанные с поведением человека в различных ситуациях. Особую роль это моделирование играет при анализе и создании кибер-физических социальных систем – одного из основных направлений цифровизации общества. Одним из интереснейших вопросов этих исследований является анализ поведения отдельных агентов в определенных условиях внешней среды, а также оценка влияния агентов на развитие среды [1–3]. В качестве модели поведения агентов чаще всего используется модель убеждений, желаний и намерений (англ. belief, desire, and intention (BDI) model), которая представляет в основном процесс выбора пути реализации потребности. Целью данной работы является формализация процессов генерации и реализации потребностей.
Большинство рассматриваемых в литературе моделей агентов основаны на дискретно-событийных моделях [4]. В данной работе рассматривается возможность применения модели гибридного автомата для описания процессов поведения и развития агентов, обладающих определенными наборами потребностей, ресурсов и средств их реализации.
Гибридный автомат – это направленный граф, каждому узлу которого приписана динамическая система или гибридный автомат, а дугам – условия смены поведения и последовательности действий, сопровождающих смену поведения [5–7]. Гибридные автоматы отличаются от дискретных автоматов наличием как непрерывных, так и дискретных состояний.
За основу используемого в данной работе определения агента взята модель гибридного автомата, представленная в [5]. Модель агента можно представить расширенным гибридным автоматом:
H = (Q, X, F, Init, Inv, E, G, R, Evt, P, S),
где Q – множество дискретных состояний q;
X – множество непрерывных переменных – характеристик агента;
F: Q*X > X – векторное поле, описывающее динамику изменения непрерывных переменных автомата в рамках конкретных дискретных состояний, которое включает следующие функции:
fgi(pi) – функция генерации pi потребности;
fvi(pi) –функция выбора рецепта удовлетворения pi потребности, если на выбор тратится время;
fei(ri) –функция исполнения ri рецепта удовлетворения pi потребности (экземпляры функций);
Init ⊆ Q*X – множество начальных состояний;
Inv: Q > 2X – область допустимых значений непрерывных переменных автомата для каждого q;
E ⊆ Q* Q – множество дуг-переходов между дискретными состояниями;
G: E > 2X – предикаты перехода по соответствующей дуге между парой дискретных состояний;
R: E*X > 2X – множество правил, определяющих изменение значений непрерывных переменных автомата при переходе по соответствующей дуге между парой дискретных состояний;
Evt – множество событий, происходящих в системе автоматов;
P – множество потребностей p;
S – множество событий, влияющих на переходы внутри автомата.
Далее рассмотрены модели объектов, которые являются частными случаями приведенной модели и могут быть использованы для представления различных классов объектов пространственной модели.
Модель простого статического объекта
К этому классу объектов относятся физические объекты среды, которые условно не изменяются с течением времени. Математическая модель такого объекта может быть представлена следующим образом:
Q = {q1} – множество состояний агента
q1 – статическое состояние покоя.
F – функции изменения внутренних параметров объекта отсутствуют
Init = q1 – начальное состояние
X, E, G, R, P⊂∅
Evt (создание, удаление) – возможные события.
Модель «стареющего» объекта
Это физические объекты среды, которые изменяются с течением времени и могут иметь при этом несколько состояний. Переход в предыдущее состояние в них невозможен.
Рассмотрим такой объект на примере ресурса. Гибридный автомат, соответствующий этому ресурсу, в случае двух состояний можно представить так:
Q = {q1; q2} – множество состояний объекта
q1 – динамическое состояние ресурса – можно использовать;
q2 – динамическое состояние ресурса – нельзя использовать;
F – функция изменения внутренних параметров объекта:
f(r(t)) = r(t – 1) – δ,
где r – показатель возможности использования ресурса. При r(t) = 0 объект исчезает.
Функция действует постоянно во множестве состояний Q.
Init = q1 – начальное состояние, так как будем считать ресурс сразу после создания возможным к использованию.
E – множество дуг переходов
e(q1;q2)∈E – дуга между q1 и q2.
G = {g1} – множество условий переходов
g1: q1>q2, если r(t)<=rS, где rS – пороговое значение показателя возможности использования.
Следует отметить, что создание и удаление объекта может быть выделено в отдельные состояния, если они являются продолжительными по времени. Здесь и далее будем считать это время ничтожно малым, поэтому не будем вводить эти состояния, а ограничимся событиями:
Evt (создание, удаление)
Рассмотрим модель агента, обладающего 1 потребностью. Как отмечалось в [8–10], потребность можно реализовать разными рецептами.
Пусть цель агента – потребление ресурса, количество которого не ограничено.
Q = {q1; M} – множество состояний агента
q1 – состояние покоя (потребности отсутствуют);
M – допустимое множество состояний потребления ресурса, соответствующее возможным рецептам потребления;
q2∈M – состояние потребления ресурса, соответствующее выбранному рецепту;
fg1 – функция уменьшения контролируемого внутреннего параметра агента с течением времени в состоянии q1.
fg1(rIn(t)) = rIn(t – 1) – δ,
где rIn – внутренний параметр ресурса агента, d – величина, на которую изменяется rIn за один такт.
fv1 – функция выбора рецепта удовлетворения потребности потребления ресурса.
fe1 – функция увеличения контролируемого внутреннего параметра агента при реализации выбранного рецепта потребления в состоянии q2.
fe1(rIn(t)) = rIn(t – 1) + α– δ,
где α – величина приращения rIn при потреблении ресурса.
Начальным состоянием автомата может быть любое q∈Q;
E – множество дуг переходов;
e(q1;q2)∈E – дуга, между q1 и q2;
P{p1} – множество потребностей, состоящее из одной потребности p1 в данном случае.
Пусть rInT – критическое значение параметра rIn, при котором возникает потребность.
Множество возможных событий S{s1, s2}, где
s1: fg1(rIn(t)) = fg1(rInT) – возникновение потребности p1
s2: fe1(rIn(t)) = max – потребность p1 удовлетворена
G – множество условий переходов между q1 и q2
g1: q1>q2, если произошло событие s1;
g2: q2>q1, если произошло событие s2.
R∈∅ – никакие значения переменных специальным образом не изменяются при переходах состояний.
Рассмотрим модель агента с двумя потребностями: потребления и пополнения ресурса.
Q = {q1; q2; q3} – множество состояний агента
q1 – динамическое состояние покоя;
q2 – динамическое состояние потребления ресурса;
q3 – динамическое состояние пополнения ресурса.
P{p1, p2},
где p1 – потребность потребления ресурса;
p2 – потребность пополнения запасов.
fg1 – функция уменьшения внутреннего параметра ресурса агента с течением времени. Данная функция выполняется во всех состояниях.
fg1(rIn(t)) = rIn(t – 1) – δ
fv1 – функция выбора рецепта удовлетворения потребности потребления ресурса.
fv2 – функция выбора рецепта удовлетворения потребности пополнения ресурса.
fe1 – функция увеличения внутреннего параметра ресурса для q2.
fe1(rIn(t)) = rIn(t – 1) + α
fe2 – функция пополнения внешнего ресурса агента для q3.
fe2(rOut(t)) = rOut(t – 1) + β,
где rOut – параметр внешнего ресурса у агента, b – величина, на которую увеличивается rOut за один такт.
fg2 – функция расходования агентом внешнего ресурса для q2.
fg2(rOut(t)) = rOut(t – 1) + γ,
где g – величина, на которую уменьшается rOut за один такт.
Начальным состоянием автомата может быть любое q∈Q.
Пусть rOut – критическое значение имеющегося у агента внешнего ресурса для потребления, rInT – критическое значение внутреннего параметра rIn.
Множество событий S в данном случае:
s1: fg1(rIn(t)) = fg1(rInT) – возникновение потребности p1
s2: fe1(rIn(t)) = maxp1 – потребность p1 удовлетворена
s3: fg2(rOut(t)) = fg2(rOutT) – возникновение потребности p2
s4: fe2(rOut(t)) = maxp2 – потребность p2 удовлетворена
s5: fe2(rOut(t)) = 0 – количество внешнего ресурса равно 0
G – условия переходов
g1: q1>q2, если s1 & fe2(rOut(t)) > fe2(rOutT);
g2: q2>q1, если s2;
g3: q1>q3, если s3;
g4: q3>q1, если s4 & fg1(rIn(t)) > fg1(rInT);
g5: q3>q2, если s1 & s4;
g6: q2>q3, если s5.
Модель взаимодействия агентов при обмене ресурсами. В основе взаимодействия лежит необходимость удовлетворения определенной потребности агентом, но невозможность или нежелание сделать это в одиночку. Так как в данной статье мы не касаемся выбора, то будем считать, что агент A1 выбрал для взаимодействия A2.
После того как участники взаимодействия определены, агенты переходят в состояние заключения договора, либо минуя его, а затем начинают исполнять выбранные планы удовлетворения потребности. Будем считать договор потребностью агента, а состояние договора будем выделять в отдельное состояние гибридного автомата этого агента.
Q = {q1; q2; q3} – множество состояний автомата
q1 – динамическое состояние относительного покоя агентов (внутренние процессы, внешние процессы, отношения с внешней средой) – это сумма состояний А1 и А2.
q2 – состояние процесса заключения договора между агентами;
q3 – состояние процесса обмена;
F1 – функции изменения внутренних параметров агента A1
F2 – функции изменения внутренних параметров агента A2
В данном случае в F1 и F2 используются формулы модели агента с двумя потребностями, рассмотренной ранее.
G – условия переходов
g1: q1>q2 – возникла потребность обмена у A1 , у A2 не возникла:
A1rext(t) ≤ A1rextT; A2rext(t) > A2rextT,
где A1rext(t) – текущее наличие у A1 требуемого ресурса,
A1rextT – пороговое значение у A1 требуемого ресурса,
A2rext(t) – текущее наличие у A2 требуемого ресурса,
A2rextT – пороговое значение у A2 требуемого ресурса.
g2: q1>q2 – возникла потребность у A2, у A1 не возникла:
A2rext(t) ≤ A2rextT; A1rext(t) > A1rextT,
g3: q1>q2 – возникла потребность у A1 и A2:
A1rext(t) ≤ A1rextT; A2rext(t) ≤ A2rextT,
g4: q2>rq1 – установка связи, состояние ожидания,
g5: rq1>q3 – обмен,
g6: q2> rq2 – разрыв связи,
g7: q3>q1 – завершение обмена.
Предложенная модель может быть использована в рамках алгоритма заключения договора:
1. Огласка ролей участников.
2. Ожидание согласия/несогласия участников с условиями.
3. Переход в состояние удовлетворения потребности в договоре (в случае, если все участники согласны) или выход из состояния договора и переход к выбору участника (в случае, если участники не согласны).
Пункт 3 может быть дополнен поиском компромисса:
3.1 корректировка условий участниками при несогласии с предложенными;
3.2 корректировка планов агента, огласка > 3.1
Выводы
В рамках проведенного исследования получены следующие результаты:
1. Предложена расширенная модель гибридного автомата, учитывающая поведение активных агентов в процессе реализации потребностей.
2. Рассмотрены частные модели гибридных автоматов, соответствующие объектам среды обитания, которые могут быть использованы при разработке систем имитационного моделирования и управления развитием территориальных объектов.