Научная статья на тему 'Приводной клеточный автомат и алгоритм его работы'

Приводной клеточный автомат и алгоритм его работы Текст научной статьи по специальности «Математика»

CC BY
78
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
MULTIAGENT MODELING / АГЕНТ / AGENT / КЛЕТОЧНЫЙ АВТОМАТ / CELLULAR AUTOMATON / СКАЛЯРНОЕ ПОЛЕ / SCALAR FIELD / ПАССАЖИРОПОТОК / PASSENGER / ТРАНСПОРТ / TRANSPORT / МУЛЬТИАГЕНТНОЕ МОДЕЛИРОВАНИЕ

Аннотация научной статьи по математике, автор научной работы — Фомичева О.Е., Барзиков К.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DRIVE CELLULAR AUTOMATION AND ITS OPERATION ALGORITHM

In this paper the principle and the algorithm of the drive cellular automaton designed to form the scalar fields in two-dimensional model spaces of multi-agent simulation of traffic flow, developed within the dissertation design. Drive cellular automaton is a subsidiary of the model space partitioning tool in which moves agents-passengers. They formed a scalar field is to find the most appropriate agent for each track to a particular element in the model.

Текст научной работы на тему «Приводной клеточный автомат и алгоритм его работы»

© O.E. Фомичева, K.B. Барзиков, 2013

УДК 004.942, 519.876.5

О.Е. Фомичева, K.B. Барзиков

ПРИВОДНОЙ КЛЕТОЧНЫЙ АВТОМАТ И АЛГОРИТМ ЕГО РАБОТЫ

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

Ключевые слова: мультиагентное моделирование, агент, клеточный автомат, скалярное поле, пассажиропоток, транспорт.

Лля осуществления процессов моделирования транспортных систем на основе мультиагентного подхода необходимо в модельном пространстве, внутри которого движутся отдельные агенты-участники движения (пассажиры или транспортные средства) предусмотреть механизм, позволяющий каждому отдельному агенту находить наиболее оптимальный путь движения к тому объекту транспортной системы, которого ему необходимо достичь. При моделировании с использованием клеточных автоматов [2, 3] наиболее удобным представляется сформировать в модельном пространстве скалярное поле, силовые линии которого направлены от границ пространства до той или иной цели, расположенной в минимуме (или максимуме) данного поля. Также должна быть предусмотрена возможность формировать поле с учетом обхода препятствий, находящихся в модельном пространстве и соответствующих реальным препятствиям в моделируемой системе (стены, колонны, конструктивные элементы станций, переходов, транспортных узлов). В рамках диссертационного проектирования по разработке системы моделирования пассажиропотоков был разработан приводной клеточный автомат.

Приводной клеточный автомат служит для создания двухмерного скалярного поля [4] в произвольной матрице Р, при помощи которого агенты движутся к тому или иному приемни-

ку наикратчайшим путем. Скалярное поле, задается в виде значений элементов некоторой матрицы Р, так, что Р, = Щ,]), где Щ,]) - функция поля. При условии полного отсутствия препятствий и наличии точечного приемника агентов в начале координат функция поля близка к уравнению Евклидовой метрики

для плоскости Щ,]) « д/12 + ]2 (см. рис. 1) и аппроксимируется

клеточным автоматом в виде, представленном на рис. 2(а). На рис. 2(б) представлен градиентный график, выполненный оттенками серого, как более удобный при работе с клеточными полями.

Рис. 1. График функции Евклидовой метрики

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

При формировании скалярного поля элементы приводной матрицы Р могут быть рассмотрены, как элементы множества: реР= {0,1,...,к,...п}, изменение состояний элементов происходит в дискретном времени в соответствии с правилом перехода р,/(1+1)=ф(рк?1(1)1 р^/УеМ), где N - окрестность Мура, которая может быть записана, как N1 (/,/) = {рк/||/ -Ц ^ 1,|/ -1| ^ 1}, ф

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

Если р,/ = ц, где ц - некоторое вспомогательное значение, соответствующее точке модельного пространства, подлежащей обработке на данном шаге, тогда

= где Р' -вспомогательная

матрица с размерностью той же, что и Р. Затем Если р'/ = ц,

тогда 13 .-У таких, что тк1 фРг,тк, еМ

рк,1 ф ц р= 0.

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

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

о

Рис. 3. Исходное растровое изображение для формирования клеточного поля

Рис. 4. Приводная матрица, как результат работы программной реализации (для наглядности скорректирована яркость)

Рис. 5. Увеличенный фрагмент приводной матрицы

И

□ □

а п

в)

Рис. 6. Модель станции метрополитена с приемниками агентов в местах выходов: а - исходное растровое изображение; б - результат работы программы (приводная матрица); в - увеличенный фрагмент около приемника агентов

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

Учитывая, что при моделировании реально существующих транспортных систем приемники агентов будут представлены не только в виде точки, но чаще в виде протяженных объектов (линия для зоны посадки на поезд, несколько линий

а)

вввв

б)

В)

Рис. 7. Модель станции метрополитена с приемниками агентов в месте посадки на поезд: а - исходное растровое изображение; б - результат работы программы (приводная матрица); в - увеличенный фрагмент около приемника агентов

а) 61

Рис. 8. Приводные матрицы для точечных приемников агентов, построенные клеточными автоматами с окрестностью: а) Фон Неймана и б) Мура

3 = ) + 1

Рис. 9. Блок-схема алгоритма работы приводного клеточного автомата. Часть первая

Рис. 10. Блок-схема алгоритма работы приводного клеточного автомата. Часть вторая

для дверей, ворот, проходов), необходимо рассмотреть также процессы формирования скалярных полей для них. Правила перехода клеточного автомата, сформулированные выше, применимы для приемника агентов любой конфигурации. На рис. 6, 7 представлены исходное и полученное растровые изображения, описывающие произвольную станцию метрополитена, данную в масштабе 1 клетка матрицы на 0,25 кв. метра.

В некоторых случаях, например для увеличения быстродействия процесса моделирования, представляется возможным реализовать приводной клеточный автомат на окрестности

Фон Неймана NN (1,у) = {рк111/ - к| +|у -1| < 1} вместо окрестности Мура NlM (1,у) = {рк 111/ - к < 1, |у -1| < 1}. Получающиеся

при этом скалярные поля несколько отличаются от таковых при использовании окрестности Мура (см. рис. 8).

Алгоритм работы приводного клеточного автомата, правило перехода для которого было рассмотрено выше, представлен на рис. 9, 10.

- СПИСОК ЛИТЕРАТУРЫ

1. Тоффоли Т., Марголус Н. Машины клеточных автоматов. М: Мир, 1991.

2. Фомичева О. Е., Барзиков К. В. Анализ и оптимизация транспортных систем с использованием клеточных автоматов. Доклад. Первая Российская конференция «Системный анализ и семиотическое моделирование БАБМ-2011», секция N0. 4, доклад N0. 8 25 февраля 2011г.

3. Фомичева О.Е., Барзиков К.В. Анализ и оптимизация транспортных систем при помощи клеточных автоматов. Доклад. Неделя Горняка-2011, семинар N0. 15

4. Гольлфайн И.А. Векторный анализ и теория поля. — М.: Наука, 1968. ЕШ

КОРОТКО ОБ АВТОРАХ -

Фомичева O.E. — кандидат технических наук, Барзиков К.В. — аспирант,

Московский государственный горный университет, ud@msmu.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.