Алгоритмы сравнительного исследования двух инвариантов графа - МЕЛЬНИКОВ, Б.Ф.; ЧУРИКОВА, Н.П. (Современные информационные технологии и IT-образование, 2019)
Алгоритмы определения изоморфности графов имеют широкое применение в различных областях, таких как: задачи синтаксического и структурного распознавания образов, задачи математической химии, исследование социальных сетей и Интернета, а также соответствующих математических моделей. Кроме того, эти алгоритмы имеют большое значение в теории графов: например, они используются как вспомогательные при вычислении древесной ширины графов. В статье рассмотрены основные существующие подходы к решению проблемы изоморфизма, как точные, так и эвристические. На настоящий момент еще не построен алгоритм, позволяющий решить эту задачу за полиномиальное время, но и доказательств невозможности построения такого алгоритма нет. Работа посвящена исследованию простых связных графов и некоторых быстро вычисляемых инвариантов, а именно: индекса Рандича и вектора степеней второго порядка. Описывается алгоритм создания базы данных, формат данных, программная реализация вычислений и полученные результаты. Приведены результаты сравнения дифференцирующей способности этих инвариантов. Вычисления проводились для всех связных графов с количеством вершин 8, 9 и 10. В качестве программных средств для реализации используются система управления базами данных MongoDB и язык программирования Python 2.7, для создания базы данных использовалась программа nauty, позволяющая получить набор, состоящий из всех связных неизоморфных графов с заданным количеством вершин. Algorithms of definition of isomorphism of graphs have wide application in various areas, such as: problems of syntactic and structural recognition of images, problems of mathematical chemistry, research of social networks and the Internet, and also corresponding mathematical models. In addition, these algorithms are of great importance in graph theory: for example, they are used as auxiliary ones in calculating the wood width of graphs. In this paper, we consider the main existing approaches to solving the problem of isomorphism, both full and heuristic ones. At present, there is no algorithm that allows solving this problem in polynomial time, but there is no evidence of the impossibility of constructing such an algorithm. The work is devoted to the study of simple connected graphs and some quickly calculated invariants, namely: the Randić Index and the second-order degree vector. The algorithm of database creation, data format, programmatic implementation of calculations and obtained results are described. The results of comparison of differentiation ability of these invariants are given. Calculations were performed for all connected graphs with the number of vertices 8, 9, and 10. The MongoDB database management system and the Python 3.6 programming language are used as software tools for implementation, and a nauty program was used to create the database, which allows you to get a set consisting of all connected Non-isomorphic graphs with a specified number of vertices. The obtained results allow us to speak about the possibility of their application in the tasks of equivalent conversion of non-deterministic finite machines, construction of effective algorithms for determining the wood width of the graph and some others.