Моделирование и исследование процесса самоорганизации
Система стержнеобразных частиц, моделирование самоорганизации при случайной диффузии. Обозначения для дискретного времени эволюции системы. Формирование кластеров, дополнительные обозначения для формализации описания модели. Влияние плотности упаковки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.12.2019 |
Размер файла | 6,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Факультет компьютерных наук
Департамент программной инженерии
Выпускная квалификационная работа
на тему «Моделирование и исследование процесса самоорганизации
стержнеобразных частиц при случайной диффузии»
по направлению подготовки 09.03.04 «Программная инженерия»
С.Л. Захаров
Реферат
Объектом исследования являются дискретные пространства с размещёнными на них вытянутыми частицами, рассматриваемые в теоретическом исследовании систем жёстких стержней для моделирования процессов, происходящих в подобных системах. Предмет исследования -- факт самоорганизации стержнеобразных частиц в квадратной решётке, возникающий в результате моделирования их диффузии.
Во время работы исследуется количество шагов моделирования диффузии частиц, необходимых для достижения самоорганизации. Основное внимание уделено исследованию решёток размера с частицами длины и .
Программа, разработанная для выполнения поставленных в рамках данной работы задач, может применяться в аналогичных исследованиях подобного рода, где требуется моделировать квадратные решётки с размещёнными на них стержнеобразными частицами.
Данная работа состоит из 51 страницы, 12 рисунков, 2 таблицы и 17 формул. Использовано 9 источников.
Ключевые слова: самоорганизация, стержнеобразные частицы, метод Монте-Карло, квадратная решётка.
The objects of the study are discrete substrates with elongated objects placed on them, which are considered in theoretical investigates of the systems with rigid rods for modelling processes in such systems. The subject of the study is self-assembly of rod-like particles in square lattice as a result of modelling particles' diffusion.
This study investigates the number of diffusion steps that are needed to be taken to reach self-assembly state. The main attention is paid to lattices of size and particle length or .
The resulting program developed for reaching the goal of the current paper may be applied in similar studies that are related to modelling of square lattices with rod-like particles placed on them.
The paper contains 51 pages, 12 illustrations, 2 tables and 17 formulas. 9 sources are used.
Keywords: self-assembly, rod-like particles, Monte Carlo method, lattice model.
Используемые определения и термины
Квадратная решётка -- дискретное двумерное пространство одинаковой ширины и высоты, используемое как основа для размещения частиц при моделировании.
k-мер -- вытянутая частица, размещённая на квадратной решётке, занимающая k соседних узлов решётки в длину и 1 узел в ширину.
Джамминг -- «(в физике или химии) состояние вещества или материала, случайно заполненного неточечными объектами, когда пустоты ещё существуют, но их размеры недостаточны для размещения ещё одного объекта» [7].
Диффузия -- хаотичное блуждание частиц в материальной среде.
Самоорганизация -- состояние системы частиц, при котором частицы одного рода собраны в стабильные структуры-кластеры.
RSA -- Random Sequential Adsorption или случайное последовательное осаждение, процесс случайного появления частиц в системе необратимым образом при условии отсутствия перекрытия с ранее существующими частицами.
Содержание
- Реферат
- Используемые определения и термины
- Введение
- Глава 1.Модель и её характеристики
- 1.1 Система стержнеобразных частиц
- 1.2 Обозначения для системы стержнеобразных частиц
- 1.3 Обозначения для дискретного времени эволюции системы
- 1.4 Обозначения для индивидуального описания частицы
- 1.5 Дополнительные обозначения для формализации описания модели
- 1.6 Обозначения в индивидуум-ориентированной модели
- 1.7Модель эволюции
- Глава 2.Обзор источников
- 2.1 Моделирование самоорганизации при случайной диффузии
- 2.2 Влияние параметров модели
- 2. 3Влияние плотности упаковки
- Глава 3.Определение состояния самоорганизации
- Глава 4.Организация экспериментального исследования
- 4.1 Выбор программных средств
- 4.2 Проведение серии экспериментов
- Глава 5.Анализ полученных результатов
- 5.1 Результаты моделирования
- 5.2 Анализ результатов моделирования
- 5.3 Формирование четырёх кластеров
- Заключение
- Список использованных источников
- ПРИЛОЖЕНИЕ
Введение
Феномен самоорганизации в результате процесса блуждания стержнеобразных частиц в двумерных системах последние несколько лет привлекает внимание исследователей из разных стран [1] [3], в том числе и наших соотечественников [4] [5] [9]. Примеры таких систем -- гранулированные материалы и взвеси твёрдых вытянутых частиц.
Для теоретического исследования в качестве упрощённой индивидуум-ориентированной модели таких систем можно рассматривать дискретное пространство -- квадратную решётку -- заполняемое k-мерами, ориентируемыми в пространстве горизонтально или вертикально. Для исследования явления самоорганизации в процессе эволюции системы моделируется случайная диффузия частиц методом Монте-Карло.
Несмотря на существование многих исследований, связанных с темой самоорганизации стержнеобразных частиц, до сих пор не было уделено должного внимания количеству шагов моделирования диффузии, необходимых для достижения такого состояния. Актуальность настоящей работы заключена в направленности на установление более точных значений этой величины, в то время как в существующих ранее статьях приводятся только оценки её порядка.
Целью работы является исследование количества шагов моделирования случайной диффузии стержнеобразных частиц в квадратной решётке методом Монте-Карло, необходимых для достижения состояния самоорганизации. диффузия моделирование кластер стержнеобразный
Для достижения цели исследования были поставлены следующие задачи:
1. Разработать программу, производящую заполнение квадратной решётки k-мерами методом Random Sequential Adsorption (RSA), моделирование случайной диффузии с её многократным повторением и проверку получаемых систем частиц на факт самоорганизации с помощью алгоритма из работы [7].
2. Провести серию моделирований диффузии в двумерных системах твёрдых стержней с помощью разработанной программы.
3. На основе проведённой серии моделирований исследовать полученную информацию о количестве шагов, потребовавшихся для достижения самоорганизации в каждом моделировании.
Глава 1. Модель и её характеристики
1.1 Система стержнеобразных частиц
Для проведения исследования рассматривается индивидуум-ориентированная дискретная модель процесса эволюции системы стержнеобразных частиц.
Индивидуум-ориентированные модели -- это «имитационные модели, построенные для изучения интегральных характеристик популяции как результата множества локальных взаимодействий членов популяции (индивидуумов)» [8]. Такие модели включают в себя набор индивидуумов и описание среды, в которой происходят взаимодействия между индивидуумами. В этих моделях выделяются ключевые поведенческие свойства реально существующих объектов или живых организмов, подвергающихся исследованию, и используются в качестве правил взаимодействия участвующих элементов между собой при моделировании. На каждой итерации на протяжении процедуры моделирования, представляющей течение времени, отслеживается состояние параметров отдельных элементов.
Применяемая в целях данного исследования модель описывает процесс временной эволюции системы, состоящей из двух составляющих: квадратной решётки, выступающей дискретной моделью материальной среды, и размещаемых на ней k-меров одинаковой длины, представляющих жёсткие стержнеобразные частицы в этой среде. Интерес представляют системы с плотной упаковкой. В таких системах вращение частиц подавляется, поэтому k-меры могут быть только двух пространственных ориентаций: вертикальной и горизонтальной (рис. 1).
Рисунок 1
К квадратной решётке применяются периодические граничные условия. Это означает, что такое пространство циклично по вертикали и горизонтали, т.е. оно представляет из себя развёртку тора (рис. 2).
Рисунок 2
На любом шаге моделирования, в том числе и в начальной конфигурации, каждая ячейка решётки или пуста, или перекрыта только одной частицей системы. Ни одна пара частиц, независимо от их ориентации или расположения, не может накладываться друг на друга.
В процессе моделирования диффузии системы изменению подвергается только расположение частиц на решётке. Количество частиц каждой возможной ориентации не изменяется: существующие частицы не покидают систему, новые частицы не добавляются.
Начальная конфигурация системы, заключающаяся в количестве частиц каждой возможной ориентации и их расположении на решётке, задаётся методом случайного последовательного осаждения -- RSA.
Для формализации описываемой системы введены следующие обозначения.
1.2 Обозначения для системы стержнеобразных частиц
-- квадратная решётка размером -- дискретное пространство модели с периодическими граничными условиями, состоящее из квадратных ячеек.
-- координаты ячейки в решётке, , . Неотъемлемой частью моделирования эволюции системы является возможность перемещать размещённые частицы с одной ячейки на другую. Для этого при изменении расположения частицы в решётке требуется вычислить новые координаты. Пересчёт координат, необходимый в контексте периодических граничных условий, выполняется по (1) и (2).
(1) |
|||
(2) |
k-мер -- стержнеобразная частица -- ячеек (), размещённых на решётке подряд, формирующих из себя единый прямоугольник одной из возможных ориентаций -- горизонтальной () или вертикальной ().
-- общее число вертикальных частиц в начальной конфигурации, не меняется в процессе временной эволюции.
-- общее число горизонтальных частиц в начальной конфигурации, не меняется в процессе временной эволюции.
-- общее число частиц в системе обоих возможных ориентаций.
1.3 Обозначения для дискретного времени эволюции системы
Протекающая временная эволюция системы моделируется дискретно по элементарным шагам. При моделировании обработка одной частицы занимает один элементарный шаг. Каждый выполняемый шаг заключается в выборе случайной частицы на решётке и осуществлении попытки её сдвига. За любой шаг возможно передвижение частицы только на 1 клетку либо сохранение размещения частиц без изменений.
-- номер элементарного шага моделирования в сквозной нумерации среди всех выполненных шагов в текущем моделировании одной системы. Начальное состояние системы определяется значением . Номер последнего шага, после которого моделирование прекращается, равен .
-- номер шага Монте-Карло (MC). За один шаг Монте-Карло принимается попытка выполнения элементарных шагов, что означает попытку перемещения частиц. Шаг Монте-Карло реализуется путём равномерного случайного выбора частиц. Указанная реализация не даёт гарантий, что каждая частица будет выбрана ровно один раз на одном шаге, но с учётом выполнения достаточно большого количества шагов () полагается, что этим можно пренебречь. На начальном состоянии системы с размещёнными частицами полагается значение , последующие значения вычисляются как (3).
-- номер элементарного шага моделирования не в сквозной нумерации, в отличие от , а в пределах одного шага MC. , текущий определяется как (4).
(4)
1.4 Обозначения для индивидуального описания частицы
-- идентификационный код частицы в системе, , при этом соответствует очерёдности размещения частицы на поверхности решётки в ходе инициализации исходного состояния системы.
Для представления актуального состояния индивидуальной частицы с номером на элементарном шаге строится кортеж (5).
, где(5)
-- координаты первой ячейки частицы на шаге , при горизонтальном размещении за координаты принимаются координаты самой левой ячейки, формирующей -мер, при вертикальном размещении за координаты принимаются координаты самой верхней ячейки, формирующей -мер;
-- код ориентации (2 -- горизонтальная, 3 -- вертикальная), на протяжении всей моделируемой эволюции на любом участке времени частица не подвергается изменению своей ориентации, соответственно, ;
-- кортеж с компонентами , отражающий доступные ортогональные направления для перемещения частицы на текущем шаге моделирования . Каждый элемент кортежа отвечает за одно из четырёх возможных направлений движения по решётке в следующем соответствии (нумерация начинается от направления вправо и продолжается против часовой стрелки):
-- направление вправо,
-- направление вверх,
-- направление влево,
-- направление вниз,
причём значение элемента означает запрет перемещения в соответствующем направлении (одна из частиц, соседствующая с выбранной, блокирует движение), а значение означает возможность совершения перемещения. Таким образом, если , то движение выбранной частицы полностью блокировано соседями, а если , то движение выбранной частицы возможно в любом направлении.
-- введённая дополнительно характеристика, отражающая количество разрешённых для движения направлений для -ой частицы на шаге (число степеней свободы), где функция считает количество значений 1 в кортеже .
1.5 Дополнительные обозначения для формализации описания модели
-- случайная величина, равномерно распределённая на .
-- реализация случайной величины , полученная равномерным генератором псевдослучайных чисел.
-- случайный номер элемента кортежа , .
, вначале , затем -- кортеж, равномерно случайно выбранный элемент которого равен 1, остальные -- 0. Каждое обращение к кортежу означает обнуление кортежа и новый случайный выбор номера элемента через с установкой .
-- нотация Айверсона [6], где -- операция сравнения; значение нотации вычисляется согласно (6).
(6)
1.6 Обозначения в индивидуум-ориентированной модели
-- вектор размерности N, описывающий состояние моделируемой системы на шаге q через индивидуальные описания частиц (5);
-- номер частицы, выбираемой равномерно случайно на шаге моделирования (текущая моделируемая или активная на этом шаге частица);
Система стержнеобразных частиц содержит «интеллектуальные» частицы. «Интеллект» их заключается в том, что при возможности совершения движения хотя бы в одном направлении они всегда совершают его.
1.7 Модель эволюции
Во введённых обозначениях рассматриваемая индивидуум-ориентированная модель процесса эволюции стержнеобразных частиц имеет вид:
:
Выбор номера активной частицы, моделируемой на шаге .
Проверка возможности движения -ой частицы по кортежу :
вычисляем и проверяем условие , иначе переходим к следующему шагу по .
Случайный выбор номера r направления движения активной частицы (7).
,(7)
где -- обозначение скалярного произведения, таким образом, номер направления движения выбирается случайно до тех пор, пока это направление не совпадает с одним из разрешённых направлений для этой частицы (т.е. до совпадения позиций единиц в кортежах и ).
1.7.1.1.1.1.1 Вычисление сдвига частицы по направлению с номером (8) и (9), обозначение относится к компонентам кортежа .
(8)
(9)
Порождение промежуточного состояния (первый полушаг) системы -- реализация сдвига -ой частицы функцией (10).
(10)
Функция действует на координаты компоненты в векторе , реализуя движение по направлению , и порождает вектор с новым компонентом по (11) и (12).
(11)
(12)
Коррекция кортежей возможных направлений движения (второй полушаг) -- функция (13).
(13)
Функция порождает вектор изменений возможных направлений движения частиц, связанных с новым положением -ой частицы. Функция действует на значения компонент кортежей всех тех частиц, включая и саму -ую частицу, возможные направления движения которых изменяются после движения -ой частицы. Результат функции -- изменения для компонент кортежей . Новые значения в кортежах вектора получаются сложением текущих значений и вычисленных изменений по . Поскольку функция не действует на позиции координат, то координаты -ой частицы копируются из в .
2. Обзор источников
Важнейшими источниками информации, лежащими в основе настоящей работы, служат статьи [4] [5] [9] коллектива авторов -- Юрия Тарасевича и его российских и украинских коллег, много лет изучающих характеристики процессов в сложных динамических системах и их моделирование, в числе которых явление самоорганизации частиц.
2.1 Моделирование самоорганизации при случайной диффузии
В исследовании [4] изучен процесс диффузии стержнеобразных частиц в квадратной решётке, ключевым результатом которого становится самоорганизация. На рис. 3 изображены состояния системы частиц на разных стадиях моделирования диффузии.
Рисунок 3. ,
Диффузия моделируется методом Монте-Карло, приведён алгоритм моделирования на псевдокоде. Для рассматриваемого пространства применяются периодические пограничные условия, в англоязычных исследованиях называемые Periodic Boundary Conditions (PBC). При первоначальном размещения k-меров на решётке используется алгоритм Random Sequential Adsorption (RSA).
2.2 Влияние параметров модели
Работа [5] продолжает и развивает выполненные ранее исследования, рассматривается влияние на возможность формирования стабильных структур таких свойств моделируемой системы, как начальное размещение k-меров, размер системы и k-меров, плотность упаковки частиц в системе, неравенство количества k-меров разных ориентаций и применяемые граничные условия.
Авторы утверждают, что при формирование сколько-нибудь заметных структур в смоделированных ими системах не наблюдается. Напротив, при зафиксировано образование пространственных структур из рассматриваемых моделей стержнеобразных частиц.
Отмечена важная деталь: стабильные кластеры образуются только при периодических граничных условиях. Применение изолирующих и смешанных граничных условий оказывает негативное влияние на построение структур: частицы в ходе процесса диффузии тоже объединяются в крупные кластеры, но производимые кластеры не обладают стабильностью, через некоторое количество шагов после организации они распадаются, а за ними появляются новые кластеры, такие же нестабильные и недолговечные.
В рамках указанной работы исследовано влияние неравенства числа частиц разной ориентации (вертикальной и горизонтальной). Результаты проведённых моделирований позволяют утверждать, что при равном количестве вертикальных и горизонтальных частиц сохраняется способность к самоорганизации, а по мере увеличения разницы между количеством частиц двух типа данная способность утрачивается (рис. 7).
2.3 Влияние плотности упаковки
Статья [9] подводит итоги вышеназванных работ, выдвигаются предположения о причинах возникновения рассматриваемого явления.
Важно отметить один из выводов, содержащихся в тексте: плотность размещения частиц в пространстве, при которой возможна самоорганизация, чувствительна к изменениям. При недостаточно высокой плотности явление не наблюдается или проявляется с нестабильными формой кластеров и положением в организованном для процедуры моделирования пространстве
Слишком высокая плотность ещё более заметно оказывает отрицательное влияние на способность частиц к самоорганизации. Если нижняя граница плотности, способствующая самоорганизации, неявна и слабо прослеживается, то превышение некой верхней границы резко меняет характер поведения частиц. Небольшое увеличение максимально возможной из благоприятных плотности, даже на 2%, приводит к невозможности зафиксировать в процессе моделирования упорядоченное состояние частиц. В таком случае наблюдаемые кластеры, подобно кластерам в системе с применёнными изолирующими или смешанными граничными условиями, ведут себя нестабильным образом. А при сильно большем увеличении плотности вместо крупных доменов образуются мелкие квазикристаллические структуры.
Для достижения подходящей плотности упаковки, по результатам исследований, подходит немодифицированная версия алгоритма RSA, который позволяет заполнить систему частицами до состояния джамминга.
3. Определение состояния самоорганизации
Для достижения цели текущей работы-- исследования количества шагов моделирования случайной диффузии стержнеобразных частиц, необходимых для достижения состояния самоорганизации -- необходим метод определения этого состояния для -меров в квадратной решётке.
Но поиск и разработка метода определения самоорганизации не так проста, как могло бы показаться при взгляде на типичные иллюстрации систем стержней в неорганизованном состоянии и в состоянии самоорганизации (рис. 9). Какого-либо единого универсального алгоритма для обнаружения исследуемого явления не существует, потому что для этого необходимо установить его конкретные признаки, выявить метрику, на обнаружение которой и должен быть направлен искомый алгоритм. Но такой метрики нет, т.к. само понятие самоорганизации весьма абстрактно и не даёт конкретики.
Рисунок 9. , .
a) Самоорганизация не наблюдается ()
б) Самоорганизация наблюдается ()
Таким образом, попытка разработки способа ответа на вопрос, находятся ли частицы в системе в состоянии самоорганизации, включает в себя попытку ответа на вопрос «что такое самоорганизация?». Для этого предъявляются требования, которым, по ожиданиям изыскателя, должно соответствовать состояние системы стержней, элементы которой необходимо считать самоорганизованными, и выявляются характерные черты системы, находящейся в искомом состоянии.
Примером выявления характерных черт служит статья [5]. В тексте статьи значительное внимание уделяется количеству кластеров, сформированных частицами -- , и количеству соприкосновений частиц различной ориентации в пространстве, обозначаемое как и называемое числом межвидовых контактов. Также исследуется изменение с течением времени относительного числа межвидовых контактов (14).
, где(14)
-- число внутривидовых контактов вертикальных -меров,
-- число внутривидовых контактов горизонтальных -меров.
Авторы работы [5] оценивают изменения этих значений как признаки происходящей самоорганизации -меров в решётке. Например, уменьшение и до может свидетельствовать о наступившей или близкой к наступлению самоорганизации, что проиллюстрировано на рис. 10.
Рисунок 10. Пример самоорганизации при диффузии при PBC. Левое нижнее изображение -- начальная конфигурация, получена путём RSA. Правое верхнее изображение -- конечное стационарное состояние системы при .
Но одна из причин проведения настоящего исследования -- необходимость проверить на пригодность разработанный ранее в работе [7] алгоритм. Оригинальная ключевая идея алгоритма основана на определении явления самоорганизации и на его понимании авторами, работы которых оказали существенное влияние на написание названной работы. Идея заключается в следующем: самоорганизацией следует называть то состояние -меров, при котором в системе существует один достаточно большой кластер из горизонтальных -меров и один достаточно большой кластер из вертикальных -меров. За минимальное «достаточно большое» число частиц в кластере следует принимать для кластера вертикальных -меров и для кластера горизонтальных -меров, .
При реализации алгоритма в программе, разработанной в рамках работы [7], в качестве положено , т.е. от каждого из двух кластеров требуется содержать в себе количество частиц, равное половине от всех частиц своей ориентации.
В процессе проведения предварительных моделирований для данного исследования было принято решение о том, что значение недостаточно. Против этого значения говорит тот факт, что при его использовании система частиц определяется как самоорганизованная за много шагов до того, что требуется зафиксировать -- стабильные полосовые домены. Совсем не позволяют продолжать определять величину как регулярные ложные регистрации самоорганизации в условиях образования нестабильных временных структур, в то время как для исследования интересны именно стабильные домены.
По причине несоответствия ранее выбранного значения имеющимся требованиям и ожиданиям были проведены дополнительные предварительные моделирования с целью устранения выявленных недостатков. Результатом стало установление значения , которое показало заметно более удовлетворяющие результаты и далее было использовано для проведения исследования согласно цели данной работы.
4. Организация экспериментального исследования
Для получения набора данных, исследование которых необходимо для достижения цели данной работы, разработана программа с консольным интерфейсом, позволяющая провести серию моделирований с поиском шага Монте-Карло, на котором успешно определяется самоорганизация (далее -- программа).
4.1 Выбор программных средств
В качестве возможных языков реализации программы было рассмотрено два популярных и широко распространённых языка программирования -- C++ и JavaScript.
Важными сильными сторонами первого являются его универсальность и богатая стандартная библиотека. Основным преимуществом C++ выступает быстродействие в связи с его компилируемостью. Скорость выполнения программы особенно важна для решения текущей задачи, поскольку, по предварительным оценкам, требуется выполнить миллиарды элементарных шагов диффузии (попытка перемещения одного -мера на решётке) для каждого моделирования. К серьёзным недостаткам C++ следует отнести непростой синтаксис, замедляющий разработку, и гораздо менее удобное, чем в среде JavaScript, подключение сторонних библиотек.
Второй вариант языка программирования для разработки -- JavaScript -- традиционно менее пригоден для выполнения поставленных задач. Но последние десятилетие над его усовершенствованием трудятся лучшие программные инженеры в крупнейших корпорациях, работающих в сфере информационных технологий. Зарождался язык как интерпретируемый, но дальнейшее развитие с 2008 года получил как динамически (JIT -- Just-in-time) компилируемый. Платформа Node.js, разработанная для запуска кода на языке JavaScript на компьютере вне интернет-браузера, в качестве JavaScript-движка использует V8 -- передовую разработку от компании Google, активно развивающуюся год от года. Кроме существенно возросшей за много лет эффективности в пользу выбора JavaScript говорит большой опыт автора данной работы в разработке на нём и личное субъективное положительное отношение.
С целью определения, какой язык выбрать для реализации программы, были написаны небольшие и одинаковые по функциональности примеры кода, выполняющие заполнение квадратных решёток -мерами методом RSA -- необходимое действие для генерации начальной конфигурации моделируемой системы.
Пример на JavaScript: https://github.com/Zakhse/self_assembly_modelling_nodejs/tree/lattice_creation_testing
Пример на C++:
https://github.com/Zakhse/self_assembly_modelling
Несколько пробных запусков на компьютере показали, что скорость выполнения примера на C++ не в 10 и более раз выше, как ожидалось, а примерно в 2-2,5 раза. Также код примера на JavaScript был написан ощутимо быстрее аналогичного кода на C++.
В дополнение к названным факторам на стороне JavaScript наличие простых и функциональных хорошо зарекомендовавших себя библиотек для разработки консольных интерфейсов.
По итогу для дальнейшей разработки программы был выбран JavaScript на платформе Node.js, по следующим причинам:
Быстродействие для поставленных задач оказалось существенно выше ожидаемых, разница в 2-2,5 раза не признана существенной, т.к. даже при использовании C++ проводимые моделирования будут занимать многие часы.
Большой опыт разработки на этом языке позволит быстрее написать программу. Программа не является главным результатом данной работы, это вспомогательный инструмент, поэтому посвятить большой объём времени на разработку было бы неэффективно.
Удобство разработки консольного интерфейса программы.
4.2 Проведение серии экспериментов
Разработанная для проведения экспериментов с индивидуум-ориентированной дискретной моделью программа имеет консольный интерфейс и позволяет запускать моделирование диффузии в системах стержней методом Монте-Карло. Один запуск производит генерацию квадратной решётки, заполнение её k-мерами по алгоритму RSA и многократное повторение шагов Монте-Карло. При запуске программы могут быть переданы следующие поля:
§ --lattice-size, -S -- размер генерируемой квадратной решётки ();
§ --particle-length, -P -- размер k-меров ();
§ --steps, -s -- значение (по умолчанию бесконечно);
§ --log-lattice-each -- количество шагов, через которые следует записывать в текстовый вывод программы схематичное изображение состояния квадратной решётки и k-меров на текущем шаге (по умолчанию отключено);
§ --monochrome, -m, --no-color -- отключение цветового окраса в схематичном изображении решётки в текстовом выводе программы (по умолчанию вывод окрашивает вертикальные частицы синим цветом, а горизонтальные -- красным);
§ --save-to-dir, -d -- путь до директории, куда следует сохранять резервные копии состояний квадратной решётки (по умолчанию генерируется автоматически на основе характеристик решётки и с включением случайного идентификатора);
§ --restore-from, -f -- путь до резервной копии решётки, с которой следует продолжить моделирование (используется вместо указания --lattice-size и --particle-length, например, когда нужно продолжить прерванное моделирование);
§ --save-each-step -- количество шагов, через которые следует записывать в директорию на диске резервную копию состояния квадратной решётки на текущем шаге и изображение (при условии передачи --save-with-img) (по умолчанию отключено);
§ --save-with-img, -i -- сохранение изображения состояния квадратной решётки вместе с резервной копией;
§ --self-assembly-check, -A -- при каждой записи в текстовый вывод и/или при каждом сохранении резервной копии проверять, находятся ли частицы в квадратной решётке в состоянии самоорганизации, и писать это в текстовом выводе и/или в названии создаваемого файла резервной копии;
§ --self-assembly-check-strategy, -C -- стратегия проверки самоорганизации (доступны следующие значения: “clusters”, “clusters-90”, “clusters-95”, “clusters-99”);
§ --self-assembly-find, -F -- проверка самоорганизации на каждом шаге (вместо кратных --save-each-step и --log-lattice-each) и остановка процесса моделирования при успешной регистрации этого состояния;
§ --help, -h -- просмотр справки по доступным для передачи параметрам.
Для проведения серии моделирований был арендован удалённый виртуальный сервер (VPS) со следующими характеристиками:
§ 1024 Мб ОЗУ
§ 40 Гб SSD
§ 4 ядра процессора 2.4 ГГц
§ ОС Ubuntu 18.04
Серия моделирований проводилась в несколько заходов, по 5 моделирований за раз в связи с ограничениями по оперативной памяти. Проведено 39 моделирований с параметрами , и 39 моделирований с параметрами , .
5. Анализ полученных результатов
5.1 Результаты моделирования
В табл. 1 и табл. 2 приведены результаты проведения серии экспериментов, в которых проводилось моделирование временной эволюции системы стержнеобразных частиц с проверкой системы на самоорганизованность после каждого шага Монте-Карло. Все данные моделирований сохранены на электронном накопителе данных, сдаваемом вместе с данной работой.
-- шаг моделируемой случайной диффузии стержнеобразных частиц в квадратной решётке методом Монте-Карло, на котором впервые достигнуто состояние самоорганизации. Значение означает, что моделирование приостановлено вручную по причине образования 4 крупных кластеров частиц вместо ожидаемых 2 (подробнее об этом в п. 5.3).
Таблица 1
,
№ |
|||||||
1 |
1356412 |
3118 |
3019 |
6137 |
0,749146 |
99 |
|
2 |
1200550 |
3112 |
3024 |
6136 |
0,749023 |
88 |
|
3 |
1193190 |
3057 |
3103 |
6160 |
0,751953 |
46 |
|
4 |
1305392 |
3103 |
3008 |
6111 |
0,745972 |
95 |
|
5 |
2208868 |
3064 |
3083 |
6147 |
0,750366 |
19 |
|
6 |
-1 |
3018 |
3099 |
6117 |
0,746704 |
81 |
|
7 |
1113545 |
3091 |
2964 |
6055 |
0,739136 |
127 |
|
8 |
-1 |
3143 |
2988 |
6131 |
0,748413 |
155 |
|
9 |
1253174 |
3154 |
2971 |
6125 |
0,747681 |
183 |
|
10 |
1646889 |
3072 |
3040 |
6112 |
0,746094 |
32 |
|
11 |
1965257 |
3197 |
2901 |
6098 |
0,744385 |
296 |
|
12 |
1390495 |
3053 |
3080 |
6133 |
0,748657 |
27 |
|
13 |
1668749 |
3060 |
3106 |
6166 |
0,752686 |
46 |
|
14 |
2232657 |
3105 |
3049 |
6154 |
0,751221 |
56 |
|
15 |
1871653 |
3174 |
2980 |
6154 |
0,751221 |
194 |
|
16 |
1203192 |
3074 |
3051 |
6125 |
0,747681 |
23 |
|
17 |
1507780 |
3007 |
3089 |
6096 |
0,744141 |
82 |
|
18 |
1935478 |
3073 |
3015 |
6088 |
0,743164 |
58 |
|
19 |
1303644 |
3109 |
3036 |
6145 |
0,750122 |
73 |
|
20 |
1506520 |
3145 |
2988 |
6133 |
0,748657 |
157 |
|
21 |
1423123 |
2968 |
3142 |
6110 |
0,74585 |
174 |
|
22 |
1729370 |
3012 |
3135 |
6147 |
0,750366 |
123 |
|
23 |
1433529 |
2992 |
3155 |
6147 |
0,750366 |
163 |
|
24 |
1077981 |
3013 |
3075 |
6088 |
0,743164 |
62 |
|
25 |
1488429 |
3187 |
2936 |
6123 |
0,747437 |
251 |
|
26 |
1481923 |
3045 |
3102 |
6147 |
0,750366 |
57 |
|
27 |
1363193 |
3079 |
3090 |
6169 |
0,753052 |
11 |
|
28 |
1239009 |
3127 |
2974 |
6101 |
0,744751 |
153 |
|
29 |
1344411 |
2975 |
3186 |
6161 |
0,752075 |
211 |
|
30 |
1011661 |
3169 |
2966 |
6135 |
0,748901 |
203 |
|
31 |
1184767 |
3032 |
3109 |
6141 |
0,749634 |
77 |
|
32 |
1496046 |
2982 |
3131 |
6113 |
0,746216 |
149 |
|
33 |
-1 |
2893 |
3206 |
6099 |
0,744507 |
313 |
|
34 |
1109228 |
3108 |
3030 |
6138 |
0,749268 |
78 |
|
35 |
1081830 |
3085 |
3042 |
6127 |
0,747925 |
43 |
|
36 |
1345312 |
2983 |
3122 |
6105 |
0,745239 |
139 |
|
37 |
1611704 |
2981 |
3143 |
6124 |
0,747559 |
162 |
|
38 |
4058064 |
3042 |
3071 |
6113 |
0,746216 |
29 |
|
39 |
1130520 |
3183 |
2955 |
6138 |
0,749268 |
228 |
Таблица 2
,
№ |
|||||||
1 |
-1 |
1915 |
2072 |
3987 |
0,730042 |
157 |
|
2 |
1463872 |
2003 |
1931 |
3934 |
0,720337 |
72 |
|
3 |
2924202 |
2050 |
1941 |
3991 |
0,730774 |
109 |
|
4 |
1958506 |
2099 |
1858 |
3957 |
0,724548 |
241 |
|
5 |
2704377 |
2051 |
1919 |
3970 |
0,726929 |
132 |
|
6 |
1068431 |
1928 |
2013 |
3941 |
0,721619 |
85 |
|
7 |
-1 |
1940 |
1936 |
3876 |
0,709717 |
4 |
|
8 |
-1 |
2000 |
1936 |
3936 |
0,720703 |
64 |
|
9 |
1374694 |
1997 |
1979 |
3976 |
0,728027 |
18 |
|
10 |
2665072 |
1896 |
1995 |
3891 |
0,712463 |
99 |
|
11 |
2060129 |
2078 |
1852 |
3930 |
0,719604 |
226 |
|
12 |
4342667 |
1870 |
2068 |
3938 |
0,721069 |
198 |
|
13 |
-1 |
2084 |
1912 |
3996 |
0,731689 |
172 |
|
14 |
-1 |
2031 |
1929 |
3960 |
0,725098 |
102 |
|
15 |
2523427 |
2099 |
1864 |
3963 |
0,725647 |
235 |
|
16 |
3761738 |
1836 |
2156 |
3992 |
0,730957 |
320 |
|
17 |
1063672 |
1877 |
2059 |
3936 |
0,720703 |
182 |
|
18 |
2681090 |
1926 |
2044 |
3970 |
0,726929 |
118 |
|
19 |
6548882 |
1832 |
2138 |
3970 |
0,726929 |
306 |
|
20 |
1494048 |
1800 |
2116 |
3916 |
0,717041 |
316 |
|
21 |
2732976 |
2025 |
1931 |
3956 |
0,724365 |
94 |
|
22 |
2160023 |
2139 |
1806 |
3945 |
0,722351 |
333 |
|
23 |
1652222 |
1975 |
1959 |
3934 |
0,720337 |
16 |
|
24 |
3467795 |
2166 |
1773 |
3939 |
0,721252 |
393 |
|
25 |
1171049 |
2046 |
1869 |
3915 |
0,716858 |
177 |
|
26 |
2403341 |
1736 |
2212 |
3948 |
0,7229 |
476 |
|
27 |
4288028 |
2039 |
1947 |
3986 |
0,729858 |
92 |
|
28 |
1675356 |
2105 |
1894 |
3999 |
0,732239 |
211 |
|
29 |
1972642 |
1935 |
1964 |
3899 |
0,713928 |
29 |
|
30 |
3263227 |
2002 |
1951 |
3953 |
0,723816 |
51 |
|
31 |
2570165 |
1959 |
2012 |
3971 |
0,727112 |
53 |
|
32 |
3540210 |
1835 |
2114 |
3949 |
0,723083 |
279 |
|
33 |
2460630 |
1833 |
2137 |
3970 |
0,726929 |
304 |
|
34 |
1701875 |
2041 |
1940 |
3981 |
0,728943 |
101 |
|
35 |
1754127 |
1998 |
1951 |
3949 |
0,723083 |
47 |
|
36 |
3505697 |
1851 |
2069 |
3920 |
0,717773 |
218 |
|
37 |
1639007 |
1969 |
1970 |
3939 |
0,721252 |
1 |
|
38 |
3341822 |
2010 |
1936 |
3946 |
0,722534 |
74 |
|
39 |
2050664 |
1937 |
2013 |
3950 |
0,723267 |
76 |
5.2 Анализ результатов моделирования
Обозначим:
-- количество проведённых экспериментов в выборе без учёта экспериментов, в которых образовалось 4 кластера вместо 2;
-- выборочное среднее по результатам моделирования диффузии в системе с длиной стержня , вычисляется как (15);
(15)
-- выборочная дисперсия по результатам моделирования диффузии в системе с длиной стержня , вычисляется как (16);
(16)
-- коэффициент вариации по результатам моделирования диффузии в системе с длиной стержня , вычисляется как (17)
(17)
Рассмотрим результаты моделирований с :
,
.
Коэффициент вариации даёт основания утверждать, что полученная выборка является неоднородной (). Но в выборке присутствует значение , которое заметно больше остальных. Такое высокое значение получилось по причине того, что сначала в решётке начали формироваться 4 кластера, но потом объединились в 2. Примем это значение как выброс и посчитаем среднее выборочное и вариацию без него:
,
.
Значение показывает, что рассеивание данных есть, но приемлемо для того, чтобы считать значение 1440442 средним числом шагов до самоорганизации при соответствующих и .
Рассмотрим результаты моделирований с :
,
.
Значение величины очень высокое, признаём совокупность неоднородной.
5.3 Формирование четырёх кластеров
Авторы публикаций, на которых основывается настоящее исследование, в обозреваемых квадратных решётках рассматривают объединение вертикальных и горизонтальных k-меров в два больших кластера в виде диагональных полосовых доменов под влиянием случайной диффузии [4] [5] [9]. Но проведённые экспериментальные моделирования выявили, что при тех же условиях, которые авторами были применены -- размер решётки , размеры частиц и , алгоритм RSA для заполнения решётки -- вместо двух кластеров в некоторых нечастых случаях формируются четыре кластера.
a) Сформировалось 2 кластера ()
б) Сформировалось 4 кластера ()
В связи с тем, что при разработке используемого алгоритма определения состояния самоорганизации k-меров в квадратной решётке не предполагалось, что возможно становление подобной конфигурации, с помощью этого алгоритма невозможно установить, самоорганизована ли такая система.
Нельзя сказать, что выявленное поведение возникает очень редко. Из 39 моделирований с в 3 из них сформировались 4 кластера. Из 39 моделирований с в 5 из них сформировалось 4 кластера. Вовсе удивительным стал эксперимент №38 из серии экспериментов с . Примечателен он тем, что сначала в моделируемой системе образовалось 4 кластера частиц, но по прошествии большого количества шагов Монте-Карло они объединились в 2 (рис. 12), после чего была зарегистрировано состояние самоорганизации.
Закономерность проявления такого поведения не обнаружена.
Заключение
В настоящей работе была поставлена цель провести исследование количества шагов моделирования случайной диффузии стержнеобразных частиц в квадратной решётке методом Монте-Карло, необходимых для достижения состояния самоорганизации. В рамках исследования применён алгоритм из работы [7], метрика которого была подвергнута корректировке.
Поставленная цель успешно достигнута, но, принимая во внимание высокую неоднородность полученных в результате серии моделирований значений, не следует считать полученные значения показательными. При визуальном анализе изображений состояний решёток на разных шагах моделирования можно сделать предположение, что применённый алгоритм слишком строго ограничивает то, что может считаться кластером, и что в будущих исследованиях, использующих идею из [7], может быть целесообразным считать соседями частицы не только при непосредственном контакте, но и при некоторых иных, пока не определённых, условиях.
Побочными результатами данного исследования стали сохранённые промежуточные шаги каждого моделирования из проведённой серии экспериментов и разработанная программа с консольным интерфейсом, позволяющая проводить экспериментальные моделирования временной эволюции систем стержнеобразных частиц. Эти результаты могут оказаться полезными другим исследователям явления самоорганизации.
Список использованных источников
[1] Gonzбles-Pinto, M. Clustering in vibrated monolayers of granular rods // M. Gonzбles-Pinto, F. Borondo, Y. Martнnez-Ratуn, E. Velasco // Soft Matter -- 2017 --13(14), С. 2571-2582
[2] Looper, J. A Guide to JavaScript Engines for Idiots [Электронный ресурс]: Telerik Developer Network -- Режим доступа: https://web.archive.org/web/20190116125551/https://developer.telerik.com/featured/a-guide-to-javascript-engines-for-idiots/, свободный. (дата обращения: 23.05.2019)
[3] Mьller, T. Ordering in granular-rod monolayers driven far from thermodynamic equilibrium / T. Mьller, D.D. Heras, I. Rehberg, K. Huang // Physical Review E -- 2015 -- 91(6) -- С. 062207
[4] Tarasevich, Y.Y. Diffusion-driven self-assembly of rodlike particles: Monte Carlo simulation on a square lattice / N.I. Lebovka, Y.Y. Tarasevich, V.A. Gigiberiya, N.V. Vygornitskii // Physical Review E -- 2017 -- 95(5) -- С. 052130
[5] Tarasevich, Y.Y. Pattern formation in a two-dimensional two-species diffusion model with anisotropic nonlinear diffusivities: a lattice approach / Y.Y. Tarasevich, V.V. Laptev, A.S. Burmistrov, N.I. Lebovka // Journal of Statistical Mechanics Theory and Experiment -- 2017 -- (9) -- С. 093203
[6] Грэхем Р., Кнут Д., Паташник О. Конкретная математика. -- М.: Мир, 1998. -- С. 42-43
[7] Захаров, С.Л. Программа определения состояния самоорганизации стержнеобразных частиц в квадратной решётке: курсовая работа: защищена 18.04.2018 [Электронный ресурс]: Национальный государственный университет Высшая школа экономики. -- Москва, 2018 -- Режим доступа: https://www.hse.ru/ba/se/best_projects_seventeen, свободный. (дата обращения: 23.05.2019)
[8] Сорокин П.А. Классификация методов индивидуум-ориентированного моделирования // Исследовано в России -- 2003 -- (6) -- С. 574-688
[9] Тарасевич, Ю.Ю. Образование структур в двумерных системах стержнеобразных частиц / Н.И. Лебовка, Ю.Ю. Тарасевич, В.А. Гигиберия, Н.В. Выгорницкий, А.С. Бурмистров, В.В. Лаптев // XX Всероссийский семинар «Моделирование неравновесных систем - 2017» -- Красноярск : Институт вычислительного моделирования СО РАН, 2017. -- С. 80-83
[10] Пункт для количества источников, на след. строке поле для кол-ва рисунков
Размещено на Allbest.ru
...Подобные документы
Определение диффузии, законы Фика. Постановка краевых задач о зависимости концентрации вещества от пространственной координаты и времени. Математическое моделирование диффузии алюминия в железную подложку при воздействии импульсным электронным пучком.
статья [1,7 M], добавлен 25.04.2019Имитационное моделирование кредитной системы коммерческого банка с применением экспоненциального, дискретного равномерного и нормального распределения. Создание и программная реализация математической модели на языке С++ и ее построение в MathCad.
курсовая работа [319,1 K], добавлен 13.02.2013Понятие и условие устойчивости бистабильной системы. Исследование модели "нагреватель - охлаждающая жидкость", построение фазового портрета стационарных состояний нагревателя. Компьютерное моделирование данной системы в пакете model vision studium.
курсовая работа [1,1 M], добавлен 07.06.2013Формализация как важнейший этап моделирования. Методы описания и свойства моделей. Адекватность проекта целям моделирования. Основные принципы и значение формализации. Исследование на компьютере информационных моделей из различных предметных областей.
презентация [1,2 M], добавлен 24.01.2011Три типа задач из области информационного моделирования. Элементы системного анализа, его уровни и содержание. Табличные информационные модели, их использование. Информационное моделирование и электронные таблицы. Моделирование знаний в курсе информатики.
презентация [227,2 K], добавлен 19.10.2014Построение концептуальной модели системы и ее формализация. Алгоритмизация модели системы и ее машинная реализация. Построение логической схемы модели. Проверка достоверности модели системы. Получение и интерпретация результатов моделирования системы.
курсовая работа [67,9 K], добавлен 07.12.2009Эффективность построения и использования корпоративных информационных систем. Описание программных систем имитационного моделирования сетей. Обозначения и интерфейс программы "Net-Emul". Использование маршрутизатора (роутера) как сетевого устройства.
контрольная работа [1,9 M], добавлен 22.12.2011Основные понятия: модель, моделирование, виды моделей. Пути и способы изучения темы "Моделирование и формализация" в курсе информатики в 8 классе. Создание табличной информационной модели. Понятие информационной модели, системы и структуры системы.
методичка [1,8 M], добавлен 30.05.2013Моделирование как основная функция вычислительных систем. Разработка концептуальной модели для системы массового обслуживания и ее формализация. Аналитический расчет и алгоритмизация модели, построение блок-диаграмм. Разработка и кодирование программы.
курсовая работа [164,8 K], добавлен 18.12.2011Моделирование имитационной модели системы управления, состоящей из ПИ-регулятора и инерционного объекта второго порядка. Прогон и оптимизация модели на системе имитационного моделирования ИМОДС. Оценка параметров системы до и после оптимизации.
курсовая работа [1,3 M], добавлен 17.02.2013Моделирование разработки системы тестирования остаточных знаний на основе компетентностного подхода с помощью нескольких этапов: моделирование бизнес-процесса, планирование работ, UML-моделирование, моделирование данных логического и физического уровня.
курсовая работа [2,2 M], добавлен 14.12.2012Моделирование работы вычислительной системы из двух процессоров и общей оперативной памяти. Структурная схема модели системы. Укрупненная схема моделирующего алгоритма. Результаты моделирования и их анализ. Машинная программа объекта исследования.
курсовая работа [1,0 M], добавлен 21.06.2011Стадии процесса моделирования. Функция распределения непрерывной случайной величины. Методы моделирования (обратной функции, суперпозиции, исключения). Нормальные случайные величины. Метод Монте-Карло, точки равновесия. Моделирование динамических систем.
курсовая работа [1,2 M], добавлен 06.08.2013Моделирование системы массового обслуживания на примере производства мороженного: описание процесса смешивания ингредиентов, замораживания смеси, разделения на порции, раскладки по стаканчикам и упаковки мороженого. Улучшение производительности модели.
курсовая работа [3,3 M], добавлен 28.03.2019История возникновения стандарта IDEF0. Особенности процесса и концепции методологии функционального моделирования SADT, ее структура и применение. Пример практической разработки модели информационной системы "Управления федерального казначейства".
курсовая работа [731,5 K], добавлен 09.10.2012Моделирование процессов обработки информации с использованием языка GРSS Wоrld. Создание системы массового обслуживания, обрабатывающей заявки. Укрупненная схема моделирующего алгоритма и ее описание. Описание возможных улучшений в работе системы.
курсовая работа [469,7 K], добавлен 26.06.2011Моделирование как замещение одного объекта другим, фиксация и изучение свойств модели. Система Arena: общее описание и структура, оценка функциональных возможностей, используемое программное обеспечение. Моделирование работы магистрали передачи данных.
курсовая работа [376,1 K], добавлен 21.02.2015Создание имитационной модели системы массового обслуживания с помощью языка имитационного моделирования GPSS/PC - моделирование обработки на участке 500 деталей. Определение загрузки второго станка на вторичной обработке и вероятности появления отходов.
курсовая работа [602,3 K], добавлен 30.11.2010Теоретические основы преподавания раздела информатики "Моделирование и формализация" в школе. Разработка системы задач по моделированию в различных средах (графический и текстовый редакторы, электронные таблицы, система программирования Visual Basic).
курсовая работа [127,2 K], добавлен 26.09.2012Анализ возможностей пакета MATLAB и его расширений. Язык программирования системы. Исследование выпрямительного устройства. Моделирование трёхфазного трансформатора. Схема принципиальная регулируемого конвертора. Возможности гибкой цифровой модели.
презентация [5,1 M], добавлен 22.10.2013