Научная статья на тему 'СРАВНЕНИЕ РАЗЛИЧНЫХ МЕТОДОВ ПОЛУЧЕНИЯ КЛИКИ ГРАФА'

СРАВНЕНИЕ РАЗЛИЧНЫХ МЕТОДОВ ПОЛУЧЕНИЯ КЛИКИ ГРАФА Текст научной статьи по специальности «Математика»

CC BY
27
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАКСИМАЛЬНАЯ КЛИКА / NP-ПОЛНАЯ ЗАДАЧА / КЛИКОВОЕ ЧИСЛО ГРАФА

Аннотация научной статьи по математике, автор научной работы — Кобак В. Г., Павловский Д. В.

Рассматривается задача об определении кликового числа неориентированного графа без петель на n вершинах. Известно, что такая задача является NP-полной. Существуют различные алгоритмы поиска максимальной клики в графе. В работе анализируются метод локального поиска посредством постепенного добавления вершин в клику и алгоритм Магу с точки зрения скорости и точности работы. Приводятся результаты применения этих методов для различных графов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPARISON OF DIFFERENT METHODS FOR OBTAINING A GRAPH CLIQUE

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. There are various algorithms for finding the maximum clique in the graph. The paper analyzes the method of local search by gradually adding vertices to the clique and the Magu algorithm in terms of speed and accuracy of work. The results of the application of these methods for various graphs are presented

Текст научной работы на тему «СРАВНЕНИЕ РАЗЛИЧНЫХ МЕТОДОВ ПОЛУЧЕНИЯ КЛИКИ ГРАФА»

УДК 621.893

СРАВНЕНИЕ РАЗЛИЧНЫХ МЕТОДОВ ПОЛУЧЕНИЯ КЛИКИ ГРАФА В. Г. Кобак, Д. В. Павловский

Донской государственный технический университет (г. Ростов-на-Дону, Российская Федерация)

Рассматривается задача об определении кликового числа неориентированного графа без петель на п вершинах. Известно, что такая задача является К?-полной. Существуют различные алгоритмы поиска максимальной клики в графе. В работе анализируются метод локального поиска посредством постепенного добавления вершин в клику и алгоритм Магу с точки зрения скорости и точности работы. Приводятся результаты применения этих методов для различных графов.

Ключевые слова: максимальная клика, К?-полная задача, кликовое число графа.

COMPARISON OF DIFFERENT METHODS FOR OBTAINING A GRAPH CLIQUE Valery G. Kobak, Denis V. Pavlovskiy

Don State Technical University, (Rostov-on-Don, Russian Federation)

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. There are various algorithms for finding the maximum clique in the graph. The paper analyzes the method of local search by gradually adding vertices to the clique and the Magu algorithm in terms of speed and accuracy of work. The results of the application of these methods for various graphs are presented.

Keywords: maximum clique, NP-complete problem, clique number of the graph.

Введение. В настоящее время в ряде областей используется аналитика, связанная с анализом графов. В частности, существуют задачи, связанные с нахождением максимального полного подграфа заданного графа. Эта задача также известна как «проблема клики». Учитывая, что задача нахождения максимальной клики является NP-полной, сведение к ней практических задач становится неэффективным [1]. Однако очевидно, что в практических задачах не всегда существует необходимость получения точных значений. В таком случае можно использовать алгоритм, дающий приближенный результат. Цель данной работы — исследовать несколько методов нахождения клики (точный и приближенный).

Постановка задачи. Для простого неориентированного графа без петель и кратных ребер кликой называют подмножество вершин, таких, что существует ребро между любыми вершинами этого подмножества. То есть подграф, образуемый этими вершинами, является полным.

Максимальной кликой графа называют клику, которая является наибольшей по числу вершин из всех возможных клик данного графа [2].

Таким образом, задача о максимальной клике является задачей о нахождении максимального по числу вершин полного подграфа в заданном графе.

Методы решения задачи о максимальной клике. Существует два основных класса методов решения задачи о максимальной клике: точный и приближенный. В данной работе рассматривается метод Магу, как пример точного и метод поиска клики путем постепенного добавления в нее вершин, как пример приближенного.

Метод Магу. Известно, что задачу нахождения клик в графе можно свисти к задаче нахождения внутренне устойчивого подмножества в графе, дополнительном к заданному [3]. Для нахождения максимального внутренне устойчивого подмножества используется метод Магу.

Для каждой строки в матрице смежности графа, дополненной единицами по главной диагонали, выпишем парные дизъюнкции. Полученное выражение приведем к ДНФ. Все вершины, входящие в элементарную конъюнкцию, образуют множество внешней устойчивости. По полученным множествам внешней устойчивости графа G* можно получить клики графа G, построив для каждого множества внешней устойчивости дополнительное множество.

