Научная статья на тему 'Клеточно-автоматное моделирование диффузионных процессов на триангуляционных сетках'

Клеточно-автоматное моделирование диффузионных процессов на триангуляционных сетках Текст научной статьи по специальности «Математика»

CC BY
879
169
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
КЛЕТОЧНЫЙ АВТОМАТ / ТРИАНГУЛЯЦИЯ / ДИФФУЗИЯ / РАСПРОСТРАНЕНИЕ ФРОНТА / CELLULAR AUTOMATA / TRIANGULATION / DIFFUSION / FRONT PROPAGATION

Аннотация научной статьи по математике, автор научной работы — Евсеев Алексей Алексеевич, Нечаева Ольга Игоревна

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

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

This work is devoted to the development of techniques for cellular automata simulation on triangulation grids on flat and curved surfaces. Possibilities of the proposed techniques are shown on examples of cellular automata simulation of diffusion, front propagation and diffusion-limited aggregation

Текст научной работы на тему «Клеточно-автоматное моделирование диффузионных процессов на триангуляционных сетках»

2009 Вычислительные методы в дискретной математике №4(6)

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

УДК 621.391.1:004

КЛЕТОЧНО-АВТОМАТНОЕ МОДЕЛИРОВАНИЕ ДИФФУЗИОННЫХ ПРОЦЕССОВ НА ТРИАНГУЛЯЦИОННЫХ СЕТКАХ

А. А. Евсеев, О. И. Нечаева Новосибирский государственный университет, г. Новосибирск, Россия E-mail: [email protected]

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

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

Введение

Большинство клеточно-автоматных (КА) моделей создаются для прямоугольных сеток на плоскости [1, 2]. Целью данной работы является построение и изучение клеточных автоматов на различных триангуляционных сетках, что сделало возможным реализацию клеточных автоматов и наблюдение процессов на криволинейных поверхностях в трёхмерном пространстве. Кроме того, появляется возможность КА-модели-рования на «реальных» моделях объектов любой формы, например на адаптивных неструктурированных сетках. При таком подходе сразу же учитывается геометрия объектов. Нельзя не обратить внимание на широкое распространение триангуляционных сеток и их доступность с появлением технологии лазерного сканирования.

1. Клеточные автоматы на триангуляции

1.1. Постановка задачи

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

Такой подход даёт возможности строить КА на произвольных криволинейных поверхностях и наблюдать за их эволюцией непосредственно на исследуемой поверхности. Целью данной работы является:

1) построение методов КА-моделирования на триангуляционных сетках;

2) исследование влияния параметров сетки на результат работы КА;

3) сравнение КА на триангуляционных сетках с КА на прямоугольных сетках;

4) построение КА для процесса диффузии, диффузионного распространения фронта концентрации вещества и агрегации, ограниченной диффузией на триангуляции;

5) разработка программного пакета для моделирования.

1.2. Основные определения

Для КА-моделирования на триангуляции требуется ввести несколько понятий. Пусть

A — алфавит, состояний, например, Ab = {0,1} — булев алфавит, Ar = [0,1] —вещественный алфавит;

M — множество имён клеток, например, M = {mi : i = 1,... , N};

клетка —пара (a,m), где a £ A,m £ M, а называется состоянием клетки (обозначается a(m));

клеточный массив — множество клеток Q = {(a(m),m) : m £ M}.

Каждому треугольнику из триангуляции соответствует клетка. Таким образом, всей триангуляции соответствует клеточный массив.

Шаблон соседства для клетки (a,m) —это множество имён клеток, обычно близлежащих к данной клетке. Например, для триангуляционной сетки две клетки будут считаться соседними, если соответствующие им треугольники имеют общую сторону. Таким образом, у каждого треугольника может быть не более трёх соседей (рис. 1).

Рис. 1. Шаблон соседства для триангуляционной сетки Т = {ш0,ш1,ш2,ш3}

Чтобы не задавать шаблон перебором, вводится именующая функция на множестве М. Каждая именующая функция клетки (а,т0) указывает на имя одного из соседей этой клетки:

т1 = <^1(то), т-2 = ^2 (то),

тз = ^з(то).

