2018 Прикладная теория графов №42
ПРИКЛАДНАЯ ТЕОРИЯ ГРАФОВ
УДК 519.1
ОБ ОДНОЙ ЗАДАЧЕ КЛАСТЕРИЗАЦИИ ГРАФА С ЧАСТИЧНЫМ ОБУЧЕНИЕМ1
А. В. Ильев*'**, В. П. Ильев*'***
* Омский государственный технический университет, г. Омск, Россия, **Институт математики им. С. Л. Соболева СО РАН, г. Омск, Россия, *** Омский государственный университет им. Ф.М. Достоевского, г. Омск, Россия
В задачах кластеризации требуется разбить данное множество объектов на несколько подмножеств (кластеров) только на основе сходства объектов друг с другом. Рассматривается вариант задачи кластеризации графа, являющийся одной из формализаций задачи кластеризации с частичным обучением. Доказано, что эта задача является NP-трудной. Для одного варианта задачи предложен полиномиальный 3-приближённый алгоритм.
Ключевые слова: граф, кластер, кластеризация с частичным обучением. DOI 10.17223/20710410/42/5
ON A SEMI-SUPERWIZED GRAPH CLUSTERING PROBLEM
A. V. Ilev*'**, V. P. Il'ev*'***
* Omsk State Technical University, Omsk, Russia **Sobolev Institute of Mathematics SB RAS, Omsk, Russia ***Dostoevsky Omsk State University, Omsk, Russia
E-mail: [email protected], [email protected]
In the clustering problems one has to partition a given set of objects into some subsets (called clusters) taking into consideration only similarity of the objects. In this paper we study a version of the graph correlation clustering that can be considered as a formalization of the semi-supervised clustering. We prove that the problem under consideration is NP-hard and propose a polynomial-time 3-approximation algorithm for a version of the problem.
Keywords: graph, cluster, semi-supervised clustering.
Введение
Важный раздел теории распознавания образов и машинного обучения составляют методы решения задач кластеризации [1]. В задаче кластеризации требуется разбить данное множество объектов на несколько подмножеств (кластеров) только на основе сходства объектов друг с другом. Одной из наиболее наглядных формализаций
1 Работа поддержана грантом РНФ №17-11-01117.
задач кластеризации является задача кластеризации графа [2, 3]. В ней отношение сходства объектов задаётся посредством неориентированного графа, вершины которого взаимно однозначно соответствуют объектам, а рёбра соединяют похожие объекты, обладающие достаточным количеством одинаковых признаков. Требуется разбить множество исходных объектов на попарно непересекающиеся группы (кластеры) так, чтобы минимизировать число рёбер между кластерами и число недостающих рёбер внутри кластеров. Количество кластеров может быть задано, ограничено или заранее не определено.
В машинном обучении задачи кластеризации относят к разделу обучения без учителя. Наряду с этим рассматриваются также задачи кластеризации с частичным обучением, в которых часть объектов (как правило, небольшая) изначально распределена по кластерам [4, 5]. Задачи кластеризации графов имеют многочисленные приложения. Задачи кластеризации графов с частичным обучением тесно связаны с исследованием систем уравнений над графами [6].
В п. 1 настоящей работы рассматриваются три варианта задачи кластеризации графа, приводится краткий обзор известных результатов. В п. 2 рассматривается постановка задачи кластеризации графа, которая является одной из формализаций задачи кластеризации с частичным обучением. В этой задаче дано множество, состоящее из n объектов, которые необходимо распределить по k кластерам, k < n. Среди заданных объектов выделены k объектов, никакие два из которых не должны принадлежать одному и тому же кластеру. Отношение сходства объектов задано с помощью неориентированного графа. В работе доказано, что рассматриваемая задача является NP-трудной. Для случая k = 2 предложен полиномиальный 3-приближённый алгоритм.
1. Задачи кластеризации графов 1.1. Постановки задач
Будут рассматриваться только обыкновенные графы, т. е. графы без петель и кратных рёбер. Обыкновенный граф называется кластерным, если каждая его компонента связности является полным графом [7].
Обозначим через M(V) множество всех кластерных графов на множестве вершин V, Mk(V) —множество всех кластерных графов на множестве вершин V, имеющих ровно k непустых компонент связности, Mi,k(V) —множество всех кластерных графов на множестве V, имеющих не более k компонент связности, 2 ^ k ^ |V|.
Если Gi = (V, Ei) и G2 = (V, E2) —обыкновенные графы на одном и том же множестве вершин V, то расстояние p(G1 ,G2) между ними определяется как
p(Gi, G2) = IE1AE2I = |Ei \ E2I + |E2 \ Ei|,
т. е. p(Gi, G2) —число несовпадающих рёбер в графах Gi и G2.
В 60-80-е годы XX века в литературе изучались следующие три варианта задачи кластеризации графа, которые в то время принято было называть задачами аппроксимации графов. Постановки и различные интерпретации задач аппроксимации графов можно найти в [8-11]. В дальнейшем задачи аппроксимации графов неоднократно переоткрывались и независимо изучались под разными названиями (Correlation Clustering [12], Cluster Editing [7, 13] и др.).
Задача GC. Дан обыкновенный граф G = (V, E). Найти такой граф M* G M(V),
что
p(G,M *)= min p(G,M). м em(v)
Задача GCk. Дан обыкновенный граф G = (V, E) и целое число k, 2 ^ k ^ |V|. Найти такой граф M* G Mk(V), что
p(G,M *)= min p(G,M).
M €mfc(V
Задача GC1k. Дан обыкновенный граф G = (V, E) и целое число k, 2 ^ k ^ |V|. Найти такой граф M* G Mi,k(V), что
p(G, M*) = min p(G, M). м emi,fc (v
Рассматривались также варианты задач кластеризации графов, в которых ограничения накладываются на размеры кластеров [14].
1.2. Вычислительная сложность и приближённые алгоритмы
В 1986 г. М. Крживанек и Дж. Моравек показали [15], что задача GC является NP-трудной, однако их работа осталась незамеченной. В 2004 г. в [7, 12] доказана NP-трудность задачи GC. В [7] доказано также, что задача GCk NP-трудна при любом фиксированном k ^ 2; в [16] приведено более простое доказательство этого же результата. В [17] доказано, что задачи GC2 и GC12 NP-трудны уже на кубических графах, откуда следует, что все упомянутые ранее варианты задачи кластеризации графа являются NP-трудными, включая и задачу GC1,k.
В 2004 г. в [12] предложен полиномиальный 3-приближённый алгоритм для задачи GC12. В 2006г. в [17] доказано существование рандомизированной полиномиальной приближённой схемы для задачи GC1,2, а в [16] предложена рандомизированная полиномиальная приближённую схема для задачи GCk (для любого фиксированного k ^ 2). Указав, что сложность полиномиальной приближенной схемы из [16] лишает её перспективы практического использования, авторы [18] предложили 2-приближённый алгоритм для задачи GC1,2, применив процедуру локального поиска к допустимому решению, полученному с помощью 3-приближённого алгоритма из [12]. Для задачи GC2 в работе [19] предложен (3 — 6/п)-приближённый алгоритм с достижимой гарантированной оценкой точности. В 2005 г. авторы [20] показали, что задача GC является APX-трудной и разработали для неё 4-приближённый алгоритм. В 2008 г. в [21] предложен 2,5-приближённый алгоритм для задачи GC.
Более подробный обзор результатов, относящихся к задачам GC, GCk, GC1,k и их взвешенным вариантам, можно найти в [22].
2. Задача кластеризации с частичным обучением 2.1. Вычислительная сложность
Рассмотрим задачу кластеризации графа с частичным обучением, самая общая постановка которой такова.
Дан обыкновенный n-вершинный граф G = (V, E) и целое число k, 2 ^ k ^ п. Выделено множество попарно различных вершин X = {x1,... , Xk} С V, на котором задано бинарное симметричное иррефлексивное отношение P. Требуется найти ближайший к G граф M* G M(V), такой, что никакие две вершины множества X, связанные
отношением P, не принадлежат одной и той же компоненте связности (т. е. одному кластеру) графа M*.
Более подробно изучим следующий вариант задачи кластеризации графа с частичным обучением.
Задача SGCk. Дан обыкновенный n-вершинный граф G = (V, Е) и целое число k, 2 ^ k ^ n. Выделено множество попарно различных вершин X = {xi,... , } С V. Требуется найти такой граф M* G (V), что
p(G,M *)= min p(G,M), мeMk(v) 4
причём минимум берётся по всем кластерным графам M = (V,Ем) G Mfc(V), в которых Xi,Xj G Ем для любых G {1,... ,k}; другими словами, никакие две вершины множества X = {x1,...} не принадлежат одной и той же компоненте связности (т. е. одному кластеру) графа M.
Несложно свести по Тьюрингу задачу GCk к SGCk и тем самым показать, что задача SGCk NP-трудна. Действительно, рассмотрим произвольный граф G = (V, Е) — вход задачи GCk — и фиксируем целое число k и произвольный набор {x1,...,x^}, состоящий из k попарно различных вершин графа G. Имея оптимальное решение M(x1,... , xk) задачи SGCk для любого такого набора {x1,..., xk} С V и выбрав среди них ближайший к графу G кластерный граф
M*(x1,...,xk)= argmin p(G,M(x1,...,xk)),
{xi.....Xk}cV
мы, очевидно, получим оптимальное решение исходной задачи GCk. Легко видеть, что при фиксированном k построение всех Cn входов задачи SGCk и получение оптимального решения исходной задачи GCk можно выполнить за время O(nk), где n = |V|. Таким образом, справедлива следующая теорема.
Теорема 1. Задача SGCk NP-трудна при любом фиксированном k ^ 2.
2.2. Задача SGC2
Рассмотрим частный случай задачи SGCk, когда k = 2.
Пусть G1 = (V, Е1) и G2 = (V, Е2) — n-вершинные графы на одном и том же множестве вершин V. Обозначим через D(G1, G2) граф на множестве вершин V с множеством рёбер Е1АЕ2. Через dD(u) обозначим степень вершины u в графе D = D(G1, G2).
Нетрудно заметить, что p(G1, G2) равно числу рёбер в графе D, которое по лемме о рукопожатиях равно половине суммы степеней вершин графа D. Отсюда получаем следующее утверждение.
Лемма 1 [19]. Пусть dmin = min dD (u) —минимум степеней вершин в графе D =
uEV
= D(Gb G2). Тогда
P(G1,G2) ^ ndmin.
Введём следующие обозначения. Для произвольного графа G = (V, Е) и u G V обозначим NG(u) = {v G V : uv G Е}, NG(u) = V \ (NG(u) U {u}). Таким образом, |NG(u)| = dG (u) — степень вершины u в графе G.
Для множеств V1, V2 С V, таких, что V1 П V2 = 0 и V1 U V2 = V, обозначим через M(V1, V2) кластерный граф из класса M2(V) с компонентами связности, порождёнными множествами V1, V2. Нам понадобится следующая простая лемма.
Лемма 2. Пусть С = (V, Е) — п-вершинный граф, и € V — произвольная вершина, М, М' € М2(^) — кластерные графы на множестве V, такие, что М' получен из М путём переноса вершины и в другую компоненту связности. Тогда
р(С,М') - р(С,М) ^ п - 1.
Доказательство. Пусть М = М(Уъ"^2), где VI —множество, содержащее вершину и. Тогда М' = М(VI \ |и},"^2 и {и}). Заметим, что графы Е = Е(С, М) и Е' = Е(С, М') отличаются только рёбрами вида ии, V € V\ {и}, а именно: и, V смежны в Е тогда и только тогда, когда они не смежны в Е'. Остальные рёбра графов Е и Е' совпадают. Следовательно,
р(С,М') - р(С,М) = (и)| - N(и)| = (и) - ^(и). Очевидно, (и) ^ 0, (и) ^ п - 1, поэтому
р(С, М') - р(С, М) = ¿В/ (и) - ^ (и) ^ п - 1,
что и требовалось. ■
2.3. Приближённый алгоритм для задачи ЯОС2
Пусть х1,х2 € V — фиксированные вершины графа С = (V, Е), х1 = х2, V € V — произвольная вершина в С. Построим граф Мг € М2(^) по следующим правилам:
(а) Если в графе С вершина V смежна ровно с одной из вершин х1, х2 и не совпадает с другой, то полагаем Мг = М"^2), где V = {V} и = V \
(б) Если в графе С вершина V смежна с обеими вершинами х1,х2, то полагаем М^ = М(V/, V'). Здесь V/ = ({V} и \ {Х2}, У = V \ V/, М^' = М(V/', V''), где V/' = ({V} и \ {Ж1}, = V \ V/'. Если при этом р(С, М^) ^ р(С, М"), то полагаем М^ = М', в противном случае М^ = М".
(в) Если в графе С вершина V не смежна и не совпадает ни с одной из вершин Х,Х2, то полагаем М[и = М(V/, Здесь V/ = {V} и и {ал}, V' = V \ V/, М" = М(V/', где V/' = {V} и ЛГсМ и {Х2}, V'' = V \ V/'. Если при этом р(С, М') ^ р(С, М"), то полагаем М^ = М', в противном случае М^ = М".
(г) Если вершина V совпадает с одной из вершин х1, х2, то полагаем М^ = М(У1, У2) для У1 = ({V} и N<2^)) \ {х}, У2 = V \ V!, где х = х1, если V = х2, и х = х2, если V = х1.
Очевидно, что построенный по этим правилам кластерный граф М является допустимым решением задачи ЯОС2 для графа С.
Лемма 3. Пусть М* € М2(^) —оптимальное решение задачи ЯОС2 на графе С = (V, Е), Е = Е(С, М*), V € V — вершина минимальной степени в графе Е: (V) = = шт (и) = Тогда
р(С, М„) ^ р(С, М*) + ^т1п(п - 1), (1)
где Мг, = МV2) —кластерный граф, построенный по правилам (а)-(г).
Доказательство. Пусть М* = М(У]*,^*), где V* —множество, содержащее вершину V. Тогда из определения графа Е вытекает, что
V* = {V} и (ад) \ N0(V)) и (ад) п N0(V)). (2)
Случай 1. Пусть в графе С = (V, Е) вершина V смежна ровно с одной из вершин х, х2 и не совпадает с другой. Покажем, что граф М„, построенный по правилу (а), может быть получен из графа М* путем переноса ¿т;п вершин в другую компоненту. Для этого достаточно оценить, как сильно отличаются множества V и V*. По построению графа М„ имеем
V = {V} и = {V} и \ Мп(V)) и П Мп(V)).
Учитывая (2), получаем
^А^ = (V* \ V) и (V \ V*) = (л^) П Мп(V)) и П Мп(V)) = Мп(V).
Таким образом, |У1*ДУ11 = (v)| = (V) = ¿т;п, поэтому граф Мь может быть получен из графа М* путём переноса ¿т;п вершин множества N0 (V) в другую компоненту связности.
Нетрудно заметить, что если в графе М* последовательно переносить все вершины множества N0 (V) в другую компоненту, то после каждого переноса для вновь получаемых кластерных графов будут выполнены условия леммы 2. Так как граф получен из графа М* путём переноса ¿т;п вершин множества N0 (V) в другую компоненту, то, применяя ¿т;п раз лемму 2, получаем р(С, Mv) — р(С, М*) ^ ¿т;п(п — 1), т. е. р(С, М^) ^ р(С, М*) + ¿тщ(п — 1). Итак, неравенство (1) выполнено.
Случай 2. Пусть в графе С = (V, Е) вершина V смежна с обеими вершинами х 1,Х2, т.е. х 1,Х2 € N0^). В этом случае граф строится по правилу (б). Так как вершины х 1 и х2 находятся в разных компонентах связности графа М* и х 1, х2 € N<0^), то ¿т;п ^ 1. Покажем, что один из графов М^, М" может быть получен из графа М* путём переноса ¿т;п — 1 вершин в другую компоненту связности.
Рассмотрим случай, когда х1 € V* (следовательно, х2 € "Ц*). Докажем, что в этом случае граф М^ может быть получен из графа М* путём переноса ¿т;п — 1 вершин в другую компоненту связности. По построению графа М^ справедливо
V/ = ({V} и N0^)) \ {х2} = ({V} и (N0^) \ N0(V)) и (N0^) П N0(V))) \ {х2}. В силу (2), учитывая, что х2 € N0^) П N0 (V), получаем
У/АУ/ =((Л^) П N0(V)) и (N0^) П N0(V))) \ {х2} = N0(V) \ {х2},
т.е. IV/AV/I = |Nd(v)| — 1 = dmin — 1, поэтому граф M^ может быть получен из графа M* путём переноса dmin — 1 вершин множества Nd (v) \{x2 } в другую компоненту связности.
Применяя dmin — 1 раз лемму 2, получаем p(G, MV) — p(G, M*) ^ (dmin — 1)(n — 1), т. е. p(G, M^) ^ p(G, M*) + (dmin — 1)(n — 1).
В случае x2 G V/ (значит, x 1 G V2*) с помощью аналогичных рассуждений доказывается неравенство p(G, M") ^ p(G, M*) + (dmin — 1)(n — 1). Таким образом,
p(G, Mv) = min (p(G, MV), p(G, M')) ^ p(G, M*) + (dmin — 1)(n — 1) <
< p(G, M*) + dmin(n — 1), т.е. неравенство (1) выполнено.
Случай 3. Пусть в графе G = (V, E) вершина v не смежна и не совпадает ни с одной из вершин xbx2, т.е. xbx2 € NG(v). В этом случае граф Mv строится по правилу (в). Так как вершины x1 и x2 находятся в разных компонентах связности графа M* и x1,x2 € NG(v), то dmin ^ 1. Покажем, что один из графов M^, M" может быть получен из графа M* путём переноса dmin — 1 вершин в другую компоненту связности.
Рассмотрим случай, когда x1 € V* (следовательно, x2 € V2*). Докажем, что в этом случае граф M^ может быть получен из графа M* путем переноса dmin — 1 вершин в другую компоненту связности. По построению графа M^,
V/ = {v} U NG(v) U {xi} = {v} U (NG(v) \ Nd(v)) U (ng(v) П Nd(v)) U {xj.
В силу (2), учитывая, что x1 € NG(v) П ND (v), получаем
V/AV/ = ((NG(v) П Nd(v)) \ {xj) U (ng(v) П Nd(v)) = ND(v) \ {xj,
т.е. IV/AV/I = |Nd(v)| — 1 = dmin — 1, поэтому граф M^ может быть получен из графа M* путём переноса dmin — 1 вершин множества Nd (v)\{x 1} в другую компоненту. Рассуждая, как в случае 2, получаем p(G, M^) ^ p(G, M*) + (dmin — 1)(n — 1).
В случае x2 € V* (значит, x 1 € V2*) аналогично доказывается неравенство p(G, MV) ^ p(G, M*) + (dmin — 1)(n — 1). Таким образом,
p(G,Mv) = min (p(G,MV),p(G,MV)) < p(G, M*) + dmin(n — 1),
что и требовалось доказать.
Случай 4. Пусть в графе G = (V, E) вершина v совпадает с одной из вершин x i,x2. В этом случае граф Mv строится по правилу (г). Без ограничения общности
будем считать, что v = x 1. Тогда Vi = ({v} U NG(v)j \ {x2}. Если x2 € NG(v), то
Vi = {v} U NG(v) и неравенство (1) доказывается, как в случае 1, а если x2 € NG(v), то как в случае 2.
Итак, в каждом из четырёх случаев справедливо неравенство (1). ■
Рассмотрим следующий алгоритм приближённого решения задачи SGC2.
Алгоритм 1. Приближённое решение задачи SGC2 1: Для каждой вершины v € V определить кластерный граф Mv € M2(V) по правилам (а)-(г).
2: Среди всех графов Mv выбрать такой граф M, что p(G, M) = min p(G, Mv).
Вычислительная сложность алгоритма 1 может быть оценена как 0(п3), где п — число вершин графа С.
Справедлива следующая гарантированная оценка точности алгоритма 1.
Теорема 2. Для любого п-вершинного графа С = (V, Е) и любого множества X = {х 1, х2} С V (х 1 = х2) алгоритм 1 находит такой кластерный граф М € М2(^) — допустимое решение задачи ЯОС2, что
р(С,М) ^ (а - ^ р(С,М*), где М* € М2(^) — оптимальное решение задачи ЯОС2 на графе С.
Доказательство. Очевидно, среди всех вершин на шаге 1 будет выбрана такая вершина v G V, что dD(v) = dmin, поэтому p(G, M) ^ p(G, Mv). Оценим величину p(G, Mv) с учётом неравенства (1) и леммы 1:
p(G, Mv) ^ p(G, M*) + dmin(n - 1) ^ p(G, M*) + 2p(G, M*) (1 - - J = (3 - -)p(G, M*).
\ n J n
Отсюда получаем гарантированную оценку точности алгоритма 1:
p(G, M) ^ p(G, Mv) ^ (3 - p(G, M*).
Теорема 2 доказана. ■
ЛИТЕРАТУРА
1. Журавлев Ю. И., Рязанов В. В., Сенько О. В. Распознавание. Математические методы. Программная система. Практические применения. М.: ФАЗИС, 2005.
2. Kulis B., Basu S., Dhillon I., and Mooney R. Semi-supervised graph clustering: a kernel approach // Mach. Learn. 2009. V. 74. No. 1. P. 1-22.
3. Schaeffer S. E. Graph clustering // Comput. Sci. Rev. 2005. V. 1. No. 1. P. 27-64.
4. Bair E. Semi-supervised clustering methods // Wiley Interdisciplinary Reviews: Computational Statistics. 2013. V. 5. No. 5. P. 349-361.
5. Chapelle O, ScholkopfB., and Zein A. Semi-supervised Learning. Cambridge, Massachusets: MIT Press, 2006.
6. Ильев А. В., Ремесленников В. Н. Исследование совместности систем уравнений над графами и нахождение их общих решений // Вестник Омского университета. 2017. №4(86). С. 26-32.
7. Shamir R., SharanR., and Tsur D. Cluster graph modification problems // Discrete Appl. Math. 2004. V. 144. No. 1-2. P. 173-182.
8. Zahn C. T. Approximating symmetric relations by equivalence relations //J. Soc. Indust. Appl. Math. 1964. V. 12. No. 4. P. 840-847.
9. Tomescu I. La reduction minimale d'un graphe a une reunion de cliques // Discrete Math. 1974. V. 10. No. 1-2. P. 173-179.
10. Фридман Г. Ш. Исследование одной задачи классификации на графах // Методы моделирования и обработка информации. Новосибирск: Наука, 1976. С. 147-177.
11. Ильев В. П., Фридман Г. Ш. К задаче аппроксимации графами с фиксированным числом компонент // Докл. АН СССР. 1982. Т. 264. №3. С. 533-538.
12. BansalN., Blum A., and Chaw la S. Correlation clustering // Mach. Learn. 2004. V. 56. No. 1-3. P. 89-113.
13. Ben-Dor A., Shamir R., and Yakhimi Z. Clustering gene expression patterns //J. Comput. Biol. 1999. V. 6. No. 3-4. P. 281-297.
14. Ильев В. П., Навроцкая А. А. Вычислительная сложность задачи аппроксимации графами с компонентами связности ограниченного размера // Прикладная дискретная математика. 2011. №3(13). С. 80-84.
15. Krivanek M. and Moravek J. NP-hard problems in hierarchical-tree clustering // Acta Inform. 1986. V. 23. P. 311-323.
16. Giotis I. and Guruswami V. Correlation clustering with a fixed number of clusters // Theory Comput. 2006. V.2. No. 1. P. 249-266.
17. Агеев А. А., Ильев В. П., Кононов А. В., Талевнин А. С. Вычислительная сложность задачи аппроксимации графов // Дискрет. анализ и исслед. операций. Сер. 1. 2006. Т. 13. №1. С. 3-11.
18. Coleman T., Saunderson J., and Wirth A. A local-search 2-approximation for 2-correlation clustering // ESA 2008. LNCS. 2008. V.5193. P. 308-319.
19. Ильев В. П., Ильева С. Д., Навроцкая А. А. Приближенные алгоритмы для задач аппроксимации графов // Дискрет. анализ и исслед. операций. 2011. Т. 18. №1. С. 41-60.
20. Charikar M., Guruswami V., and Wirth A. Clustering with qualitative information //J. Comput. Syst. Sci. 2005. V.71. No.3. P. 360-383.
21. AilonN., Charikar M., and Newman A. Aggregating inconsistent information: Ranking and clustering //J. ACM. 2008. V. 55. No. 5. P. 1-27.
22. Il'ev V., Il'eva S., Kononov A. Short survey on graph correlation clustering with minimization criteria // DOOR 2016. LNCS. 2016. V.9869. P. 25-36.
REFERENCES
1. Zhuravlev Yu.I., Ryazanov V. V., and Sen'ko O. V. Raspoznavanie. Matematicheskie metody. Programmnaya sistema. Prakticheskie primeneniya [Recognition. Mathematical methods. Program system. Practical applications]. Moscow, FAZIS Publ., 2005. (in Russian)
2. Kulis B., Basu S., Dhillon I., and Mooney R. Semi-supervised graph clustering: a kernel approach. Mach. Learn., 2009, vol. 74, no. 1, pp. 1-2.
3. Schaeffer S. E. Graph clustering. Comput. Sci. Rev., 2005, vol.1, no. 1, pp. 27-64.
4. Bair E. Semi-supervised clustering methods. Wiley Interdisciplinary Reviews: Computational Statistics. 2013, vol.5, no. 5, pp. 349-361.
5. Chapelle O., Scholkopf B., and Zein A. Semi-supervised Learning. Cambridge, Massachusets, MIT Press, 2006.
6. Ilev A. V. and Remeslennikov V. N. Issledovanie sovmestnosti sistem uravnenij nad grafami i nahozhdenie ih obshchih reshenij [Study of the compatibility of systems of equations over graphs and finding their general solutions]. Vestnik Omskogo Universiteta, 2017, no.4(86), pp. 26-32. (in Russian)
7. Shamir R., SharanR., and TsurD. Cluster graph modification problems. Discrete Appl. Math., 2004, vol. 144, no. 1-2, pp. 173-182.
8. Zahn C. T. Approximating symmetric relations by equivalence relations. J. Soc. Indust. Appl. Math., 1964, vol.12, no. 4, pp. 840-847.
9. Tomescu I. La reduction minimale d'un graphe a une reunion de cliques. Discrete Math., 1974, vol. 10, no. 1-2, pp. 173-179.
10. Fridman G. Sh. Issledovanie odnoj zadachi klassifikacii na grafah [Investigation of a classifying problem on graphs]. In: Metody Modelirovaniya i Obrabotka Informatsii, Novosibirsk, Nauka Publ., 1976, pp. 147-177. (in Russian)
11. Il'ev V.P. and Fridman G. Sh. On the problem of approximation by graphs with a fixed number of components. Sov. Math. Dokl., 1982, vol.25, pp.666-670.
12. Bansal N., Blum A, and Chawla S. Correlation clustering. Mach. Learn., 2004, vol. 56, no. 13, pp. 89-113.
13. Ben-Dor A., Shamir R., and Yakhimi Z. Clustering gene expression patterns. J. Comput. Biol., 1999, vol.6, no. 3-4, pp. 281-297.
14. Il'ev V. P. and Navrotskaya A. A. Vychislitel'naya slozhnost' zadachi approksimacii grafami s komponentami svyaznosti ogranichennogo razmera [Computational complexity of the problem of approximation by graphs with connected components of bounded size]. Prikladnaya Diskretnaya Matematika, 2011, no. 3(13), pp. 80-84. (in Russian)
15. Krivanek M. and Moravek J., NP-hard problems in hierarchical-tree clustering. Acta inform., 1986, vol.23, pp. 311-323.
16. Giotis I. and Guruswami V. Correlation clustering with a fixed number of clusters. Theory Comput., 2006, vol.2, no. 1, pp. 249-266.
17. Ageev A. A., Il'ev V. P., Kononov A.V., and Talevnin A. S. Computational complexity of the graph approximation problem. J. Appl. Indust. Math., 2007, vol. 1, no. 1, pp. 1-8.
18. Coleman T., Saunderson J., and Wirth A. A local-search 2-approximation for 2-correlation clustering. ESA 2008, LNCS, 2008, vol. 5193, pp. 308-319.
19. Il'ev V. P., Il'evaS.D., and Navrotskaya A. A. Approximation algorithms for graph approximation problems. J. Appl. Indust. Math., 2011, vol.5, no. 4, pp. 569-581.
20. Charikar M., Guruswami V., and Wirth A. Clustering with qualitative information. J. Comput. Syst. Sci., 2005, vol.71, no.3, pp. 360-383.
21. AilonN., Charikar M., and Newman A. Aggregating inconsistent information: Ranking and clustering. J. ACM, 2008, vol. 55, no. 5, pp. 1-27.
22. Il'ev V., Il'evaS., and Kononov A. Short survey on graph correlation clustering with minimization criteria. DOOR 2016, LNCS, 2016, vol.9869, pp. 25-36.