Моделирование и исследование процесса самоорганизации

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.