МАТЕМАТИКА MATHEMATICS
УДК 519.8
DOI 10.25513/1812-3996.2018.23(1).4-9
ОБ ОДНОЙ ЗАДАЧЕ КЛАСТЕРИЗАЦИИ ГРАФА
А. В. Моршинин
Институт математики им. С. Л. Соболева СО РАН, Омский филиал, г. Омск, Россия
Информация о статье
Дата поступления
12.12.2017
Дата принятия в печать
09.01.2018
Аннотация. В статье рассматривается задача кластеризации графа, известная также как задача аппроксимации графа. Для задачи кластеризации с числом кластеров, не большим трех, предложены два полиномиальных приближенных алгоритма. Приведены результаты экспериментального исследования этих алгоритмов.
Дата онлайн-размещения 28.03.2018
Ключевые слова
Граф, кластеризация, NP-трудная задача, приближенный алгоритм, гарантированная оценка точности
ON A GRAPH CORRELATION CLUSTERING PROBLEM
A. V. Morshinin
Sobolev Institute of Mathematics SB RAS, Omsk Branch, Omsk, Russia
Article info
Received
12.12.2017
Accepted
09.01.2018
Abstract. In the paper, we consider a graph correlation clustering problem, also known under the name of the graph approximation problem. For the graph correlation clustering problem, in which the number of clusters does not exceed three, two polynomial time approximation algorithms are proposed. We present the results of an experimental study of these algorithms.
Available online 28.03.2018
Keywords
Graph, clustering, NP-hard problem, approximation algorithm, performance guarantee
1.Введение
Задача кластеризации может быть сформулирована следующим образом: необходимо разбить заданное множество объектов на несколько подмножеств (кластеров), принимая во внимание лишь сходство объектов друг с другом. Наглядной форма-
лизацией задачи кластеризации является задача кластеризации графа. В этой задаче сходство объектов задается с помощью ребер графа, вершины которого взаимно однозначно соответствуют данным объектам.
Далее мы будем рассматривать только обыкновенные графы, т. е. графы без петель и кратных ребер. Обыкновенный граф называется кластерным графом, если каждая его компонента связности является полным графом.
Обозначим через M(V) множество всех кластерных графов на множестве вершин V, через Mk(V) - множество всех кластерных графов на V, имеющих ровно k непустых компонент связности, а через M1,k(V) - множество всех кластерных графов на V, имеющих не более k компонент связности, 2 < k < IVI.
Если Gi = (V, E1) и G2 = (V, E2) - обыкновенные помеченные графы на одном и том же множестве вершин V, то расстояние p(G1, G2) между ними определяется как
p(G1,G2) = \E1AEl\ = |£Д E2\+| Ег\,
т. е. p(G1, G2) - число несовпадающих ребер в графах G1 и G2.
В литературе рассматривались три варианта задачи кластеризации графа, ранее известной под названием задачи аппроксимации графа [1-8].
Задача GC. Дан обыкновенный граф G = (V, E). Найти такой граф M *6 M(V), что
p(G,M') = minMeM(v)p(G,M).
Задача GCk. Дан обыкновенный граф G = (V, E) и целое число k, 2 < k < |V|. Найти такой граф M *Е Mk(V), что
p(G,M') = т\ПммV) P(G,M).
Задача GC1,k. Дан обыкновенный граф G = (V, E) и целое число k, 2 < k < |V|. Найти такой граф M *Е M1,k(V), что
p(G>M') = minMMk(v) P(GM).
В последние годы задачи кластеризации графов неоднократно переоткрывались и независимо изучались под разными названиями (Correlation Clustering [3], Cluster Editing [4; 8]).
В настоящей работе рассмотрен вариант задачи GC1,k при k = 3. Для нее предложен полиномиальный приближенный алгоритм A с гарантированной оценкой точности. Также рассмотрен алгоритм A', который является модификацией алгоритма A. Для анализа точности данных алгоритмов проведено их экспериментальное исследование.
2. Предварительные сведения
Вычислительная сложность задач кластеризации графов в течение длительного времени оставалась неизвестной. К настоящему времени установлена справедливость следующей теоремы.
Теорема 1 [1; 3; 6; 7]. Задача GC является МР-трудной. Задачи GCk и GCl,k являются МР-трудными при любом фиксированном к > 2, причем для к = 2 они МР-трудны на кубических графах.
Если Р * NP, то согласно теореме 1 для задачи GCl,k нельзя найти оптимальное решение за полиномиальное время. Следовательно, имеет смысл искать приближенные решения, которые можно получить за полиномиальное время. В 2004 г. Бансал, Блюм, Чаула [3] разработали 3-приближенный алгоритм решения задачи GCl,2. В 2008 г. Коулман, Саун-дерсон и Вирт [5] предложили 2-приближенный алгоритм решения задачи GCl,2, применив процедуру локального поиска к допустимому решению, полученному с помощью 3-приближенного алгоритма из статьи [3].
Пусть в1 = (V, £1) и в2 = (V, £2) - два помеченных графа, п = | VI. Через 0(61, 62) обозначим граф на множестве вершин V с множеством ребер £^£2. Заметим, что р(в1, 62) - это количество ребер в графе й(в1, в2).
Следующее утверждение легко доказывается с помощью леммы о рукопожатиях.
Лемма 1 [2]. Пусть Ьтт - минимальная из степеней вершин в графе й(в1, в2). Тогда
р(в1,в1)>^ .
3. Полиномиальный алгоритм приближенного решения задачи вС1,3
Через Ме(у) обозначим окрестность вершины V, т. е. множество вершин графа в = (V, £), смежных с V. Через Лв^) обозначим, соответственно, множество вершин графа в, несмежных с V: = V\
и {V}).
Для множеств VI,..., V £ V, таких, что V; П V] = 0 для любых ¡,] 6 {1, ..., 5} и Vl и ... и Vs = V, обозначим через М (V, ..., Ув) кластерный граф из множества Ml,s(V) с компонентами связности, порожденными множествами V;, ..., Ув. Сами множества V;, ..., Ув будем называть кластерами. Некоторые из множеств V; могут быть пустыми.
Представленный ниже полиномиальный алгоритм A является 6-приближенным алгоритмом решения задачи GCl,з.
Алгоритм А.
Дан граф в = (V, £), | VI = п, п > 2.
Шаг 1. Если п = 2, то М = в. Стоп. Иначе переход на шаг 2.
Шаг 2. Для каждой вершины ж 6 Vвыполнить:
Шаг 2.1. Vl = {ж} и Ыв(м). Если Vl = V, то Мж -полный граф, иначе переход на шаг 2.2.
Шаг 2.2. Gl - подграф графа G, порожденный множеством V\Vl. Приближенно решить задачу вС1,2 на графе Gl:
Шаг 2.2.1. Для каждой вершины u 6 V\Vl определить кластерный граф Mu 6 М1,2(У\№) следующим образом: вершина u и все смежные с ней вершины графа Gl принадлежат одной компоненте связности графа Mu, а все несмежные с u вершины - другой компоненте.
Шаг 2.2.2. Среди всех графов Mu выбрать такой граф М1, что
р(в1,М1) = тп^^ Р(с1,ми) •
Далее, к графу М1 применить процедуру локального поиска, предложенную Коулманом, Саун-дерсоном и Виртом [5]. Полученный кластерный граф обозначить через М1 = M(V2, Vз) (возможно, Vз = 0). Положить Mw = M(Vl, V2, Vз).
Шаг 3. Среди всех графов Mw выбрать ближайший к G кластерный граф M:
р(в,М) = тт^ р(в,Мш).
Конец.
Замечание. Трудоемкость алгоритма А - O(n5).
Справедлива следующая гарантированная оценка точности алгоритма А.
Теорема 2. При п > 3 для любого п-вершинного графа G = (V, E) имеет место гарантированная оценка
р(в,М) < 6р(в,М") . где M* 6 М1,з(И - оптимальное решение задачи вС1,з на графе G, а M - граф, построенный алгоритмом А.
Доказательство. Пусть v - вершина минимальной степени в графе D = D(G, М*), dmin = dD(v). Рассмотрим кластерный граф М 6 М1,з(^, полученный из М* путем переноса dmin вершин в другие компоненты графа M*: вершины множества N6^) П Nо(м) переместим в компоненту, содержащую вершину V, а вершины, принадлежащие множеству Л6(м) П Nо(м), перенесем в любую из компонент, не содержащих V. Тогда, очевидно, кластер V = М и N6(v) будет одним и тем же в М и в Мм.
Если dmin = 0, то кластерный граф М совпадает с кластерным графом М*, а значит,
р(в, М) = р(в,М") < 3р(в, М').
Пусть dmin > 0. Заметим, что при переносе dmin вершин значение целевой функции не может увеличиться более чем на ndmin, так как перенос одной вершины увеличивает значение целевой функции не более чем на п = | VI. Отсюда с учетом леммы 1 получаем
р(в, М) < р(в, М')+< р(в, М') + 2р(в, М') = = 3р(в,М').
Итак,
р(в,М) < 3р(в,М). (1)
Рассмотрим кластер Vl = {м} и ^(м). Возможны 2 случая.
а) Vl = V. Полагаем Мм = Кп = М. Следовательно,
р(в,М)<3р(в,М')<6р(в,М') •
б) VI ^ V. Обозначим через М* оптимальное решение задачи вС1,2 на графе 61, порожденном множеством вершин V\Vl. Рассмотрим кластерный граф М = М\у1)уиМ1, где М(\Л) - полный граф на множестве \Л. Очевидно, что
р(6,М)<р(С,М).
Тогда, с учетом (1),
р(6,М)<Зр(6,М'). (2)
Пусть М1 = М^2, Vз) - допустимое решение задачи вС1,2 на графе 61, найденное алгоритмом А на шаге 2.2.2, если на шаге 2.1 выбрана вершина V. Тогда Мм = М^1, V2, Vз) (возможно, Vз = 0).
Обозначим через 5 сумму числа отсутствующих ребер в подграфе графа 6, порожденном множеством вершин V = {м} и ^(м) и величины разреза (V, 'АУ1) в графе 6. Очевидно, что р{в,М,) = 5+р{в1,М1) и р(6,М) = 5+р(61,М'1). (3)
Если |V\Vl| < 2, то М1 = 61 и р(вг) = р(^,М*) = 0 . Тогда, с учетом (2) и (3),
/}(в,М^) = /}(в,М)<3/}(в,М )<б/}(в,М').
Пусть |V\Vl| > 3. Тогда р(вх,МХ)<2р(вх,М*) [5]. В силу (2) и (3) получаем
р(в,Ми) = в+р(в1,М1) < в +
+ 2р(61,м'1)<25+2р(61,м'1) =
= 2(б + р(в1, М *)) = 2р{в, М) < 6р(в, М').
На шаге 3 алгоритма А среди всех графов будет рассмотрен граф Мм , где м - вершина минимальной степени в графе О = 0(6, М*). Отсюда и получается требуемая оценка точности алгоритма А.
Теорема 2 доказана.
4. Экспериментальное исследование алгоритмов
Как показали Коулман, Саундерсон и Вирт [5], применение процедуры локального поиска позволяет улучшить априорную гарантированную оценку точности алгоритма приближенного решения задачи вС1,2 с 3 до 2. Чтобы понять, даст ли подобный
Вестник Омского университета 2018. Т. 23, № 1. С. 4-9
ISSN 1812-3996-
эффект применение локального поиска в алгоритме приближенного решения задачи GCl,з, алгоритм A был модифицирован.
Пусть дан граф в = (V, £). На шаге 2.1 алгоритма A для каждой вершины ю 6 Vформируется компонента связности, порожденная множеством {ю} и Ыв№). Обозначим ее через №. Очевидно, что множество также может порождать компоненту связности, причем кластерный граф М(№, У\У1) будет являться допустимым решением задачи GCl,з на графе в (возможно, У\У1 = 0). Применив к данному графу процедуру локального поиска из статьи [5], мы получим некоторый кластерный граф М^1, V\Vl). В этом и заключается модификация алгоритма A. Все остальные шаги, начиная с шага 2.2, остаются такими же, как и в алгоритме A. Полученный таким образом алгоритм назовем A'. Для сравнения точности алгоритмов A и A' было проведено экспериментальное исследование.
Определим класс графов, на которых производились вычисления. Для этого зафиксируем параметр р 6 (0, 1). Случайный п-вершинный граф в = (V, £) будем получать с использованием следующей процедуры. Для каждой пары вершин uv проводится независимый случайный эксперимент, исходами которого будут наличие ребра uv с вероятностью р и отсутствие ребра с вероятностью 1 - р. В литературе [9; 10] семейство п-вершинных графов с введенным таким образом распределением обозначается в(п, р) и используется как при теоретическом изучении графов, так и в экспериментальных исследованиях (модель Эрдеша - Реньи).
Параметр р в используемой вероятностной модели представляет собой математическое ожидание плотности случайного графа в = (V, £), которая 2|Е |
определяется как
n(n -1)
В проведенных экспери-
ментах использовались значения р из множества {0,33, 0,5, 0,67}.
Для получения предварительных сведений о характере изменения точности исследуемых алгоритмов на графах малой размерности (при п от 10 до 18 вершин) были получены точные решения алгоритмом полного перебора. Это позволило получить сведения об изменении точности алгоритмов в зависимости от параметров п и р. Для каждой пары значений п и р было решено по 20 задач.
Далее точностью или отклонением от оптимума приближенного алгоритма будем называть отношение значения целевой функции, полученного данным алгоритмом, к оптимальному значению целевой функции. Обозначим через 5(п, р) и 5'(п, р) средние точности алгоритмов A и A' для п-вершинных графов при заданном значении параметра р.
По итогам эксперимента на графах малой размерности лучшие показатели имеет алгоритм A': его среднее отклонение от оптимума достигает максимума при значениях параметров п = 18 и р = 0,33 и составляет около 6,5 %, в то время как алгоритм A при тех же параметрах отклоняется на 8 % (рис. 1). При всех остальных значениях параметров п и р алгоритм A' также дает решения с меньшим средним отклонением от оптимума, чем алгоритм A.
Вестник Омского университета 2018. Т. 23, № 1. С. 4-9
-ISSN 1812-3996
d 1,04
1,01
50 75 100 125 150 175
Рис. 2. Значение величины d(n, p) при p = 0,33
200
Таким образом, более перспективным приближенным алгоритмом можно считать алгоритм A'. Для подтверждения того, что данный алгоритм и дальше продолжает доминировать с ростом n, был проведен эксперимент на графах большей размерности (при n от 50 до 200 вершин). Однако в этом случае нет возможности найти оптимальное решение за приемлемое время, поэтому в качестве исследуемой была выбрана следующая величина:
d(n, p) = .
8'(n, p)
Выбор такой величины объясняется тем, что, во-первых, ее вычисление не требует знания оптимального решения, а во-вторых, она позволяет ответить на вопрос, действительно ли алгоритм A' дает в среднем лучшие решения, чем алгоритм A и на графах большей размерности. Для каждой пары значений n и p было решено по 100 задач.
При всех значениях параметров n и p величина d(n, p) оказалась больше единицы (рис. 2). При этом
в каждой решенной задаче алгоритм A' дает значение целевой функции не большее, чем значение целевой функции, полученное алгоритмом A. Это позволяет сделать вывод о том, что алгоритм A' продолжает доминировать над алгоритмом A независимо от значений параметров п и р.
5. Заключение
В работе исследуется МР-трудная задача кластеризации графа, в которой число кластеров (т. е. компонент связности кластерного графа) не превосходит 3. Для этой задачи предложен полиномиальный приближенный алгоритм A и доказана его гарантированная оценка точности. Также рассмотрен модифицированный алгоритм A', в котором локальный поиск применяется при построении каждого кластера. Экспериментальное исследование данных алгоритмов показало, что алгоритм A' находит лучшие решения, чем алгоритм A. Это позволяет сделать вывод о том, что применение процедуры локального поиска действительно улучшает точность алгоритма A.
n
1
СПИСОК ЛИТЕРА ТУРЫ
1. Агеев А. А., Ильев В. П., Кононов А. В., Талевнин А. С. Вычислительная сложность задачи аппроксимации графов // Дискрет. анализ и исслед. операций. 2006. Сер. 1. Т. 13, № 1. С. 3-11.
2. Ильев В. П., Ильева С. Д., Навроцкая А. А. Приближенные алгоритмы для задач аппроксимации графов // Дискрет. анализ и исслед. операций. 2011. Т. 18, № 1. C. 41-60.
3. Bansal N., Blum A., Chawla S. Correlation clustering // Machine learning. 2004. Vol. 56. P. 89-113.
4. Charikar M., Guruswami V., Wirth A. Clustering with qualitative information // J. Comput. Syst. Sci. 2005. Vol. 71, № 3. P. 360-383.
5. Coleman T., Saunderson J., Wirth A. A local-search 2-approximation for 2-correlation-clustering // Algorithms - ESA 2008: Lecture Notes in Computer Science. 2008. Vol. 5193. P. 308-319.
6. Giotis I., Guruswami V. Correlation clustering with a fixed number of clusters // Theory of Computing. 2006. Vol. 2, № 1. P. 249-266.
7. Shamir R., Sharan R., Tsur D. Cluster graph modification problems // Discrete Appl. Math. 2004. Vol. 144, № 1-2. P. 173-182.
8. Ben-Dor A., Shamir R., Yakhimi Z. Clustering gene expression patterns // J. Comput. Biol. 1999. Vol. 6, № 34. P. 281-297.
9. Эрдёш П., Спенсер Дж. Вероятностные методы в комбинаторике. М. : Мир, 1976.
10. Alon N., Spencer J. H. The probabilistic method. N. Y. : Wiley and Sons, 1992.
ИНФОРМАЦИЯ ОБ АВТОРЕ
Моршинин Александр Владимирович - аспирант, Институт математики им. С. Л. Соболева Сибирского отделения Российской академии наук, Омский филиал, 644099, Россия, г. Омск, ул. Певцова, 13; e-mail: morshinin.alexander@gmail.com.
ДЛЯ ЦИТИРОВАНИЯ Моршинин А. В. Об одной задаче кластеризации графа // Вестн. Ом. ун-та. 2018. Т. 23, № 1. С. 4-9. DOI: 10.25513/1812-3996.2018.23(1).4-9.
INFORMATION ABOUT THE AUTHOR
Morshinin Aleksandr Vladimirovich - Postgraduate Student, Sobolev Institute of Mathematics Siberian Branch of the Russian Academy of Sciences, Omsk Branch, 13, Pevtsova st., Omsk, 644099, Russia; e-mail: morshinin.alexander@gmail.com.
FOR GTATIONS Morshinin A.V. On a graph correlation clustering problem. Vestnik Omskogo universiteta = Herald of Omsk University, 2018, vol. 23, no. 1, pp. 4-9. DOI: 10.25513/1812-3996.2018.23(1).4-9. (in Russ.).