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

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

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

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

Рис. 4. Зависимость количества живых клеток в популяции от фрактальной размерности ее изображения при расположении клеток - шестнадцать определенных ячеек и .0 = 100; . = 1;

= 0; п = 0,05; т = 100; ті = 10. Сплошная линия - данные вычислительного эксперимента, пунктирная линия - аппроксимация кинетической кривой, полученная по формуле (1)

ЛИТЕРАТУРА

Слетков Д.В., Арзамасцев А.А. Дискретная математическая модель формообразования колонии микроорганизмов, растущих на плоскости // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2005. Т. 10. Вып. 2. С. 193-195.

Слетков Д.В., Арзамасцев А.А. Морфология и кинетика роста колоний микроорганизмов на плоскости. Результаты вычислительного эксперимента // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2005. Т. 10. Вып. 3. С. 277-291.

Matsuyama T., Matsushita M. Self-similar colony morphogenesis by gram-negative rods as the experimental model of fractal growth by a cell population // Appl. and Env. Microbiol. 1993. V. 58. P. 12271232.

Арзамасцев, А.А., Слетков Д.В., Исаева И.Ю. Связь морфологического параметра с основными характеристиками роста популяции микроорганизмов // Электронный журнал «Исследовано в России». 2003. 178. C. 2150-2156. Режим доступа: http://

zhurnal.ape.relarn.ru/articles/2003/178.pdf. Загл. с экрана.

Арзамасцев А.А., Слетков Д.В., Ушакова Е.В., Исаева И.В. О существовании зависимости фрактальной размерности изображений биологических объектов от их морфологических характеристик / А.А. Арзамасцев, // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2003. Т. 8. Вып. 1. C. 189-190.

Поступила в редакцию 20 декабря 2007 г.

1.

2.

3.

4.

5.

УНИВЕРСАЛЬНЫЙ СИМУЛЯТОР НА ОСНОВЕ КЛЕТОЧНОГО АВТОМАТА

© О.А. Соломина, А.А. Арзамасцев

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

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

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

Для более подробного знакомства с этими моделями необходимо вначале ввести связанную с ними терминологию и оговорить особенности их построения.

Физическое пространство в них представлено равномерной сеткой. Ячейка пространственной сетки но-

сит название клетки, а сама сетка называется полем клеточного автомата.

Соседями данной клетки называются клетки, расположенные рядом с ней, причем здесь есть терминологический произвол - понятие "рядом" определяется для каждого конкретного клеточного автомата по-своему. Набор соседей и их расположение относительно данной клетки образуют окрестность.

Каждая клетка содержит некоторое количество битов информации. Совокупность значений этих битов называется состоянием клетки.

Время в этих системах дискретно, шаг по времени не меняется.

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

На практике необходимо задавать границы поля клеточного автомата и, соответственно, особые правила для пограничных клеток. Этот вопрос решается в каждом конкретном случае [1-2].

Универсальный симулятор оперирует заданным набором параметров и системой «правил», характерных для реальных объектов, и позволяет моделировать различные ситуации и явления.

Основные положения, на которых базируется универсальный симулятор:

1. Область существования объектов - ограниченная часть плоскости с нанесенной дискретной сеткой, которая представляет собой квадратную матрицу, состоящую из ячеек, размером NxN. В качестве N может быть задано любое натуральное число.

2. Единицей времени является одна итерация. Отсчет времени начинается с нуля итераций. Все временные параметры задаются в количестве итераций.

3. Все объекты разделяются на типы. В модели может быть неограниченное количество типов объектов и неограниченное количество объектов каждого типа.

4. Для каждого типа объектов существует система правил, по которым живут объекты на протяжении всей жизни. Если для одного типа объектов задается несколько правил, то расставляются приоритеты начиная с 0 на каждое правило. Правило со старшим приоритетом выполняется в первую очередь.

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

6. Диапазон обзора объекта задается количеством ячеек и представляет собой то расстояние, на котором заданный объект способен «видеть» другие объекты.

7. Перемещения. На протяжении всей жизни объекты либо перемещаются, либо нет. Перемещение объекта происходит в одну из незанятых ячеек с заданным шагом. Шаг представляет собой то количество ячеек, которое объект проходит за 1 итерацию. Перемещение может быть определено как самостоятельное, так и при взаимодействии с другими объектами. Самостоятельное перемещение может осуществляться в произвольном направлении и в заданном. Перемещение объекта при взаимодействии с другими объектами: «от объекта» и «к объекту» осуществляется, если в его диапазон обзора попадает объект заданного типа, в противном случает объект перемещается в случайном направлении. Если в диапазон обзора попадает несколько объектов заданного типа, то перемещение осуществляется в зависимости от направления перемещения ближайшего объекта. Перемещение «от объекта» задается либо в произвольном направлении, либо в заданном, либо в сторону объекта определенного типа (в случае, когда в диапазоне обзора нет «дружественного» объекта, перемещение от объекта происходит в произвольном направлении).

8. Максимальная продолжительность жизни задается числом итераций. По истечению заданного количества итераций объект умирает, и ячейка, которую он занимал, становиться свободной.

9. Удаление объекта происходит как при взаимодействии с объектом заданного типа, когда тот находится в одной из соседних ячеек, так и в случае отсутствия объектов определенного типа (задается коэффициент скорости умирания объекта - число, на которое уменьшается продолжительность жизни через каждую итерацию).

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

к времени жизни объекта в процентах. Объект появляется только в соседней свободной ячейке. При наличии нескольких свободных ячеек новый объект занимает одну из них, выбранную случайным образом. Если рядом нет свободных ячеек, порождения не происходит.

