Челябинский физико-математический журнал. 2018. Т. 3, вып. 2. С. 237-248.
УДК 519.713
МОДЕЛИРОВАНИЕ СИСТЕМЫ СВЯЗИ АГЕНТОВ, ДВИЖУЩИХСЯ ПО ПЕРЕСЕЧЁННОЙ МЕСТНОСТИ
А. В. Кузнецов
Воронежский государственный университет, Воронеж, Россия [email protected]
В работе предлагается моделирование системы связи движущихся агентов с помощью связанных друг с другом двумерных клеточных автоматов, которые работают в различных дискретных временах. Один из автоматов моделирует движение различным образом организованных групп агентов по местности с расположенными на ней препятствиями разной высоты и проходимости. Агенты стремятся двигаться за кратчайшее время, стараясь при этом сохранять строй и, возможно, имея дополнительные цели. Второй автомат моделирует систему связи агентов из первого автомата. Агентами в модели системы связи являются средства связи агента из модели движения. В данном клеточном автомате одному каналу связи соответствует столбец клеток, каждая клетка имеет параметры, отвечающие качеству канала. Описывается реализация вышеуказанных автоматов с помощью среды «Психоход». Для организации взаимодействия моделей движения и связи запускаются два экземпляра процесса программной среды «Психоход», обмен данными между которыми происходит через разделяемую память QSharedMemory. Демонстрируется приложение модели к выявлению практически линейной зависимости среднего количества обрывов связи от количества препятствий. При этом полагается, что для связи необходима прямая видимость агентов.
Ключевые слова: автономные агенты, клеточный автомат, модель движения, модель системы связи.
Введение
Ранее автор разработал и исследовал свойства основанных на клеточных автоматах моделей движения агентов, перемещающихся и взаимодействующих друг с другом в составе групп различной структуры по местности с препятствиями [1-3]. При этом предполагалось, что все агенты могут обмениваться друг с другом сообщениями независимо от свойств местности. Также были исследованы влияние ландшафта на характер движения агентов и успешность организации строя, близкого к заданному [4; 5]. Помимо этого исследовались соответствующая непрерывная модель, вероятностные свойства квазиоптимальных траекторий агентов и т. п.
[4; 6].
Кроме того, автором была разработана модель каналов связи, также на основе клеточного автомата, которая позволяет, например, моделировать процессы самоорганизации радиосети агентов, способных к последовательному сканированию каналов [7; 8].
Работа поддержана грантом РФФИ 18-07-01240_а.
Для реализации предложенной модели движения, взаимодействия и связи агентов было разработано программное обеспечение «Психоход» [9], с помощью которого и производились практически все перечисленные исследования (программа доступна из репозитория по адресу https://bitbucket.org/bokohodteam/bokohod).
В настоящей статье предлагается более сложный подход, в котором возможности агентов по коммуникации ограничиваются особенностями ландшафта. Также в статье производится отождествление элементов модели, ранее предложенной автором, с моделью BDI-агентов. Модель убеждений, желаний и намерений (belief, desire, and intention model, BDI) является популярной техникой проектирования агентов [10]. В данной модели «убеждения» — это известные агенту сведения о мире, а также правила вывода новых сведений из доступных, «желания» соотносятся с планируемыми задачами агента, а «намерения» — с действиями, которые агент должен выполнить для осуществления своих задач. В эту модель включают также «события» — то, что может изменить «убеждения», «желания» и «намерения».
1. Модель движения
Пусть задано множество n мобильных агентов Ag = {agb ag2,..., agn}. Все агенты передвигаются в едином дискретном времени t = 0,1,... , Ta по области П. Также заданы ограниченное множество П С Z2, множество векторов состояний клеток S и функция I : {0,1,..., Ta} х П ^ S.
Мгновенное состояние sij(t) = l(t; i, j) клетки (i, j) представляет собой вектор
sij = (*a9 ij , uij, hij,... ),
где *agij — это некий идентификатор (например, указатель на объект агента в памяти ЭВМ), характеризующий агента, находящегося в клетке (i, j), или 0, если агента в клетке нет; uij G N — количество ходов, необходимое для агента, движущегося с максимально возможной в системе скоростью, для пересечения клетки (i, j) (непроходимость); hij G R — это высота клетки (i, j).
Множества высот и непроходимостей клеток мы будем далее называть ландшафтом высот = {hij| (i, j) G П} и ландшафтом непроходимостей Lu = {uij| (i, j) G П} соответственно.
Каждый агент agfc обладает более или менее полной копией множества П и функции I. Набор B0 = (П, I,... ) мы будем далее называть слоем объективной реальности агентов. Для описания примерного (т. е. реализованного автором статьи) слоя субъективной реальности agk определим функцию посещений visk : 0, Ta х П ^ Z и радиус видимости агента . В момент посещения агентом клетки (i, j) устанавливается, что ViSk(t +1; i, j) = visk(t; i, j) + 1 и для всех клеток (i', j') из окрестности Vr(i, j) П П клетки (i, j) радиуса r копируются в «субъективную реальность» агента Ik(t; i',j) = I(t; i, j). Итого, слой субъективной реальности агента agk представляет собой набор Ok = (П, visk, Ik,... ). Слои Bi, i = 1, 2,..., n, представляют собой Believs в терминологии BDI-агентов.
Многоточие « . . . » в описании означает, что размеры и состав описываемых структур не предопределены заранее и могут дополняться в процессе работы реализации модели в виде программного обеспечения.
При движении агенты стремятся минимизировать время прохождения от исходной точки до заданной цели. Таким образом, множество целей (Desires, в терминологии BDI) описываемых агентов включает в себя как минимум наборы конечных и начальных местоположений Gk = {(ik, jk), (ik, j)}.
Определим множество возможных направлений движения D = {(i,j)| i,j = — 1,0,1}. Назовём маршрутом агента, находящегося в клетке (io,jo), в клетку ('im,jm) в направлении d0 множество
m(do; im,jm) = {(ip,jp)l(ik+i,jk+i) = dk+(ik ,jk), (ifc ,jk) e ft,dk eD,k = 0,.. .,m—1}.
Для достижения своей цели каждый агент, находящийся в некоторой точке (io, jo) и движущийся к точке (ie,je), ищет каждый ход оптимальный маршрут следующим образом. Пусть (im,jm) — клетка пересечения границы окрестности Vr(io, jo) и прямой, проходящей через (io,jo) в направлении (ie,je), m(d; im,jm) С Vr(io,jo). Тогда агент выбирает такое направление движения d e D, чтобы
U(d) = ^^ uij ^ min, (1)
(i,j)em(d;im,jm)
V(d) = visk(i,j) ^ min. (2)
m
Если дополнительно вводится условие поддержания строя, то необходимо также минимизировать отклонение от заданного графа строя (при организации строя) или, альтернативно, чтоб количество других агентов в его окрестности соответствовало заданному (при организации роя). Сходство графов определяется с помощью меры несходства, описанной в работах [5; 11; 12]. Указанные правила поведения агента можно отнести к понятию Intentions модели BDI.
2. Модель системы связи
Обратим внимание на то, что объекты модели системы связи функционируют не в дискретном времени модели движени, а в моментах своего собственного дискретного времени т = 0,1,... , Тпа, так как обмен сообщениями обычно происходит намного быстрее физического перемещения агентов.
У каждого ад Е Ад может быть одно или несколько «средств связи» иеЬАд Е ЫеЬАд, характеризующихся предельной дальностью (в клетках) гтах (ииеЬАд), предельной высотой препятствия между приёмником и передатчиком ктах(ие1Ад) и максимальным быстродействием (абстракцией скорости) атах(ие£Ад). Список средств связи агента адк будем обозначать как Мв1Адк.
Будем обозначать средство, используемое агентом в момент времени т, как иеЬАд(т,ад). Средства ие1Ад1 и ие1Ад2 могут быть совместимыми друг с другом, т.е. пригодными для организации двухстороннего канала связи, в этом случае будем писать Г (иеЬАд1, ие1Ад2) = 1, и несовместимыми, в таком случае будем писать Г (иеЬАд1, ие1Ад2) = 0.
Высота препятствия между двумя клетками Ь = (гъ,3ъ), е = (ге,3е) «ландшафта» С определяется как
Ь(Ь,е) = тах (Ьи - Щ,е; г,з)), (3)
(гЦ)еЬ(Ъ,в)
где Ь(Ь, е) — множество квадратов, пересекающихся с прямой, соединяющей центры клеток Ь и е, к(Ь, е; г,3) — прямая, проходящая через точки (гъ,3ъ, кгьць) и (г3,з3, ).
На рис. 1 показано взаимодействие четырёх агентов адг, г = 1,2,3,4. Для средств иеЬАдц, 3 = 1, 4, 5, 8, предельная высота препятствия ктах(иеЬАдц) = 0, для 3 = 2, 3, 6, 7 предельная высота препятствия Ь,тах(иеЬАдц) = 2. Поэтому, например, ад1 и ад3 не могут связываться напрямую.
Рис. 1. Взаимодействие агентов и средств связи при наличии препятствия
Определим теперь клеточный автомат (КА), моделирующий поведение радиоэфира. Для всех агентов задано множество каналов в виде матрицы Q. Номер столбца этой матрицы соответствует номеру канала, номер строки нужен для учёта размещения нескольких агентов на одном канале, а также для моделирования, например, номера временного окна агента на частотном канале. Компонента qij матрицы Q соответствует качеству канала j. Каждое средство может находиться на одном из каналов. Канал, на который настроено средство netAg, обозначим как j (netAg). Таким образом, состояние ячейки КА — модели эфира определяется как
cij = (*netAgij, q^,... ),
где *netAgij — идентификатор средства netAgij-, находящегося в клетке (i, j), или 0, если средства в клетке (i, j) нет.
Также задаётся реальное быстродействие связи у средства netAg на канале j как функция
s(netAgent, j) = a(amax (netAgent) , q^ (netAgent), Nag(j)),
где Nag(j) — количество агентов на канале j. Функция а возрастает по первому и второму аргументу и убывает по третьему. Технически s может реализовываться как свойство класса средства связи или же как элемент состояния ячейки КА — модели эфира.
Каждый агент agfc обладает расписанием сообщений
Rk = {(Ti; agi; Vi)|T G {0,1,..., Traa}, agi G Ag,v G N}.
На основании расписания для каждого агента agk G Ag можно построить граф потребностей в связи Щ с вершинами из Ag. Рёбра в данном графе будут соответствовать необходимости поддерживать связь между соответствующими им парами агентов. Для упрощения дальнейшего изложения будем писать X ^ y, если во множестве X = {(yi, xi),... , (yn,xn)} существует элемент (yk, xk) с y = yk, при этом обозначать Xk = X[yk] = X[y]. Данное обозначение в целом соответствует, например, обозначениям в духе контейнеров «ключ-значение» типа std::map из STL языка C++.
У каждого агента agk есть список загруженности его средств связи AILk = {(netAg, v)|netAg G NetAgk, v G Z}.
Правила действий агента (так называемая агентная функция) в модели системы связи описываются следующим образом:
Шаг 0. В начальный момент времени AIL = {(netAg, 0)|netAg е NetAgk}.
Шаг 1. Агент agfc каждый такт т просматривает расписание R^. Если R& ^ т и найдено R^[т] = (agj,Vj), то переходим к шагу 2, иначе — к шагу 4.
Шаг 2. Агент agfc просматривает свои средства связи AIL в поиске средства, отвечающего следующим критериям:
- расстояние между agk и agj не превосходит rmax (netAg);
- максимальная высота препятствия между agfc и agj не превосходит
hmax(netAg).
Шаг 3. После нахождения такого средства AIL ^ netAg агент agfc устанавливает AIL [netAg] = AIL[netAg] + v и сообщает средству netAg о необходимости передать сообщение.
Шаг 4. Средства из NetAgfc опрашиваются. Если netAg ответило об успехе передачи, то если AIL [netAg] > 0, устанавливается AIL [netAg] = IL [netAg] — s(netAg, j (netAg)).
Шаг 5. Переход к шагу 1.
Средства netAg также являются в общем случае (при моделировании Cognitive Radio) агентами, которые перемещаются по сетке Q в поисках лучшего канала связи и обмениваются сообщениями, которые передали им агенты из Ag. Каждый netAgk е NetAg обладает расписанием NILk = {(т^ netAgp Vj)|i = 1,2, ...,s}. Список заданий заполняется на шаге 3 предыдущего алгоритма из расписания R^, конкретный способ формирования зависит от типа моделируемой системы связи. Эти агенты руководствуются правилами следующего вида.
Шаг 1. netAgp проверяет NILk, нет ли у него заданий от его владельца agk.
Шаг 2. Если есть (тг; netAgp; эд) с v = 0, то оно исключается из NILk.
Шаг 3. Если есть задание (т; netAgp; v^), нет других заданий, j(netAgp) = j(netAgz) и Г (netAgp, netAgp = 1, то объём Vj уменьшается на в = s(netAgentp, j (netAgp)).
Шаг 4. Если заданий несколько, то они обрабатываются в соответствии с заданной дисциплиной обслуживания.
Шаг 5. Переход к шагу 1.
Дисциплина обслуживания может быть, например, FIFO, или же величина в из шага 2 может делиться равномерно между заявками. Дополнительно возможно введение приоритетов сообщений.
Видно, что на базе семейства расписаний {R&|k = 1, 2,..., n} можно построить матрицу потоков для графа Г0 с вершинами из Ag и (или) NetAg. В данном графе вершины agj, agj будут смежными, если
- существуют netAgp е NetAgk, netAgp е NetAgk, j (netAgp) = j(netAgz) и Г (netAgp, netAgp = 1;
- расстояние между agk и agi не превосходит rmax(netAg);
- максимальная высота препятствия между agk и agi не превосходит
hmax(netAg).
По сути задача агентов — организовать, с учётом вышеуказанных ограничений, такую сеть ro, чтоб поток сообщений через каждое ребро был бы минимален.
Таким образом, при движении агенты стремятся к тому, чтоб максимизировать реальное быстродействие канала, и к тому, чтоб граф связи системы соответствовал бы графу потребностей в связи. Это достигается, например, за счёт того, что агенты избегают препятствий, загораживающих от них других агентов, и т. д. Возможно задавать и другие критерии оптимальности, соответствующие моделируемой системе.
В рамках идеологии BDI-агентов к Believs у средства связи netAgk относятся сведения о расположении средств на каналах связи {j(netAg)|netAg e NetAgk С NetAg} и о принадлежности средств связи агентам модели движения, к Desires — NlLk и условие максимально быстрой отправке сообщений, к Intentions — дисциплина обслуживания, алгоритмы маршрутизации и т. п.
Группа агентов, двигающихся по пересечённой местности, может рассматриваться как одномерный клеточный автомат (так называемый robot-space cellular automaton, далее — КА пространства робота), каждая клетка которого содержит координаты агента на плоскости, его реальное и желаемое взаимное расположение с соседними агентами, или же как двумерный клеточный автомат (так называемый world-space cellular automaton, далее — КА пространства мира), каждая клетка которого соответствует квадрату местности и набору его свойств и содержит идентификатор находящегося в данной клетке агента [13].
Обозначим как Mo глобальную функцию перехода КА пространства мира модели движения, Mi — глобальную функцию перехода КА пространства робота модели движения, N — глобальную функцию перехода КА пространства мира модели системы связи, N1 — глобальную функцию перехода КА пространства робота модели системы связи.
Можно рассматривать модели движения и системы связи как конечные автоматы, представимые в виде уравнений
s(t + 1) = Mo(t, s(t), c(t)), ag(t + 1) = Mi(t, ag(t), netAg(t), s(t), c(t)), c(t +1) = %(т, s(T), c(T)), netAg(r + 1) = N1(t, ag(r), netAg(r), s(t), c(t)),
т = Kt,
где s(t) — вектор состояний клеток КА модели движения, c(t) — вектор состояний клеток КА модели системы связи, ag(t) — вектор состояний агентов, netAg(T) — вектор состояний средств связи, K e N.
3. Соединение моделей движения и связи в среде «Психоход»
Программная среда «Психоход» реализована на языке C+—+14 с применением библиотек Qt 5.9.1. В программе (рис. 2) присутствует интерфейсный класс IAutomaton, который представляет собой абстрактный клеточный автомат и унаследованные от него классы автоматов разного типа, например, Bokohod — класс модели движения или AutoNet — класс модели связи, Life — демонстрационный
класс «Жизни» Конвея. Также в модели есть классы агентов: Agent — реализация множества Ад и NetAgent — реализация множества netAg.
Рис. 2. Иерархия классов системы моделирования «Психоход»
Помимо этого, конкретные эксперименты, связанные с движением и обменом сообщениями между агентами, производятся либо с графического интерфейса, либо из скрипта Lua 5.2, обрабатываемого с помощью класса LuaExport. Визуализация результатов эксперимента осуществляется в классе ViewManager.
Технически слои Bi реализованы в виде контейнеров STL типа std::vector<StateLine>, где StateLine — это std::vector<Cell>, а Cell, в свою очередь, это структура произвольной длины, хранящая состояние клетки из S.
Поскольку изменения в модели системы связи и в модели движения происходят с существенно разными скоростями, то имеет смысл их реализовывать либо в разных потоках одного приложения, либо вообще в разных процессах, и автор выбрал последнее для облегчения последующего подключения своего программного обеспечения к существующим сетевым симуляторам, таким как omnet+—+. В программе «Психоход» модели системы связи и движения представляют собой два независимых процесса операционной системы (рис. 3), взаимодействие которых происходит через разделяемую память QSharedMemory с синхронизацией тактов через стандартные семафоры lock() и unlock().
Пользователь
Рис. 3. Взаимодействие модели связи и движения в среде «Психоход»
Обработка состояний ag(í) и актуализация ag(í + 1) происходят в двух разных циклах для обеспечения параллельных вычислений с помощью ОрепМР. При этом
дополнительная логика поведения агентов может быть добавлена как непосредственно внутрь обработчика состояний агентов (функции Automaton::next()), так и загружена извне в вектор объектов типа void*(*)(void*) (которые впоследствии приводятся к нужному типу), который последовательно исполняется на каждом шаге функционирования КА.
4. Примеры применения модели
В качестве примера использования модели продемонстрируем зависимости возникновения обрывов соединений, требующих прямой видимости, от времени и степени неоднородности ландшафта высот L^.
Ранее автор разработал метод создания (см. [3; 14]) случайных тестовых ландшафтов L, которые содержат заданное количество препятствий или же имеют заданные характеристики, такие как конфигурационная энтропия
S(L) = — ± N In N,
L — N N
j=1
где l — число классов клеток, Nj — число клеток класса i, N — общее число клеток, или Total Edge (количество соприкосновений клеток ландшафтов разных классов).
Было создано по 100 случайных квадратных ландшафтов высот 50 на 50 клеток для каждого заданного числа количества препятствий Nobst = 20, 40, 80,120 с конфигурационной энтропией S = 1.68,1.85, 2.02, 2.11 соответственно, l = 9, в качестве классов выступали «высоты» клеток в диапазоне от 0 до 9. По каждому ландшафту с одной стороны на противоположную перемещалось 6 агентов с учётом правил (1), (2).
Обозначим как V(t) = (vjj(t))jj=^ матрицу прямой видимости агентов, vjj(t) = 0, если агенты i и j «видят» друг друга по прямой линии (h(b,e) = 0 в смысле равенства (3)) на ходу t и Vj (t) = 1 в противном случае.
Введём величину
t
v(t) = £ ||V(t) — V(t — 1)||i, t> 0,
j=i
где || V||i = 6 j=i |vjj|. Величина v(t) соответствует количеству изменений матрицы прямой видимости агентов к ходу t. Эту величину можно использовать, например, для оценки количества обрывов и восстановлений высокоскоростных каналов, например, Wi-Fi, которым необходима прямая видимость, во время движения агентов. Далее, вычисляя среднее значение v(t) по всем экспериментам для одного значения Nobst, получаем зависимость, показанную на рис. 4 сверху.
Для сравнения, аналогичная зависимость для ландшафта, у которого клетки с разными высотами разбросаны равномерно, а конфигурационная энтропия равна 1.68, что соответствует Nobst = 20 у ландшафтов ранее описанного типа, показана на рис. 4 снизу. Следует отметить, что если мы будем исследовать зависимость количества обрывов (или восстановлений) связи к моменту времени t, то эта зависимость будет иметь также линейный вид.
10 20 30 40 ЕЮ f
Рис. 4. Изменение матрицы прямой видимости агентов со временем для различных ландшафтов
Список литературы
1. Кузнецов, А. В. Модель совместного движения агентов с трёхуровневой иерархией на основе клеточного автомата / А. В. Кузнецов // Журн. вычисл. математики и мат. физики. - 2017. - Т. 57, № 2. - С. 339-349.
2. Кузнецов, А. В. Упрощённая модель боевых действий на основе клеточного автомата / А. В. Кузнецов // Изв. РАН. Теория и системы управления. — 2017. - № 3. -С. 59-71.
3. Kuznetsov, A. V. Model of the motion of agents with memory based on the cellular automaton / A. V. Kuznetsov // International Journal of Parallel, Emergent and Distributed Systems. - 2018. - Vol. 33, iss. 3 - P. 290-306.
4. Kuznetsov, Al. V. Cellular automata-based models of group motion and interaction of agents with memory / Al. V. Kuznetsov // Информационные технологии и нанотехно-логии : сб. тр. III междунар. конф. и молодёж. шк. — Самара: Самар. нац. исслед. ун-т им. акад. С.П.Королёва, 2017. - С. 1090-1095.
5. Кузнецов, А. В. Организация строя агентов с помощью клеточного автомата / А.В.Кузнецов // Управление большими системами: сб. тр. — 2017. — Вып. 70. — С.136-167.
6. Кузнецов, А. В. О движении агентов по местности с препятствиями / А. В. Кузнецов // Журн. вычисл. математики и мат. физики. — 2018. — Т. 58, № 1. — С. 143-157
7. Кузнецов, А. В. Многоагентная модель самоорганизации системы связи / А.В.Кузнецов // Актуальные проблемы прикладной математики, информатики и механики : материалы Междунар. науч.-тех. конф. — Воронеж : Воронеж. гос. ун-т, 2017. — С. 747-749
8. Кузнецов, А. В. Распределение ограниченных ресурсов в системе с устойчивой иерархией (на примере перспективной системы военной связи) / А.В.Кузнецов // Управление большими системами: сб. тр. — 2017. — Вып. 66. — С. 68-93.
9. Кузнецов, А. В. Программная среда многоагентного моделирования «Психо-ход» : программа для ЭВМ. Св-во о регистрации № 2017619605 от 28.08.2017 / А. В. Кузнецов, А. С. Лещев.
10. Rao, A.S. BDI Agents: From Theory to Practice / A.S.Rao, M.P. Georgeff // Proceedings of the First International Conference on Multiagent Systems. — 1995. — P. 312-319.
11. Кузнецов, А. В. Мера несходства на множестве графов и её приложения / А. В. Кузнецов // Вестн. Воронеж. гос. ун-та. Сер.: Систем. анализ и информ. технологии. — 2017. — № 1. — С. 125-131.
12. Schumann, A. Foundations of mathematics under neuroscience conditions of lateral inhibition and lateral activation / A. Schumann, A. V. Kuznetsov // International Journal of Parallel, Emergent and Distributed Systems. — 2018. — Vol. 33, iss. 3. — P. 237-256.
13. Weinberg, J. B. A Single- and Multi-Dimensional Cellular Automata Approach to Robot Formation Control: [Электронный ресурс] / J.B.Weinberg, R. Mead // Proceedings of IEEE International Conference on Robotics and Automation (ICRA-08). — 2008. — URL: http://robotics.usc.edu/~rossmead/docs/2008/ 2008WeinbergMead_ICRA08.pdf (дата обращения: 01.03.2018).
14. Кузнецов, А. В. Генерация случайного ландшафта с заданной конфигурационной энтропией и Total Edge / А.В.Кузнецов // Вычисл. технологии. — 2017. — Т. 22, № 4. — С. 4-10.
Поступила в 'редакцию 27.03.2018 После переработки 05.05.2018
Сведения об авторе
Кузнецов Александр Владимирович, кандидат физико-математических наук, доцент, доцент кафедры математического и прикладного анализа, Воронежский государственный университет, Воронеж, Россия; e-mail: [email protected].
Chelyabinsk Physical and Mathematical Journal. 2018. Vol. 3, iss. 2. P. 237-248.
MODELLING OF A COMMUNICATION SYSTEM OF AGENTS MOVING THROUGH TERRAIN WITH OBSTACLES
A.V. Kuznetsov
Voronezh State University, Voronezh, Russia
The article proposes the modeling of the communication system of moving agents using interconnected two-dimensioned cellular automata that operate at different discrete times. One of the automata simulates the movement of variously organized groups of agents in the terrain with obstacles of different heights and passabilities on it. Agents tend to move in the shortest possible time, trying, at the same time, to maintain the formation, and, possibly, they have additional goals. The second automaton models the communication system of agents from the first automaton. Agents in the communication system model are communication equipment of agents from the motion model. In this cellular automaton, a column of cells corresponds to a communication channel, and every cell has parameters corresponding to the quality of the channel. We use the software environment "Psychohod" to simulate the above-mentioned automata. To organize the interaction of motion and communication models, we start two instances of the process of the "Psychohod" software. The data exchange between these processes occurs via the shared memory QSharedMemory. We demonstrate the application of the proposed model to determine the nearly linear dependence of the average number of communication breaks on the number of obstacles with the assumption that the communication requires the direct visibility of agents.
Keywords: autonomous agents, cellular automaton, motion model, communication system
model.
References
1. Kuznetsov A.V. A model of the joint motion of agents with a three-level hierarchy based on a cellular automaton. Computational Mathematics and Mathematical Physics, 2017, vol. 57, no. 2, pp. 340-349.
2. Kuznetsov A.V. A simplified combat model based on a cellular automaton. Journal of Computer and Systems Sciences International, 2017, vol. 56, no. 3, pp. 397-409.
3. Kuznetsov A.V. Model of the motion of agents with memory based on the cellular automaton. International Journal of Parallel, Emergent and Distributed Systems, 2018, vol. 33, iss. 3, pp. 290-306.
4. Kuznetsov A.V. Cellular automata-based model of group motion of agents with memory and related continuous model. International Conference on Information Technology and Nanotechnology, CEUR Workshop Proceedings, 2017, vol. 1904, pp. 223231.
5. Kuznetsov A.V. Organizatsiya stroya agentov s pomoshch'yu kletochnogo avtomata [Organization of an agents' formation through a cellular automaton]. Upravleniye bol'shimi sistemami [Large-scale systems control], 2017, iss. 70, pp. 136-167. (In Russ.).
6. Kuznetsov A.V. On the motion of agents across terrain with obstacles. Computational Mathematics and Mathematical Physics, 2018, vol. 58, no. 1, pp. 137-151.
7. Kuznetsov A.V. Mnogoagentnaya model' samoorganizatsii sistemy svyazi [Multiagent model of self-organization of the communication system]. Aktual'nye problemy prikladnoy matematiki, informatiki i mekhaniki [Actual problems of applied mathematics, informatics and mechanics], Proceedings of the International Scientific and Technical Conference. Voronezh, Voronezh State University, 2017. Pp. 747-749. (In Russ.).
The work is supported by Russian Foundation of Basic Research (grant 18-07-01240_a).
248
A. B. Ky3He^B
8. Kuznetsov A.V. Raspredeleniye ogranichennykh resursov v sisteme s ustoychivoy iyerarkhiyey (na primere perspektivnoy sistemy voyennoy svyazi) [Allocation of limited resources in a system with a stable hierarchy (on the example of prospective military communications system). Upravleniye bol'shimi sistemami [Large-scale systems control], 2017, iss. 66, pp. 68-93. (In Russ.).
9. Kuznetsov A.V., LeshchevA.S. Programmnaya sreda mnogoagentnogo modelirovaniya "Psikhokhod" [The environment of multi-agent modeling "Psychohod"]. Computer programm, register no. 2017619605, 28.08.2017. (In Russ.).
10. RaoA.S., GeorgeffM.P. BDI Agents: From Theory to Practice. Proceedings of the First International Conference on Multiagent Systems, 1995, pp. 312-319.
11. Kuznetsov A.V. Mera neskhodstva na mnozhestve grafov i yeyo prilozheniya [Dissimilarity measure on the set of graphs and its applications]. Vestnik Voronezhskogo gosudarstvennogo universiteta. Seriya: Sistemnyi analiz i informatsionnye tekhnologii [Bulletin of Voronezh State University. Series: System analysis and information technologies], 2017, no. 1, pp. 125-131.
12. Schumann A., Kuznetsov A.V. Foundations of mathematics under neuroscience conditions of lateral inhibition and lateral activation. International Journal of Parallel, Emergent and Distributed Systems, 2018, vol. 33, iss. 3, pp. 237-256.
13. Weinberg J.B., Mead R. A Single- and Multi-Dimensional Cellular Automata Approach to Robot Formation Control. Proceedings of IEEE International Conference on Robotics and Automation (ICRA-08), 2008, available at: http://robotics.usc.edu/~rossmead/docs/2008/2008WeinbergMead_ICRA08.pdf, accessed 01.03.2018.
14. Kuznetsov A.V. Generatsiya sluchaynogo landshafta s zadannoy konfiguratsionnoy entropiyey i Total Edge [Generation of a random landscape by given configuration entropy and Total Edge]. Vychislitel'nye tekhnologii [Computational technologies], 2017, vol. 22, no. 4, pp. 4-10. (In Russ.).
Accepted article received 27.03.2018 Corrections received 05.05.2018