УДК 519.1
ЭФФЕКТИВНОСТЬ РАСПАРАЛЛЕЛИВАНИЯ МЕТОДА МАГУ ПОЛУЧЕНИЯ КЛИК ГРАФА
В. Г. Кобак, Д. В. Павловский
Донской государственный технический университет (г. Ростов-на-Дону, Российская Федерация)
Аннотация. Рассматривается задача определения кликового числа неориентированного графа без петель на п вершинах. Известно, что такая задача является КР-полной. Анализируется эффективность распараллеливания метода Магу нахождения максимальной клики графа с точки зрения скорости работы. Приводятся результаты применения метода для различных графов. Цель данной работы — нахождение зависимости времени работы от числа задействованных сопроцессоров при нахождении максимальной клики.
Ключевые слова: максимальная клика, КР-полная задача, кликовое число графа.
EFFICIENCY OF PARALLELIZATION OF THE MAGU METHOD FOR OBTAINING A CLICK GRAPH
Valeriy G. Kobak, Denis V. Pavlovskiy
Don State Technical University (Rostov-on-Don, Russian Federation)
Abstract. The paper considers the problem of determining the clique number of an undirected graph without loops on n vertices. It is known that such a problem is NP-complete. The paper analyzes the efficiency of parallelization of the Magu method of finding the maximum clique of the graph in terms of speed. The results of applying the method for various graphs are presented. The work objective is to find the dependence of the operating time on the number of coprocessors involved when finding the maximum clique.
Keywords: maximal clique, NP-complete problem, the clique number of the graph.
Введение. В настоящее время широкое распространение получила аналитика, связанная с анализом графов, в частности, существуют задачи, связанные с нахождением максимального полного подграфа заданного графа. Эта задача также известна как «проблема клики». Учитывая то, что задача нахождения максимальной клики является NP-полной, сведение к ней практических задач становится неэффективным [1]. Так как процесс нахождения точного решения является затратным по времени, во многих случаях для решения прикладных задач используются более быстрые приближенные методы решения. Однако в ряде областей критически необходимо нахождения точного решения, в подобных случаях с использованием современных вычислительных машины можно ускорить метод Магу путем распределения вычислительных задач на несколько процессоров.
Основная часть. Постановка задачи. Для простого, неориентированного графа без петель и кратных ребер полный подграф называется кликой, а наибольшая по числу входящих вершин клика — максимальной. Иначе говоря, максимальной кликой называется наибольшее из возможных подмножеств вершин графа, где между каждой парой вершин существует ребро [2].
Таким образом, задача о максимальной клике является задачей о нахождении максимального по числу вершин полного подграфа в заданном графе.
Метод Магу. Известно, что задачу нахождения клик в графе можно свести к задаче нахождения внутренне устойчивого подмножества в графе, дополнительном к заданному [3]. Для нахождения максимального внутренне устойчивого подмножества используется метод Магу.
Для каждой строки в матрице смежности графа, дополненной единицами по главной диагонали, выпишем парные дизъюнкции. Полученное выражение приведем к дизъюнктивной нормальной форме (ДНФ). Все вершины, входящие в элементарную конъюнкцию, образуют множество внешней устойчивости. По полученным множествам внешней устойчивости графа О* можно получить клики графа G, построив для каждого множества внешней устойчивости дополнительное множество.
Способ распределения вычислительных задач на несколько процессоров. В ходе применения метода Магу, а именно при построении ДНФ, неоднократно выполняется операция раскрытия скобок и упрощения, причем порядок раскрытия скобок не влияет на конечный результат. Аналогичными признаками обладает и широко известная задача редукции элементов массива, очевидно, что схожие методы распараллеливания могут быть применены и к задаче построения ДНФ: распределение равных частей массива на несколько процессоров для одновременного выполнения операций раскрытия скобок в каждой из частей и последующего применения аналогичных действий к полученным результатам [4].
Например, граф G, заданный матрицей смежности (рис. 1, 2). Построим G*, дополнительный к G, и также представим его в виде матрицы смежности, дополнив единицами по главной диагонали. Матрица смежности G* представлена на рис. 3.
в 1 2 3 4 5 б
1 0 1 1 1 0 0
2 1 0 1 0 0 1
3 1 1 0 0 0 1
4 1 0 0 0 1 о
5 о 0 0 1 0 1
6 0 1 1 0 1 0
Рис. 1. Матрица смежности графа О
Рис. 2. Граф О
С* 1 2 3 4 Б 6
1 1 0 0 0 1 1
2 0 1 0 1 1 0
Ъ 0 0 1 1 1 0
4 0 1 1 1 0 1
Б 1 1 1 0 1 0
б 1 0 0 1 0 1
Рис. 3. Матрица смежности графа О*
Выпишем дизъюнкции для каждой строки: (1 и 5) П (1 и 6) П (2 и 4) П (2 и 5) П (3 и 4) П (3 и 5) П (4 и 6).
Разделим входные параметры на четыре примерно равные части: Часть 1:
(1 и 5) П (1 и 6).
Часть 2:
(2 и 4) П (2 и 5).
Часть 3:
(3 и 4) П (3 и 5).
Часть 4:
(4 и 6).
Выполнив все доступные допустимые операции поглощения и идемпотентности, для каждой части получим результат. Часть 1 :
1 и (5 П 6)
Часть 2:
2 и (4 П 5)
Часть 3:
3 и (4 П 5)
Часть 4:
4и6
Выполнив все операции упрощения для полученных ранее результатов, получим ДНФ: (1П2П3П4)и(1П2П3П6)и(2П3П5П6)и(1П4П5)и(4П5П6)
Для каждой конъюнкции выписываем недостающие вершины, образующие клики графа О: {5, 6}, {4, 5}, {1, 4}, {2, 3, 6}, {1, 2, 3}, которые представлены на рис. 4.
Рис. 4. Клики графа G
Вычислительный эксперимент. С помощью программного средства, написанного на языке программирования C#, был проведен вычислительный эксперимент по проверке эффективности распараллеливания метода Магу. В качестве аппаратного обеспечения использовался компьютер с процессором AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx и оперативной памятью объемом 8 ГБ. Исходными данными эксперимента являются сгенерированные случайным образом неориентированные графы без петель с 30 вершинами. Было проведено по 50 тестов с задействованием 1, 2, 3, 4 процессоров. Результаты эксперимента представлены в таблице 1.
Таблица 1
Результаты вычислительного эксперимента
Число Время работы распараллеленного Время работы Отношение
процессоров метода, t1, с прямого метода t2, с T2/t1, с
1 108.88 94.64 0.87
2 52.64 95.93 1.82
3 33.83 94.28 2.79
4 25.69 95.55 3.72
Заключение. Оценивая полученные результаты вычислительного эксперимента, можно сделать вывод о том, что увеличение скорости решения при нахождении максимальной клики с помощью алгоритма Магу прямо пропорционально количеству задействованных сопроцессоров.
Библиографический список
1. Макконнелл, Дж. Анализ алгоритмов / Дж. Макконнелл. — Москва : Техносфера, 2002. — 304 с.
2. Pardalos, Panos M. The maximum clique problem / Panos M. Pardalos, J. Xue // Journal of global Optimization. — 1994. — Vol. 4, Iss. 3. — P. 301-328.
3. Кофман, A. Введение в прикладную комбинаторику / А. Кофман. — Москва : Наука, 1975. — 480 с.
4. Vishkin, U. Thinking in Parallel: Some Basic Data-Parallel Algorithms and Techniques / USERS.UMIACS : [сайт]. — URL :
http://users.umiacs.umd.edu/~vishkin/PUBLICATIONS/classnotes.pdf (дата обращения: 20.12.2022).
Об авторах:
Кобак Валерий Григорьевич, профессор кафедры ПОВТиАС Донского государственного технического университета (344003, РФ, г. Ростов-на-Дону, пл. Гагарина, 1), доктор технических наук, профессор, [email protected]
Павловский Денис Валерьевич, студент кафедры ПОВТиАС Донского государственного технического университета (344003, РФ, г. Ростов-на-Дону, пл. Гагарина, 1), PavlovskiyD.V@yandex .ru
About the Authors:
Valeriy G. Kobak, professor of the Computer Hardware and Automated Systems Software Department, Don State Technical University (1, Gagarina sq., Rostov-on-Don, RF, 344003), Dr. Sci. (Eng.), professor, [email protected]
Denis V. Pavlovskiy, student of the Computer Hardware and Automated Systems Software Department, Don State Technical University (1, Gagarina sq., Rostov-on-Don, RF, 344003), PavlovskiyD.V@yandex .ru