Например, для графа G, заданного матрицей смежности, представленной на рис. 1, построим G* дополнительный к G и также представим его в виде матрицы смежности, дополнив единицами по главной диагонали. Матрица смежности G* представлена на рис. 2.

Рис. 1. Матрица смежности графа О

Рис. 2. Матрица смежности графа О* Выпишем дизъюнкции для каждой строки:

(лив)п(лис)п(^и£)п(ли иС) П (В иС) П (В ий) П (б иЯ) П (С иР) П (Яи^)

Приведем к ДНФ, выполняя все допустимые операции поглощения и идемпотентности.

(BnCnЯnF)U(ЛnCnДn£)U(ЛnBnF) Для каждой конъюнкции выписываем недостающие вершины, образующие клики графа G: {Л,Б},{Б, Б},{САЕ}.

Метод поиска клики путем постепенного добавления в нее вершин. В качестве метода, дающего приближенное решение, будет рассмотрен метод поиска клики путем постепенного добавления в нее вершин [4]. Его основная идея заключается в предположении, что в максимальную клику входит вершина с наибольшим числом связанных ребер.

L4QQ/J

Рассмотрим последовательность действий при реализации данного метода.

1. Просматривая вершины в графе, находим вершину, которая имеет наибольшую степень. Записываем ее во множество вершин, входящих в клику.

2. Найдем совокупность вершин, связанных с кликой. Если совокупность пустая, то заканчиваем работу алгоритма.

3. Выбираем из полученного множества вершину с наибольшей степенью. В случае, если таких несколько, произвольно выбираем одну. Затем, переходим к шагу 2.

Необходимо учесть, что если вершина с наибольшей степенью не входит в максимальную клику графа, то работа алгоритма не приводит к точному результату. При использовании данного алгоритма необходимо это учесть, что является недостатком.

Вычислительный эксперимент. С помощью программного средства, написанного на языке программирования C#, был проведен сравнительный вычислительный эксперимент эффективностей метода поиска клики путем постепенного добавления в нее вершин и метода Магу. В качестве аппаратного обеспечения использовался компьютер с процессором Intel Core i5-8250U и оперативной памятью объемом 8гб. Исходными данными эксперимента являются сгенерированные случайным образом неориентированные графы без петель с числом вершин 10, 20, 30, 40. Для каждой размерности было проведено 50 тестов. Результаты эксперимента представлены в таблице 1.

Таблица 1

Результаты вычислительного эксперимента

Число вершин Название алгоритма Время работы, с Точность

10 Алгоритм Магу 0,00266067 1

20 Алгоритм Магу 0,1976423 1

30 Алгоритм Магу 22,41326987 1

40 Алгоритм Магу 614,2312168 1

10 Алгоритма с постепенным добавлением вершин 0,000055464 0,969

20 Алгоритма с постепенным добавлением вершин 0,000065658 0,966706

30 Алгоритма с постепенным добавлением вершин 0,00019934 0,935698

40 Алгоритма с постепенным добавлением вершин 0,000026193 0,920942

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

Список литературы

1. Макконелл Дж. Анализ алгоритмов / Дж. Макконелл — Москва : Техносфера, 2002. —

302 с.

L4QQ/J

2. Pardalos, P. M., Xue, J. The maximum clique problem / P. M. Pardalos, J. Xue, // Journal of global Optimization. — 1994. — Vol. 4, Iss. 3. — P. 301-328. 10.1007/BF01098364

3. Кофман, А. Введение в прикладную комбинаторику. / А. Кофман — Москва: Наука, 1975. — 480 с.

4. Katayama, K. An effective local search for the maximum clique problem / K. Katayama, A. Hamamoto, H. Narihisa // Information Processing Letters. — 2005. №95. — P. 503-511. 10.1016/j .ipl.2005.05.010

Об авторах:

Кобак Валерий Григорьевич, профессор кафедры «Программное обеспечение вычислительной техники и автоматизированных систем» Донского государственного технического университета (344003, РФ, г. Ростов-на-Дону, пл. Гагарина, 1), доктор технических наук, профессор, [email protected]

Павловский Денис Валерьевич, студент кафедры «Программное обеспечение вычислительной техники и автоматизированных систем» Донского государственного технического университета (344003, РФ, г. Ростов-на-Дону, пл. Гагарина, 1), PavlovskiyD.V@yandex .ru

About the Authors:

Kobak, Valery G., Professor, Computer Engineering and Automated Systems Software Department, Don State Technical University (1, Gagarin sq., Rostov-on-Don, 344003, RF), Dr. Sci. (Eng.), Professor, [email protected]

Pavlovskiy, Denis V., Student, Computer Engineering and Automated Systems Software Department, Don State Technical University (1, Gagarin sq., Rostov-on-Don, 344003, RF), PavlovskiyD.V@yandex .ru

i Надоели баннеры? Вы всегда можете отключить рекламу.