Тогда шаблон задается так: Т = {т0, <£1(т0), <^2(т0), ^3(т0)}.

Правило перехода — это некоторая функция, которая определяет новое состояние клетки в зависимости от её текущего состояния, от клеток с именами из Т или от каких-либо других величин (например, вероятностей), причём для всех клеток эта функция одинакова.

Синхронный режим функционирования КА — правило перехода применяется одновременно ко всем клеткам клеточного массива.

Асинхронный режим функционирования КА — из клеточного массива случайным образом выбирается клетка, и к ней применяется правило перехода.

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

Операция осреднения очень часто применяется для КА над булевым алфавитом для получения вещественных значений — вычисляется среднее значение по некоторой окрестности каждой клетки

где Тау С М — некоторая область осреднения.

Дискретизация является обратной операцией к осреднению: по вещественным значениям строится булев массив, при этом полагается

где rand — случайное число из [0,1], a £ [0,1].

1.3. Особенности использования триангуляции в КА Следует заметить, что треугольники в триангуляции могут быть разные по площади и не обязательно равносторонние, в отличие от квадратов в прямоугольных сетках. Это необходимо учитывать при исследовании некоторых клеточных автоматов. Например, в асинхронном КА на прямоугольной сетке из квадратов выбор случайной клетки на одной итерации имеет равномерное распределение. Для получения независимости от используемой сетки выбор случайного треугольника на триангуляции нужно производить, основываясь на его площади; более мелкие частицы (треугольники с меньшей площадью) быстрее вступают в процесс, таким образом, чем меньше площадь, тем с большей вероятностью этот треугольник должен выбираться в качестве случайного.

Ещё один аспект, который хотелось бы осветить, — это замыкание границ в прямоугольных сетках. Ввиду простой структуры, края прямоугольных сеток очень часто замыкают, тем самым образуя тор. На триангуляции (в плоском случае) такой возможности нет ввиду возможной сложности области. При рассмотрении конкретных КА на триангуляции в данной работе возможность замыкания границ игнорируется. Это объясняется тем, что плоский случай обычно не представляет интереса, а для криволинейных поверхностей в трёхмерном пространстве очень часто рассматривается замкнутая триангуляция (у которой отсутствуют граничные треугольники). Треугольник считается граничным, если он имеет менее трёх соседей, иначе — внутренним.

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

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

2.1. Основной алгоритм КА-диффузии н а п р я м о у г о л ь н ы х с е т к а х Диффузия — процесс беспорядочного блуждания частиц, который приводит к выравниванию концентрации вещества в пространстве. В двумерном непрерывном случае при постоянном коэффициенте диффузии d процесс описывается уравнением Лапласа

< a >= Е a(mi),

lTav| m^GTav

av 1 mi GTav

(1)

a

1, если rand < a, 0, если rand ^ a,

(2)

где и(х,у,і) — концентрация вещества в точке декартова пространства с координатами х, у в момент времени і. Классические КА-модели диффузии имеют булев алфавит

и эволюцию в виде последовательности булевых массивов. Состояния клеток (0 или 1) определяют наличие или отсутствие единицы массы, которая не наделена скоростью. КА-диффузия на прямоугольных сетках уже довольно хорошо изучена [3].

Одной из КА-моделей диффузии является наивная диффузия [4]. Это наиболее примитивная модель диффузии, которая непосредственным образом отображает представление о процессе как о блуждании частиц в стремлении выровнять концентрацию вещества в пространстве. Режим функционирования КА — асинхронный, что вполне соответствует природе процесса. Окрестностью клетки являются её ближайшие четыре соседа. Правило функционирования таково, что на каждой итерации выбирается случайная ячейка, которая меняется своим значением равновероятно с одним из своих соседей. При таком правиле видно выполнение закона сохранения масс, а случайный выбор одного из соседей соответствует беспорядочному блужданию частиц в соответствии с определением процесса диффузии.

