УДК 004.942
А.М. Батюков, Н.Б. Ампилова
модифицированный алгоритм моделирования агрегации,
ограниченной диффузией
A.M. Batyukov, N.B. Ampilova а modified diffusion-limited aggregation modelling algorithm
Рассмотрен метод моделирования процессов агрегации, ограниченной диффузией (DLA), основанный на броуновском движении частиц по узлам решетки на плоскости. Реализован базовый метод, отслеживающий блуждание по решетке последовательно бросаемых частиц. Разработана и реализована оптимизация этого метода, основанная на априорной оценке коэффициентов выбора для брошенной на плоскость частицы. Приведены результаты численных экспериментов.
АГРЕГАЦИЯ, ОГРАНИЧЕННАЯ ДИФФУЗИЕЙ. ФРАКТАЛЬНЫЙ КЛАСТЕР. БРОУНОВСКОЕ ДВИЖЕНИЕ.
For processes of diffusion-limited aggregation (DLA) a simulation method based on Brownian motion of particles on a plane lattice has been considered. The basic method to trace the walking of sequentially dropped particles has been realized. The optimized method using a priori estimation of particle selection coefficients has been designed and implemented. The results of numerical experiments are given.
DIFFUSION-LIMITED AGGREGATION (DLA). FRACTAL CLUSTER. BROWNIAN MOTION.
Как показывают многочисленные исследования, многие процессы, происходящие в природе и обществе, обладают хаотической динамикой, которая характеризуется возникновением фрактальных структур. Эти структуры необычайно разнообразны: от строгого самоподобия до статистического (неполная повторяемость). Последние часто называют хаотическими фракталами.
Важный класс среди хаотических фракталов составляют т. н. фрактальные кластеры — класс физических объектов, плотность которых уменьшается по мере роста с увеличением размера кластера. Исследование фрактальных кластеров началось с появления теоретической модели агрегации, ограниченной диффузией (diffusion limited aggregation — DLA), которая описывает агрегацию частиц в условиях их случайного блуждания. Потом были предложены и другие модели — cluster-cluster aggregation (CCA) и ее модификации, основанные на различных вероятностях прилипания частиц к кластеру. Их подробный обзор можно найти в [4].
Модель БЬЛ оказалась применимой для имитационного моделирования различных явлений: осаждение металла при электролизе, электрический разряд при пробое диэлектрика, диффузионные процессы в жидкости. В работе [5] эта модель использована для имитации роста минеральных дендритов, бактериальных колоний, а также образования кластера при высыхании на стекле коллоидного раствора.
Описание базовой модели. Мы рассматриваем модель БЬЛ, предложенную Э. Пинским в [1]. Согласно этой модели блуждание частиц происходит по линиям дискретной прямоугольной сетки. Кроме того, предполагается, что частицы присоединяются к агрегату последовательно, одна за другой. Процесс построения агрегата начинается с единственной частицы, входящей в агрегат и располагающейся в начале координат прямоугольной сетки. Случайным образом вычисляется первоначальное положение другой частицы. Вторая частица начинает блуждание по линиям сетки, при этом на каждом шаге может переместиться
4
на единицу вправо, либо влево, вверх или вниз относительно текущего положения на координатной сетке. Блуждание продолжается до тех пор, пока частица не окажется соседней с какой-либо из частиц, входящих в агрегат. В соответствии с некоторым коэффициентом, называемым коэффициентом прилипания, определяется, остановится ли частица или продолжит свое блуждание по сетке. Остановившаяся частица соединяется отрезком с агрегатом и, начиная с этого момента, входит в него. После этого происходит бросание новой частицы. Описанный процесс повторяется многократно.
При практической реализации описанного алгоритма обычно вводят некоторые дополнительные ограничения. Так, точки бросают на плоскость случайным образом в некоторую ограниченную окрестность агрегата. Если точка при блуждании отходит слишком далеко от агрегата, ее отбрасывают. Кроме того, ограничивают число шагов при блуждании: точка не присоединяется к агрегату, если число шагов превышает некоторый заданный параметр.
Возможна реализация алгоритма с различными значениями коэффициента прилипания, для простоты мы рассматриваем случай, когда при приближении точки к агрегату она присоединяется к нему с вероятностью, равной единице.
Реализация базовой модели. При моделировании процесса агрегации, ограниченной диффузией, реализованы алгоритмы с
Рис. 1. Результат моделирования по базовому алгоритму, 10 ООО бросаний
(X 4 ■ й, V +- ь
1
/ 1 \
'У г
к -
V кЛ
и- у)
1 1 |
1 |
1 1
Рис. 2. Моделирование процесса DLA на прямоугольной решетке
описанными выше ограничениями:
отбрасывание точек, удалившихся от агрегата в результате блуждания на расстояние, большее заданного параметра;
отбрасывание точек, которые после 500 шагов не присоединились к агрегату.
Для каждого из алгоритмов проведена серия испытаний, в каждом из которых на плоскость бросали по 10 000 точек. Пример результата моделирования представлен на рис. 1. Среднее число точек в конечном агрегате для первого алгоритма равно 2034, время расчета составило около 40 ч. Среднее число точек в конечном агрегате для второго алгоритма равно 1357, время расчета составило около 20 ч.
Оптимизация базовой модели. Большое значение времени расчета объясняется большим числом обрабатываемых данных: число точек велико и, кроме того, траектория блуждания каждой точки может быть достаточно длинной. Заметим, что согласно работе [3] О.Н. Граничина, рассматриваемые нами алгоритмы представляют собой классический пример детерминированных алгоритмов, обрабатывающих большие объемы данных. Их можно ускорить за счет перехода к решению упрощенной задачи с частичной информацией.
Обратимся к рис. 2, на котором показан шаг процесса блужданий. Предположим, что при бросании частицы на координатную сетку ее координаты оказались равны (х + а, у + Ь). Сделаем оценку того, что дан-
ная частица присоединится к точке агрегата с координатами (х, у). Если при блуждании частицы по плоскости она сделала п шагов в сторону от точки (х, у) по оси абсцисс, то чтобы попасть в (х, у) частица должна сделать (п + a) шагов в сторону точки (х, у). Соответственно, если при блуждании частица сделала m шагов в сторону от точки (х, у) по оси ординат, то она должна сделать (ж + Ь) шагов в сторону точки (х, у). На каждом шаге блуждания сторона следующего перехода определяется равновероятно между четырьмя вариантами. Это позволяет написать следующую оценку того, что через (2п + a + 2m + Ь) шагов координатами блуждающей точки окажутся (х, у): 1
4« 4П+ а 4т 4т+Ь
Число шагов, через которые блуждающая точка попадет в (х, у), определяется значениями п и m. Классы траекторий, определяемых конкретными значениями п и m, представляют собой разбиение множества всех траекторий на непересекающиеся классы. Поэтому, чтобы получить оценку для всего множества траекторий, подсчитаем сумму ряда:
да да 1
уу- лп лп+ а лт л т+Ь т=0 п=0 4 4 4 4
да да 1
УУ
т=0п=0 1
да да 1
4-УУ 1
а + Ь / 1 / 1 л гп + т т=0 п=0 16
~у16т у16п =115
Полученное значение дает верхнюю оценку величины, определяющей среднюю скорость, с которой блуждающая точка с координатами (х + a, у + Ь) может попасть в точку (х, у). Назовем эту величину коэффициентом выбора и положим Р(а, Ь)~ 1+Ь).
Полученный коэффициент выбора зависит только от первоначального взаиморасположения брошенной точки и точки агрегата (параметры a и Ь — расстояние между точками по соответствующим осям координат). Это позволяет для брошенной
на плоскость частицы априори вычислить коэффициент выбора для каждой из граничных точек агрегата. Для определения, к какой точке агрегата присоединится блуждающая точка, поступаем следующим образом. Каждой граничной точке сопоставляем отрезок, длина которого — коэффициент выбора для этой точки. Из всех таких отрезков составляем один общий отрезок суммарной длины. Производим случайное бросание точки на этот общий отрезок. Тот из составляющих отрезков, в который попала точка, и определяет, к какой из граничных точек агрегата присоединится блуждающая точка.
Особо стоит отметить, что для каждого бросания число вычислений, необходимых для определения к какой именно точке агрегата присоединится новая точка, не зависит от каких-либо неизвестных на момент вычисления данных (таких, как число шагов в маршруте). Кроме того, ни одна из брошенных точек не отбрасывается.
При таком методе оценки практически не учитывается влияние на коэффициент выбора расположения других точек агрегата, которые могут оказывать влияние на траекторию. Кроме того, учтены также и те траектории, в которых точка при блуждании по линиям решетки попадает в точку агрегата неоднократно. Эти ограничения являются неизбежным следствием того
Рис. 3. Результат моделирования по оптимизированной модели, 10 000 бросаний
Результаты моделирования по описанным алгоритмам
Алгоритм Число бросаний Число точек в агрегате Время моделирования
Базовый 10 000 2 034 40 ч
Базовый с ограничением числа шагов (500) 10 000 1 357 20 ч
Оптимизированный 2 000 2 001 4 мин
10 000 10 001 26 мин
Оптимизированный с предподсчетом 10 000 10 001 9 мин (6 мин без учета времени предподсчета)
факта, что мы отказываемся от обработки части информации для ускорения вычислений.
Результаты вычислений по оптимизированной модели. По представленному выше алгоритму реализована программа построения агрегатов. Проведены две серии испытаний: в первой из них на плоскость кидали 2000 точек, во второй 10 000 точек. Все бросаемые точки входили в агрегат. В первом случае время вычислений составило около 4 мин, во втором — около 26 мин. Как видно из приведенных цифр, время моделирования агрегата сопоставимой мощности снизилось в несколько раз.
Заметим, что для ограниченной области на сетке можно заранее подсчитать всевозможные значения коэффициентов для всех сумм а + Ь, таких, что и а, и Ь удалены от начала координат не далее некоторого N. Тогда при бросании новой точки для каждой из граничных точек агрегата в качестве коэффициента выбора можно взять одно из предварительно посчитанных значений, что также сокращает время вычислений. Использование алгоритма с предподсчетом при бросании 10 000 точек позволяет сократить время вычисления до 9 мин, а если не включать время предподсчета в общее время выполнения программы (т. к. вычисленные коэффициенты могут быть сохранены и использоваться многократно), — до 6 мин. Результат моделирования для 10 000 бросаний представлен на рис. 3.
Все данные о времени моделирования агрегатов по указанным алгоритмам представлены в таблице.
В различных моделях агрегации, ограниченной диффузией, вычисляют размерность полученного фрактала (как правило — емкостную). Это позволяет сравнить размерность образца, полученного в процессе диффузии, и образца, полученного с помощью модели. В работе [1], где впервые рассматривалась описанная модель, для емкостной размерности получена оценка 1,66. Во всех изученных нами оптимизациях емкостная размерность построенных агрегатов колеблется от 1,62 до 1,73. Таким образом, оптимизированные алгоритмы дают качественно близкую картину агрегата.
Предложена эффективная оптимизация классического алгоритма построения агрегата для модели агрегации, ограниченной диффузией. При различных вариантах оптимизации время вычислений сокращается в несколько десятков раз. Сравнение структуры полученных агрегатов с результатами, полученными по базовым моделям, на основании значений емкостной размерности дает близкие результаты. Можно ожидать, что подобная оптимизация возможна и в других моделях, в частности, в агрегациях кластер-кластер, которые актуальны при решении задач моделирования процессов в жидкостях и газах, а также в трехмерных моделях агрегации.
СПИСОК ЛИТЕРАТУРЫ
1. Pinski, A. Diffusion-Limited Aggregation [Text] / A. Pinski // The American Physical Society. - 1981.
2. Witten, T.A. DiffUsion-limited aggregation [Text] / T.A. Witten, L.M. Sander // The American Physical Society. - 1982.
3. Граничин, О.Н. Обратные связи, усреднение и рандомизация в управлении и извлечении знаний [Текст] / О.Н. Граничин // Сб. Стоха-
стическая оптимизация в информатике. —СПб.: Изд-во СПбГУ, 2012. -Т. 8. -Вып. 2. -С. 3-49.
4. Смирнов, Б.М. Физика фрактальных кластеров [Текст] / Б.М. Смирнов. -М.: Наука, 1991.
5. Исаева, В.В. Фракталы и хаос в биологическом морфогенезе [Текст] / В.В. Исаева, Ю.А. Каретин, А.В. Чернышев, Д.Ю. Шкуратов. -Владивосток, 2004.
REFERENCES
1. Pinski A. Diffusion-Limited Aggregation; The American Physical Society, 1981.
2. Witten T.A., Sander L.M. Diffusion-limited aggregation; The American Physical Society, 1982.
3. Granichin O.N. Obratnye sviazi, usrednenie i randomizatsiia v upravlenii i izvlechenii znanii /Sb. Stokhasticheskaia optimizatsiia v informatike. — St.
Petersburg: Izd-vo St. Peterburgskogo un-ta, 2012.
- T. 8. -Vyp. 2. - S. 3-49. (rus)
4. Smirnov. B.M. Fizika fraktal'nykh klasterov.
— Moscow: Nauka, 1991. (rus)
5. Isaeva V.V., Karetin Iu.A., Chernyshev A.V., Shkuratov D.Iu. Fraktaly i khaos v biologicheskom morfogeneze. — Vladivostok, 2004. (rus)
БАТЮКОВ Александр Михайлович — аспирант кафедры информатики математико-механического факультета Санкт-Петербургского государственного университета.
197372, Россия, Санкт-Петербург, ул. Стародеревенская, д. 21/1.
E-mail: [email protected]
BATYUKOV Alexander M. St. Petersburg State University.
197372, Staroderevenskaya Str. 21/1, St. Petersburg, Russia.
E-mail: [email protected]
АМПИЛОВА Наталья Борисовна — доцент кафедры информатики математико-механического факультета Санкт-Петербургского государственного университета, кандидат физико-математических наук.
192283, Россия, Санкт-Петербург, Загребский бул., д. 35/28.
E-mail: [email protected]
AMPILOVA Nataly B. St. Petersburg State University.
192283, Zagrebsky blvd. 35/28, St. Petersburg, Russia.
E-mail:[email protected]
© Санкт-Петербургский государственный политехнический университет, 2013