11. Период регенерации объектов задается промежутком времени (количеством итераций), через который будут появляться объекты. Задается количество появляющихся объектов за 1 итерацию. Причем это количество можно неоднократно менять по прошествии определенного числа итераций. Ячейки, которые занимают новые объекты, выбираются случайным образом.

12. В области существования объектов возможно построение «мертвых» зон. «Мертвая» зона - ограниченная часть сетки, в которой невозможно появления объектов как при порождении и регенерации, так и при перемещении. Количество зон неограниченно. Зоны представляют собой выпуклый многоугольник и задаются координатами вершин. Зона, представляющая собой невыпуклый многоугольник, задается несколькими выпуклыми многоугольниками, имеющими общую сторону. Указывается и время (номер итерации), через которое появится зона на сетке. Объекты, находящиеся в той части сетки, где должна быть мертвая зона, во время ее появления удаляются. «Мертвые» зоны могут стать зонами «притяжения», если им задать приоритет притяжения (начиная с 0). Чем выше приоритет, тем сильнее притяжение. Зоны «притяжения» влияют на расположение объектов при регенерации. Объекты появляются в радиусе притяжения зоны, пока не заполнят все свободные ячейки в этом радиусе и не почувствуют притяжения другой зоны. Также возможно задание точки привязки (через координаты этой точки), представляющей собой точку, от которой начинается регенерация объектов. Несколько зон могут иметь один и тот же приоритет, и вероятность появление новых объектов в радиусах притяжения всех этих зон будет одинакова. Радиус притяжения начинает действовать с момента появления зоны на сетке. В случае, когда влияния зон больше нет, объекты заполняют ячейки, являющиеся соседними к уже занятым.

Универсальный симулятор реализован в виде программного комплекса в среде разработки C++ Builder . На рис. 1 представлен внешний вид программной реализации.

аг

Рис. 1. Окно программы универсального симулятора

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

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

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

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

ЛИТЕРАТУРА

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

2. Gilbert N., Troizsch K. Simulation for Social Scientist. Open University Press, 2006.

Поступила в редакцию 21 декабря 2007 г.

МОДЕЛИРОВАНИЕ ДИНАМИКИ РОСТА ГОРОДСКОЙ ЗАСТРОЙКИ НА ОСНОВЕ КЛЕТОЧНОГО АВТОМАТА

© О.А. Соломина, А.А. Арзамасцев

Целью данной работы является разработка модели динамики роста города. Исследование пространственной организации города осуществляется с помощью универсального симулятора на основе клеточного автомата [1].

В качестве примера рассматривается динамика застройки территории города Тамбова.

При моделировании использовали данные, полученные из [2-3].

Начальные условия и параметры. Будем использовать сетку размером 110x110 ячеек. Имеется 1 тип объектов - «объект застройки». Количество объектов в начальный момент времени 10. Универсальный симулятор позволяет задавать способность к перемещению и взаимодействию. В данном случае объекты не перемещаются и не взаимодействуют между собой. Диапазон обзора не задаем. Продолжительность жизни 200-400.

Наиболее вероятностным подходом к рассмотрению хронологической последовательности расширения городской территории является учет ландшафтных особенностей местоположения города. Поэтому «мертвые» зоны, обозначающие реки, водоемы и места, непригодные для строительства по своим топографическим особенностям, появляются на сетке с 0 итерации. В данном случае это будут зоны, обозначающие Тамбовское водохранилище, канал реки Цны, река Студе-нец и часть сетки справа от канала реки Цны (т.к. правый берег реки Цны был низменным и заливным и не мог служить строительной площадкой). Для обозначения парков, искусственных водоемов, кладбищ и других мест, в которых строительство не будет вестись, также используются «мертвые» зоны.

Для соблюдения масштаба используется карта Тамбова и зоны строятся с учетом того, что сторона каждой ячейки составляет 87,5 м. Начало координат находится в верхнем левом углу сетки. Каждый узел сетки имеет свои координаты. Шаг сетки в координатах равен 1.

Точку привязки, обозначающую место начала строительства крепости, зададим координатами (75, 51).

Одна итерация в реальном времени будет соответствовать 1 году. Отсчет ведется с 0 итерации, которая соответствует дате основания Тамбова - 1636 году.

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

Строительство линии ж/д дороги Москва-Саратов, прошедшей через Тамбов, в конце 1860-х гг. оказало несомненное влияние на последующий характер формирования городской планировки. Для обозначения железной дороги также будем использовать зоны и задавать им приоритеты следующие по старшинству.

Для управления темпами застройки территории воспользуемся тем, что при задании параметров регенерации объектов можно задавать количество объектов, появившихся за 1 итерацию, и менять это количество с определенного номера итерации. Начиная со 154 итерации (соответствующей 1790 году) увеличим количество объектов, появляющихся за 1 итерацию.

Для проверки адекватности данной модели рассмотрим соответствие результатов, полученных при моделировании, имеющимся планам города Тамбова (рис. 1).

Как видно из приведенных выше рисунков, данная модель позволяет получить достаточно достоверную информацию о динамике роста территории города.

ЛИТЕРАТУРА

1. Соломина О.А., Арзамасцев А.А. Универсального симулятор на основе клеточного автомата // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2008. Т. 13. Вып. 1. С. 109-111.

2. Пирожкова И.Г. Планы Тамбова в XIX в. // Гуманитарные науки: проблемы и решения: сб. науч. ст. / под ред. А.А. Слезина. СПб.: Нестор, 2003.

3. Горелов А.А. Историко-географические факторы застройки южной части г. Тамбова (1636 г. - нач. XX века) // Гуманитарные науки: проблемы м решения: сб. науч. ст. / под ред. А.А. Слезина. СПб.: Нестор, 2003.

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