Ещё одна из моделей КА-диффузии — КА-диффузия с окрестностью Марголу-са [4]. Для краткости будем называть ее ТМ-диффузией по первым буквам фамилий её авторов, как это принято в западной литературе. ТМ-диффузия является более популярной, чем наивная диффузия, по двум причинам. Во-первых, потому, что она обладает свойством, которое в математике называют «элегантностью», то есть сочетанием простоты и эффективности. Во-вторых, существует строгое математическое доказательство, что она аппроксимирует оператор Лапласа [5]. Клеточный массив разбивают на два подмножества, каждое из этих подмножеств состоит из блоков, содержащих четыре клетки. Функционирование КА происходит в двухтактном синхронном режиме. Каждая итерация делится на два такта. На чётных тактах правила перехода применяются к чётным блокам, на нечётных — к нечётным. Правила перехода таковы, что выполняют сдвиг состояний в клетках блока равновероятно по часовой стрелке или против часовой стрелки. Уменьшая р и манипулируя значениями шагов во времени и пространстве, можно моделировать процесс диффузии с коэффициентом в широком диапазоне [1].

Проверить тот факт, что КА действительно моделирует диффузию, можно двумя путями: аналитически и экспериментально. Аналитическое доказательство построено только для одной КА-модели — ТМ-диффузии. Экспериментальное доказательство состоит в выполнении процесса моделирования и сравнении эволюции КА с решением уравнения на некотором наборе итераций.

2.2. Диффузионное распространение фронта н а п р я м о у г о л ь н ы х с е т к а х

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

Последовательность правил в КА распространения фронта:

1) проводится одна глобальная итерация диффузии;

2) полученный массив осредняется по формуле (1);

3) добавляется поток: в каждой клетке значение концентрации и заменяется на значение 0,5и(1 — и);

4) производится дискретизация по формуле (2).

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

3. КА-диффузия на триангуляции в плоскости

3.1. Основной алгоритм КА-диффузии н а т р и а н г у л я ц и и в п л о с к о с т и Пусть сетка состоит из равносторонних треугольников. Воспользуемся введёнными основными определениями относительно клеточных автоматов на триангуляции. Правило функционирования КА будет аналогичным случаю на прямоугольной сетке, только вероятность выбора одного из соседей станет 1/3. Тестирование работы клеточного автомата проводится над булевым алфавитом. В начальный момент времени в середине сетки вводится несколько рядом расположенных частиц. На рис. 2 представлена работа автомата (плоскость отмечена серым ттве-том). Как видно из рисунков, частицы распространились равномерно во все стороны. Таким образом, наблюдается визуальная аналогия с КА на прямоугольной сетке (более формальное сравнение будет произведено ниже). Такой эффект был достигнут благодаря тому, что все треугольники одинаковые (равносторонние). Но так как поставленная задача состоит в том, чтобы отойти от ограничений на используемую сетку, в ходе работы были подобраны правила функционирования клеточного автомата для произвольной сетки. Сосед по меньшей длине стороны треугольника выбирается вероятнее, чем по большей. Таким образом, вероятности выбора соседа относительно длины стороны будут выглядеть следующим образом:

1/1еп^

Е

г=1

где 1еп^Ьг — длина соответствующей стороны в треугольнике.

¡¡Г'' а) 0 итераций ' 7 ? • 6) 100 итераций

. . .. - — ■ ■ -в) 200 итераций 8Л;к-"':: / г) 300 итераций

В качестве примера рассмотрим КА-диффузию на неструктурированной сетке (рис. 3).

: ара) 0 итераций б)25 итераций

■ '-¿V. . У - '• «* ' в) 124 итерации -V * ■ • . ' 1 г.‘* ’ • ■?; '■ > . ■'; : * 1 : г) 335 итераций

Рис. 3. Процесс диффузии на адаптивной сетке

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

3.2. Осреднение в КА-диффузии н а т р и а н г у л я ц и и в п л о с к о с т и Опишем алгоритм осреднения по окружности для клеточных автоматов на триангуляционных сетках. Рассматривается центр каждого треугольника из триангуляции и проводится окружность некоторого радиуса из этого центра. Затем подсчитывается общее количество клеток, попавших в эту окружность,—питОЛла^1ез1пСкс1е и количество клеток в состоянии 1—питОГРаг11с1еэ. Таким образом, значение концентрации будет определяться формулой

питОГРаг^скэ

и =--------------------- (4)

питОЛла^1ез1пСкс1е ’

