АЛГОРИТМ ПОИСКА ТОЧЕЧНЫХ ПОДМНОЖЕСТВ И ЕГО ПРИМЕНЕНИЕ ДЛЯ АНАЛИЗА АТОМНОЙ СТРУКТУРЫ МОДЕЛЬНЫХ КЛАСТЕРОВ

УДК 004.94
Б01: 10.14529/ттр140204
АЛГОРИТМ ПОИСКА ТОЧЕЧНЫХ ПОДМНОЖЕСТВ И ЕГО ПРИМЕНЕНИЕ ДЛЯ АНАЛИЗА АТОМНОЙ СТРУКТУРЫ МОДЕЛЬНЫХ КЛАСТЕРОВ
Д. С. Крупянский, А. Д. Фофанов
В настоящей статье представлены результаты по разработке метода исследования атомной структуры кластеров, формируемых при компьютерном моделировании. Данный метод основан на поиске координационных многогранников в исследуемых кластерах и построении графа, описывающего их взаимное расположение. Далее метод предполагает расчет ряда топологических индексов для полученного графа с целью их дальнейшего сопоставления с физико-химическими свойствами соответствующих кластеров. Для нахождения координационных многогранников предложен алгоритм поиска подмножеств в конечных точечных множествах по шаблону. В ходе работы было исследовано несколько различных по форме, структуре и составу кластеров. Также было предложено несколько простейших инвариантов графа, отражающих особенности структуры исследуемых кластеров. Представленный алгоритм реализован в компьютерной программе, позволяющей производить поиск координационных многогранников, строить соответствующий граф и рассчитывать предложенные инварианты.
Ключевые слова: поиск точечных подмножеств; моделирование атомной структуры; анализ структуры.
Введение
В задачах структурного анализа атомную структуру вещества часто интерпретируют как множество точек трехмерного пространства. Также с каждой точкой такого множества сопоставлено некоторое целое число , соответствующее типу атома или иона. При таком подходе модель структуры вещества описывается множеством наборов вида {Ьг,Хг,Уг, гг}, где ^ - тип частицы, а Хг, уг и - ее координаты. Временную эволюцию такой системы можно отследить с помощью молекулярно-динамического эксперимента, в результате проведения которого будут известны не только термодинамические параметры этой системы, но и координаты всех составляющих ее частиц.
Для оценки степени упорядоченности проэволюционировавшей системы необходимы алгоритмы, позволяющие найти в этой системе координационные многогранники и получить данные об их взаимном расположении такие, как информация о соседствующих многогранниках и об объединении таких многогранников в группы. Под соседством в данном случае понимается наличие у двух многогранников общей вершины, ребра или грани. В зависимости от количества соседей можно выделить несколько типов координационных многогранников. В частности, для описания структуры силикатных расплавов и стекол в настоящее время широко используют [1, 2] структурные единицы фп - кремниево-кислородные тетраэдры БО4, где п - число мостиковых(принадлежащих двум атомам кремния) атомов кислорода. Такой подход может быть распространен на любые типы координационных многогранников. В соответствии с этим, многогранники, не имеющие соседей, будем называть многогранниками типа ф0, имеющие одного со седа - ф1, двух соседей - Q‘2 ш так далее.
В данной статье представлен результат исследования по разработке метода анализа атомной структуры кластеров, формируемых при компьютерном моделировании неупорядоченных систем. Данный метод основывается на анализе информации о взаимном расположении координационных многогранников, описываемых конечным набором точек. Для
поиска этих многогранников предложен алгоритм, позволяющий в произвольном конечном множестве точек выявить подмножества, которые совпадают при наложении с некоторым заранее определенным набором точек (шаблоном). При этом поиск производится с учетом заданного допустимого отклонения расстояний между точками. Также рассмотрены простейшие способы анализа результатов поиска, в основе которых лежит рассмотрение графа, вершины которого соответствуют найденным координационным многогранникам, а ребра -их соединениям посредством общих вершин, ребер, граней.
Реализованная программа позволяет производить поиск координационных многогранников в компьютерной модели атомной структуры кластера, строить соответствующий граф и рассчитывать численные параметры, характеризующие его структуру. Программа состоит из двух модулей: модуля поиска точечных подмножеств и модуля анализа результатов поиска.
1. Существующие методы анализа структуры вещества
Решению задачи исследования структуры компьютерных моделей систем атомов посвящено множество работ. В работе [3] описан алгоритм сопоставления точечных множеств, позволяющий выявить степени различия или подобия упорядоченных структур. Для анализа неупорядоченных систем часто используется функция радиального распределения атомов д(г), определяющая плотность вероятности нахождения какой-либо частицы на расстоянии г от некоторой исходной частицы. Однако, для аморфных тел функция д(г) затухает при некоторых значениях г к, называемых дальностью корреляции, и поэтому удобна для описания только ближнего порядка. В работах [4, 5] для исследования компьютерных моделей жидкости и аморфных тел применялась разностная радиальная функция распределения, позволяющая оценить характер дальних осцилляций.
Также удачным средством для исследования структуры жидкостей оказался подход, основанный на геометрических методах Вороного-Делоне [6]. Многогранник Вороного является непосредственным геометрическим образом ближайшего окружения атома, вершины этого многогранника являются центрами симплексов Делоне, заполняющих пространство без зазоров и наложений. При использовании этих методов для анализа структуры рассматриваются различные метрические характеристики многогранников Вороного и симплексов Делоне. В работе [7] в качестве количественной характеристики формы симплекса используется длина его самого длинного ребра; в работах [5, 8] используются индексы тетраэдрич-ности и октаэдричности, характеризующие форму симлекса; в монографии [6] в качестве метрических характеристик многогранника предлагается использовать его объем, площадь поверхности и коэффициент сферичности.
В теоретической химии для изучения молекулярной структуры применяются такие математические теории, как топология и теория графов. С формальной точки зрения структура молекулы интерпретируется как граф, вершины которого соответствуют атомам, а ребра - связям. Различные инварианты (топологические индексы) этого графа зависят от структуры, поэтому производятся попытки увязать их значения с теми или иными физикохимическими свойствами различных веществ [9, 10].
2. Постановка задачи
Формально задача поиска точечных подмножеств состоит в следующем.
Пусть в п-мерном евклидовом пространстве Еп заданы два конечных множества точек X и У, также задано некоторое конечное множество натуральных чисел М С N. Причем каждой точке множеств X, У поставлено в соответствие некоторое натуральное число € М,
обозначающее тип этой точки. Множество У будем называть шаблоном поиска. Задача состоит в том, чтобы найти все такие подмножества X € X, равномощные с У, чтобы при наложении друг на друга множества X и У совпадали с точностью до некоторого заранее заданного положительного вещественного числа е. При этом, будем считать равномощные множества X и У совпадающими с точностью до е, если из элементов множества X можно составить последовательность {г}, а из элементов множества У - последовательность {уг}, так, чтобы ^ , а 1р(хг,х ^) — р(уг,у^)| < е для любых допустимых г,].
3. Поиск точечных подмножеств
Решение поставленной задачи представляет собой некоторый набор искомых подмножеств исходного точечного множества. Расположение этих подмножеств в пространстве может быть произвольным: они могут иметь общие точки, либо не пересекаться. Однако, для поиска коорднационных многогранников требуются дополнительные ограничения на взаимное расположение найденных подмножеств в пространстве. Например, для этой задачи недопустимо их перекрывание (рис. 1, г), т.к. в этом случае возникает неопределенность в том, какое из найденных подмножеств является координационным многогранником.
Определение 1. Будем, говорить, что два точечных подмножества X,У С перекрываются, если пересечение относительных внутренностей их выпуклых оболочек не пусто, то есть riConvX П ггСвиуУ = 0.
а d
СопуХ
1 Ь
СопуУ
с е ) е
а б в г
Рис. 1. Варианты взаимного расположения точечных множеств на плоскости
На рис. 1 представлены некоторые варианты взаимного расположения двух точечных множеств X и У на плоскости: (а) - множества X = {а, Ь,с} и У = {й, е, /} не пересекаются;
(б) - множества X и У и их выпуклые оболочки ConvX и СоииУ пересекаются в точке Ь;
(в) - множества X и У имеют две общие точки а и с, а их выпуклые оболочки - отрезок [а, с]; (г) - множества X и У не пересекаются, но перекрываются в смысле определения 1.
Частично решить проблему перекрывающихся подмножеств можно путем введения некоторого условия, позволяющего выделить из всех перекрывающихся подмножеств одно, «наиболее подходящее>. Например, при поиске треугольников на плоскости таким критерием может служить радиус описанной окружности. Так, если будет найдено несколько пересекающихся треугольников, то в соответствии с этим критерием выбрать нужно будет тот, радиус описанной окружности которого наиболее близок к радиусу описанной окружности шаблонного треугольника. Для точечных множеств более сложной конфигурации вместо радиуса описанной окружности, например, можно использовать диаметр множества, определяемый как 8иржуеМ р(х,у), где М С Еп.
Алгоритм поиска.
Входные данные: массив X, содержащий координаты и тип точек, среди которых будет производиться поиск; массив У, содержащий координаты и тип точек, составляющих шаблон поиска; вещественное число е, определяющее допустимое отклонение расстояний между точками.
Выходные данные: двумерный массив Я, каждая строка которого содержит номера точек входного массива X, совпадающих с шаблоном поиска с максимальным отклонением расстояний е.
Шаг 1. Формируем матрицу расстояний (гг-), где гг- - расстояние между г-ой и ]-ой точками массива У, и определяем пустой массив Я для хранения результатов поиска;
Шаг 2. Выбираем из массива У первую точку у к;
Шаг 3. Выбираем из массива X первую точку х%;
Шаг 4. Если тип точки хг совпадает с типом точки у к, переходим на Шаг 6;
Шаг 5. Выбираем из массива X следующую точку хг и переходим на Шаг 4;
Шаг 6. Формируем массив Е, содержащий один элемент - индекс точки Хг в массиве X;
Шаг 7. Выбираем из массива У следующую точку у к;
Шаг 8. Выбираем из массива X все точки х-, такие, что: индекс точки х- не содержится в массиве Е, тип х- совпадает с типом у к, а расстояния от точки х- до всех точек из X, номера которых содержатся в Е, совпадают с соответствующими элементами матрицы расстояний (г—) с точностью до е;
Шаг 9. Если таких точек нет, переходим к Шагу 5. Иначе для каждой точки х- формируем новый массив Е-, содержащий все индексы точек из массива Е, а также индекс точки х- в массиве X;
Шаг 10. Если все точки из массива У были выбраны, то в массивах Е- содержатся результаты поиска - записываем номера точек из каждого массива Е- в конец массива Я и переходим к Шагу 11. Иначе, последовательно обозначая каждый из получившихся массивов Е- за Е, продолжаем выполнение алгоритма с Шага 7;
Шаг 11. Выводим содержимое массива Я и завершаем выполнение алгоритма.
Предложенный алгоритм разработан на основе алгоритма сопоставления точечных множеств [3] и реализован в программе, предназначенной для анализа атомной структуры кластеров, формируемых при компьютерном моделировании. Атомные кластеры и координационные многогранники описываются наборами точек в трехмерном пространстве, поэтому разработанный алгоритм может быть применен к решению данной задачи.
4. Реализация
Для применения предложенного алгоритма к задаче исследования структуры кластеров была разработана программа, состоящая из двух модулей: модуля поиска точечных подмножеств и модуля анализа результатов.
Модуль поиска точечных подмножеств.
Данный модуль предназначен для поиска в массиве, описывающем некоторую систему атомов, заранее определенных структур. В большинстве проводимых экспериментов такими структурами являлись координационные многогранники.
Входные параметры: массив координат и типов атомов, в котором будет осуществляться поиск; массив координат и типов атомов, описывающий шаблон поиска; положительное вещественное число е, определяющее допустимые отклонения расстояний.
Суть работы модуля заключается в рекурсивном построении подсистем атомов исходного массива, совмещаемых с системой атомов, определяемой шаблоном поиска, операциями параллельного переноса, поворота и зеркального отражения, в соответствии с алгоритмом, изложенным выше.
а б
Рис. 2. Результаты поиска: (а) - кобальт-кислородных октаэдров в структуре оксида кобальта; (б) - кремниево-кислородных тетраэдров в структуре а-кварца
Результатом работы модуля является двумерный массив, каждая строка которого содержит номера атомов, образующих одно из найденных подмножеств. На рис. 2 представлена визуализация результата работы программы. В данном случае производился поиск: (а) -кобальт-кислородных октаэдров в упорядоченной структуре оксида кобальта (СоО); (б) -кремниево-кислородных тетраэдров в кристалле а-кварца. Также работоспособность реализованного алгоритма была проверена на некристаллических структурах (Рис. 3).
В ходе отладки была проведена проверка результатов поиска на корректность. Также оценивалось время выполнения алгоритма в зависимости от размеров обрабатываемых массивов и наличие перекрываемости оболочек найденных подмножеств в зависимости от значения параметра е.
Оптимальное значение параметра е определяется целью поиска. Так, например, при меньших значениях параметра можно обнаружить структуры, наиболее близкие к идеальному шаблону, при больших - более деформированные и зачастую перекрывающиеся.
На рис. 3 приведен результат поиска кремниево-кислородных тетраэдров (БЮ4): (а) - в структуре жидкого стекла легированного кобальтом Ма2Б14ОюСо; (б) - в структуре аморфного оксида кремния (БЮ2). Длина ребра (связь О -О ) идеального тетраэдра (шаблона) составляет ~ 2, 66 А, а значение параметра е принято за 0, 5 А. При таком значении параметра е лишь незначительная часть найденных тетраэдров перекрывают друг друга, при этом сравнение радиусов описанных сфер перекрывающихся тетраэдров с радиусом описанной сферы шаблонного тетраэдра позволяет отбросить «лишние» тетраэдры и получить более полную информацию о структуре системы атомов по сравнению с информацией, полученной при меньшем значении е.
Модуль анализа результатов
Данный модуль предназначен для построения графа, описывающего структуру исходной системы атомов на уровне найденных подмножеств (координационных многогранников), а также для расчета инвариантов этого графа, которые, по нашему мнению, могут быть использованы для количественного описания структуры кластеров, формируемых при компьютерном моделировании. Вершины этого графа соответствуют найденным подмножествам, а каждое его ребро - одной общей точке двух пересекающихся подмножеств.
б
а
Рис. 3. Результат поиска кремниево-кислородных тетраэдров: (а) - в структуре жидкого стекла, легированного кобальтом; (б) - в структуре аморфного оксида кремния
В общем случае полученную с помощью модуля поиска систему подмножеств можно описать некоторым несвязным мультиграфом. Анализ структуры этого графа с учетом дополнительной информации о найденных подмножествах (например, индекс тетраэдрично-сти [5, 7] для четырехточечных подмножеств), а также расчет различных топологических индексов может быть использован для поиска аналитических соотношений типа структура-свойство.
Входные данные: массив координат и типов атомов, в котором производился поиск (необходим для определения степени искаженности); двумерный массив результатов поиска, полученный с помощью модуля поиска.
Основным результатом работы модуля является массив вершин графа и массив его ребер. На основе этих массивов формируется двумерный массив, описывающий компоненты связности полученного графа. Выводится информация о количестве компонент связности, их средней и максимальной длине. Также для многогранников выводятся данные об их распределении по типам Q0 — (^п [1].
В таблице приведены характеристики четырех исследуемых кластеров (а-кварца, жидкого стекла, легированного кобальтом (^2814О10Со), аморфного оксида кремния (ЯЮ2) и кристаллического оксида кобальта (СоО)) и результаты их анализа, полученные с помощью данного программного модуля. Из таблицы видно, что численные характеристики такие как, количество компонент связности и среднее количество вершин в компоненте, сильно разнятся для кластеров в кристаллическом и аморфном состоянии. Для кластеров в кристаллическом состоянии характерно наличие у соответствующего графа только одной компоненты связности, поэтому среднее количество вершин в компоненте совпадает с общим количеством вершин. Графы неупорядоченных кластеров имеют множество компонент связности, многие из которых состоят из одной изолированной вершины. Таким образом, даже простейшие численные характеристики графа, построенного на основе информации о взаимном расположении координационных многогранников, отражают особенности атомной структуры кластера. Расчет и объединение подобных характеристик в более сложные интегральные топологические индексы может быть использован для построения корреляций типа структура-свойство.
Таблица
Результаты анализа различных кластеров
а-кварц Ка28140юСо Я102 Со0
Количество частиц в кластере 1125 1190 1200 1000
Форма кластера пара. 1.1-л шар шар куб
Диаметр кластера, А 45,6 35,3 33,6 33,1
Площадь поверхности кластера, 1000А2 3,2 3,1 2,6 2,2
Объем кластера, 1000А3 14,1 17,0 11,2 6,6
Доля атомов в поверхностном слое толщиной 2,5А, % 59,4 45,3 53,0 78,4
Тип координационного многогранника тетраэдр тетраэдр тетраэдр октаэдр
Отклонение расстояний е, А 0,4 0,4 0,4 0,5
Количество найденных многогранников 280 186 185 256
Среднее количество смежных вершин по всем вершинам 3,20 1,80 1,83 9,19
Количество компонент связности 1 33 29 1
Среднее количество вершин в компоненте 280,00 5,64 6,38 256,00
Количество изолированных вершин (^0) 0 16 20 0
Порядок наибольшей компоненты связности 280 43 140 256
Заключение
В результате данной работы предложен метод исследования атомной структуры кластеров, формируемых при компьютерном моделировании, основанный на анализе взаимного расположения координационных многогранников. Также предложен алгоритм поиска подмножеств в конечных точечных множествах, лежащий в основе данного метода. Он описан в самом общем виде и может быть использован для решения широкого круга задач. Проверка программной реализации этого алгоритма была выполнена на кластерах различной формы, структуры и состава. Анализ результатов работы программы показал, что предложенный метод может быть использован для исследования неупорядоченных атомных систем.
Работа выполнена при поддержке Программы стратегического развития (ПСР) ПетрГУ в рамках реализации комплекса мероприятий по развитию научноисследовательской деятельности на 2012 - 2016 гг.
Литература
1. Анфилогов, В.Н. Силикатные расплавы / В.Н. Анфилогов, В.Н. Быков., А.А. Осипов.
- М.: Наука, 2005. - 357 с.
2. Королева, О.Н. Физико-химическая модель натриевосиликатного расплава и термодинамика ^-единиц / О.Е. Королева, А.А. Тупицын, В.А. Бычинский // Вестник ЮУрГУ. Серия: Химия. - 2012. - № 36. - С. 39-44.
3. Тарачева, И.А. Решение задачи сопоставления точечных множеств для выявления общих подмножеств / И.А. Тарачева, Б.М. Щедрин // Кристаллография. - 1994. - Т. 39, № 4. - С. 586-589.
4. Волошин, В.П. Радиальные функции рапределения атомов и пустот в больших компьютерных моделях воды / В.П. Волошин, Н.Н. Медведев, Ю.И. Наберухин, А. Гайгер, М. Клене // Журнал структурной химии. - 2005. - Т. 46, № 3. - С. 451-458.
5. Наберухин, Ю.И. Структура больших некристаллических леннард-джонсовских моделей / Ю.И. Наберухин, В.П. Волошин // Журнал структурной химии. - 2006. - Т. 47, № 7. - С. 129-143.
6. Медведев, Н.Н. Метод Вороного-Делоне в исследовании структуры некристаллических систем / Н.Н. Медведев. - Новосибирск: Изд-во СО РАН, 2000. - 214 с.
7. Anikeenko, A.V. Polytetrahedral Nature of the Dense Disordered Packings of Hard Spheres / A.V. Anikeenko, N.N. Medvedev // Physical review letters. - 2007. - 98(23), 235504.
8. Anikeenko, A.V. Shapes of Delaunay Simplixes and Structural Analisis of Hard Sphere Packings / A.V. Anikeenko, M.L. Gavrilova, N.N. Medvedev //in book: Generalized Voronoi Diagram: A Geometry-Based Approach to Computational Intelligence. - 2008. - SCI Vol. 158
- pp. 13-45.
9. Зефиров, H.C. Применение теории графов в химии / Н.С. Зефиров, С.И. Кучанов. -Новосибирск: Наука, 1988. - 306 с.
10. Кинг Р. Химические приложения топологии и теории графов / Р. Кинг. - Москва: Мир, 1987. - 560 с.
Дмитрий Сергеевич Крупянский, аспирант, кафедра «Физика твердого тела>, Петрозаводский государственный университет (г. Петрозаводск, Российская Федерация), krup j anski@r ambler .ru.
Анатолий Дмитриевич Фофанов, доктор физико-математических наук, профессор, кафедра «Физика твердого тела>, Петрозаводский государственный университет (г. Петрозаводск, Российская Федерация), afofanov@psu.karelia.ru.
Поступила в редакцию 16 декабря 2013 г.
Bulletin of the South Ural State University. Series "Mathematical Modelling, Programming & Computer Software",
2014, vol. 7, no. 2, pp. 46-54.
MSC 68U01 DOI: 10.14529/mmpl40204
An Algorithm Searching for Point Subsets with Applications to the Analysis of the Atomic Structure of Modelled Clusters
D.S. Krupyanskiy, Petrozavodsk State University, Petrozavodsk, Russian Federation, krup j anski@r ambler .ru,
A.D. Fofanov, Petrozavodsk State University, Petrozavodsk, Russian Federation, afofanov@psu.karelia.ru
This article presents the results of efforts to develop a method for analyzing the atomic structure of clusters obtained in computer simulations. The method is based on looking for coordination polyhedra in the clusters and constructing a graph to describe their relative positions. It requires us to calculate topological invariants of this graph in order to compare them with the physical and chemical properties of the corresponding clusters. To find coordination polyhedra, we propose an algorithm searching for point subsets using a template. We apply the method to clusters of various form, structure, and composition. We suggest several simple graph invariants reflecting the structure of clusters. The algorithm is implemented in a program which enables us to find coordination polyhedra, construct the corresponding graph, and calculate the invariants.
Keywords: searching for point subsets; atomic structure modelling; structure analysis.
References
1. Anfilogov V.N., Bykov V.N., Osipov A.A. Silikatnye rasplavy [The Silicate Melts]. Moscow, 2005. 357 p.
2. Koroleva O.N., Tupitsyn A.A., Bychinskiy V.A. [Physicochemical Model of Sodium Silicate Melt and Thermodynamics of Qra-speciesJ. Bulletin of the South Ural State University. Series "Chemistry”, 2012, no. 36, pp. 39-44. (in Russian)
3. Taracheva I.A., Shchedrin B.M. [Solution of a Problem of Comparison of Point Sets for Common Subsets Detection]. Kristallografiya, 1994, vol. 39, no. 4, pp. 586-589. (in Russian)
4. Voloshin B.P., Medvedev N.N., Naberukhin YU.I., Geiger A., Klene M. Radial Distribution Functions of Atoms and Voids in Large Computer Models of Water. Journal of Structural Chemistry, 2005, vol. 46, no. 3, pp. 438-445. DOI: 10.1007/sl0947-006-0122-l
5. Naberukhin YU.I., Voloshin B.P. Structure of Large Noncrystalline Lennard-Jones Models. Journal of Structural Chemistry, 2006, vol. 47, supplement, pp. 126-140. DOI: 10.1007/sl0947-006-0387-4
6. Medvedev N.N. Metod Voronogo-Delone v issledovanii struktury nekristallicheskikh sistem [The Voronoi-Delaunay Method for Non-crystalline Structures]. Novosibirsk, 2000. 214 p.
7. Anikeenko A.V., Medvedev N.N. Polytetrahedral Nature of the Dense Disordered Packings of Hard Spheres. Physical Review Letters, 2007, 98(23), 235504(4).
8. Anikeenko A.V., Gavrilova M.L., Medvedev N.N. Shapes of Delaunay Simplixes
and Structural Analisis of Hard Sphere Packings. Generalized Voronoi Diagram: A
Geometry-Based Approach to Computational Intelligence, 2008, SCI vol. 158, pp. 13-45. DOI: 10.1007/978-3-540-85126-4_2
9. Zefirov N.S. Primenenie teorii grafov v khirnii [Graph Theory Application for Chemistry]. Novosibirsk, Nauka, 1988. 306 p.
10. King R.B. Chemical Applications of Topology and Graph Theory, New York, Elsevier, 1983.
Received December 16, 2013