где питОЛпа^1ев1пС^с1е = 0 вне зависимости от значения радиуса, так как рассматриваемый треугольник заведомо лежит в этой окружности. Если соответствующим образом подобрать значение радиуса окружности, проводимой для осреднения, то получается наглядная картина (рис. 4).

Недостаток этого алгоритма в его вычислительной сложности, составляющей 0(М2), где N — количество треугольников в триангуляции. В связи с этим рассматривается ещё один алгоритм осреднения с гораздо меньшей вычислительной трудоёмкостью — осреднение по ближайшим соседям. Суть этого алгоритма заключается в рассмотрении лишь соседних клеток и проведении среди них подсчёта клеток, находящихся в состоянии 1. Состояние самой клетки, для которой проводится осреднение, тоже влияет на значение питОГРаг^скэ:

питОГРаг^скэ

и =__________________ (5)

numOfNeighbors + 1 ’

где numOfNeighbors — количество соседей, numOfNeighbors Є {0,1, 2, 3}.

(В - а) 0 итераций И ~ б) 100 итераций

в) 200 итераций г) 300 итераций

Рис. 4. Процесс диффузии с осреднением по окружности

При таком подходе возможных значений концентрации становится всего лишь 7:

0, 1/4, 1/3, 1/2, 2/3, 3/4, 1. Зато вычислительная сложность этого алгоритма 0(М), где N — количество треугольников в триангуляции. Такого выигрыша удалось добиться за счёт введения именующей функции, которая по данному треугольнику возвращает трёх его соседей.

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

Этот алгоритм можно распространить на соседство порядка 2, то есть включать в рассмотрение соседей второго уровня. Тогда получится более гладкая картина. Аналогичным образом можно распространить алгоритм на соседство порядка п.

3.3. Сравнение КА-диффузии на триангуляции с КА-диффузией на прямоугольных сетках Введём критерий соответствия построенного КА клеточным автоматам на прямоугольных сетках. Ввиду существования модели КА-диффузии лишь для плоского случая, сравнение возможно только с ним. В качестве сетки рассматривается квадратная область, заданная равносторонними треугольниками. Так как диффузия — процесс беспорядочного блуждания частиц, то сравнение автоматов над булевым алфавитом не представляет интереса. Рассматриваются автоматы с осреднением по окружности. На рис. 6 иллюстрируется сравнение вещественных значений концентрации

(6)

где М0,Мі,М2 — значения концентрации, соответствующие клетке.

и,

Рис. 6. Сравнение концентраций на прямоугольной и квадратной сетках

Таким образом, одному значению концентрации в квадратной сетке ставится в соответствие среднее арифметическое концентраций двух соседних клеток в триангуляционной сетке. При таком подходе количество клеток в клеточном массиве на триангуляционной сетке в два раза больше, чем на квадратной. Так как клеток больше, то очень часто в качестве случайной клетки выбирается пустая, которая впоследствии, с большой вероятностью, также меняется с пустой клеткой. Это приводит к тому, что непустые клетки выбираются реже, следовательно, процесс диффузии идёт медленнее, а концентрация вещества выше. Для соответствия значений концентраций на триангуляционной сетке проводится в два раза больше итераций. Сравнение проводится по клеткам, расположенным на горизонтальной средней линии в клеточных массивах. Для наглядности на рис. 7 приводятся также графики нормального распределения, отражающие аналитическое решение уравнения Лапласа.

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

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

Рис. 7. Результаты сравнения КА-диффузии на триангуляции (число итераций увеличено в два раза) с КА на квадратной сетке и графики нормального распределения

4. КА-диффузия на триангуляции (криволинейная поверхность)

4.1. Основной алгоритм КА-диффузии на триангуляции

(криволинейная поверхность)

Имея полный инструментарий для дальнейшего исследования, приступим к изучению поведения КА на криволинейных поверхностях в трёхмерном пространстве. Единственную трудность в этом случае представляет операция осреднения по окружности. Если проводить сферу из центра треугольника, то соответствия не получится: в сферу могут попасть клетки, расположенные на противоположной стороне сетки, что неприемлемо. Для получения вещественных значений концентрации вещества можно использовать осреднение по ближайшим соседям. В качестве сетки рассматривается поверхность кости, заданная триангуляцией [7]. В начальный момент времени вносится концентрация в небольшой участок кости (рис. 8). Как видно из рисунков, по прошествии некоторого времени частицы распространились равномерно по всей поверхности кости. Причём в ходе работы клеточного автомата частицы расходились во все стороны одинаково. Построенный автомат естественно отразил физический процесс на сложной поверхности.

а) 0 итераций . '"V- ^ ^ " Г- . Л / 6) 732 итерации

в) 1464 итерации г) 10000 итераций

Рис. 8. Процесс диффузии на кости

4.2. Диффузионное распространение фронта н а к р и в о л и н е й н о й п о в е р х н о с т и Далее рассматривается клеточный автомат распространения фронта на триангуляции. В качестве сетки вновь берётся поверхность кости с начальным состоянием, как и в п. 4.1. Процесс диффузионного распространения фронта на такой сетке можно интерпретировать как распространение некоего воспаления из локального участка на всю поверхность кости (рис. 9).

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

4.3. Агрегация, ограниченная диффузией, на триангуляции

(криволинейная поверхность)

Последним из рассматриваемых в данной работе клеточных автоматов является КА агрегации, ограниченной диффузией.

В начальном состоянии 10 % частиц случайным образом разбросаны по всей сетке. Одна клетка является «источником», она имеет другой цвет и обездвижена. Необез-движенные частицы двигаются в случайных направлениях, но при соприкосновении с обездвиженной они перестают двигаться и перекрашиваются. Результат работы КА приведён на рис. 10.

Рис. 10. Процесс агрегации, ограниченной диффузией, на кости

4.4. О б л а с т и п р и м е н е н и я Как отмечалось выше, область применения не ограничивается моделированием чисто физических процессов. КА-диффузия может быть использована во многих областях, вплоть до компьютерных игр и обработки изображений. Отличие может быть только в интерпретации данного процесса в конкретном случае его применения. В моделировании распространения каких-либо жидкостей или газов очень часто одной из составляющей процесса является именно диффузия. Таким образом, полученные результаты могут быть применены для построения более сложных композиционных КА, в которых одним из правил перехода будет диффузия.

Заключение

Были получены аналоги клеточно-автоматной диффузии, ограниченной диффузии и диффузионного распространения фронта для произвольной криволинейной поверхности в трёхмерном пространстве, заданной триангуляцией. Полученные результаты качественно не уступают КА на прямоугольных сетках и могут служить хорошей основой для моделирования различных процессов. Из приведённых выше рассуждений

можно сделать вывод, что применение КА-диффузии не ограничивается физическими процессами, а может трактоваться по-разному в зависимости от исследуемой задачи. Так, например, приведённый пример с распространением воспаления по кости может быть использован в медицине. Отметим важность композиционных клеточных автоматов: в большинстве моделей пространственной динамики присутствует диффузионная составляющая (примером может служить рассмотренный процесс диффузионного распространения фронта). Приведённые алгоритмы могут быть применены для других клеточно-автоматных моделей.

ЛИТЕРАТУРА

1. Бандман О. Л. Клеточно-автоматные модели пространственной динамики // Системная информатика. 2006. №10. С. 59-113.

2. Wolfram S. A new kind of science. Champaign, 111., USA: Wolfram Media Inc., 2002.

3. Bandman O. Comparative Study of Cellular automata Diffusion Models // LNCS. 1999. No. 1662 (V. Malyshkin, ed.). P. 395-399.

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

5. Малинецкий Г. Г., Степанцов М. Е. Моделирование диффузионных процессов клеточными автоматами с окрестностью Марголуса // Журн. вычислит. матем. и математич. физ. 1998. Т. 36. №6. С. 1017-1021.

6. Bandman O. L. Cellular Automata composition techniques for spatial dynamics simulation // Bulletin of the Novosibirsk Computing Center. 2008. No. 27. С. 1-40.

7. Helwig P., Faust G. Finite element analysis of a bone-implant system with the proximal femur nail // Technol. Health Care. 2006. V. 14. No. 4-5. P. 411-419.

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