2024 Вычислительные методы в дискретной математике № 64
УДК 519.17+157 DOI 10.17223/20710410/64/9
ПОДХОД К АНАЛИЗУ И ПОСТРОЕНИЮ АЛГОРИТМОВ РЕШЕНИЯ ОДНОЙ ЗАДАЧИ КЛАСТЕРИЗАЦИИ НА ЗНАКОВЫХ ГРАФАХ1
А. А. Солдатенко, Д. В. Семенова, Э. И, Ибрагимова Сибирский федеральный университет,, г. Красноярск, Россия E-mail: [email protected], [email protected], [email protected]
Рассматривается NP-трудная оптимизационная задача корреляционной кластеризации для неориентированных и невзвешенных знаковых графов без кратных рёбер и петель, где функционал ошибки представляет собой линейную комбинацию межкластерной и внутрикластерной ошибок. Предложен системный подход построения и анализа алгоритмов, основанных на структуре графа, для решения этой задачи. Подход представлен в виде общей схемы, состоящей из шести взаимосвязанных блоков, отражающих основные этапы решения задачи корреляционной кластеризации. С использованием данной схемы проанализированы шесть существующих алгоритмов. Согласно общей схеме построен новый алгоритм CarVeR, который является модификацией алгоритма SGClusta с помощью потенциальных функций. Топология общей схемы открывает возможности для анализа и доказательства вычислительной сложности алгоритмов, что продемонстрировано в теореме о вычислительной сложности алгоритма CarVeR. Представлены вычислительные эксперименты на синтетических данных для сравнения пяти алгоритмов. Результаты экспериментов показали конкурентную способность алгоритма CarVeR как по времени выполнения, так и по минимизации значения функционала ошибки.
Ключевые слова: знаковый граф, корреляционная кластеризация, систематизация алгоритмов, потенциальные функции.
APPROACH ТО ANALYSIS AND CONSTRUCTION OF ALGORITHMS FOR SOLVING ONE CLUSTERING PROBLEM ON SIGNED GRAPHS
A. A. Soldatenko, D.V. Semenova, E.I. Ibragimova Siberian Federal University, Krasnoyarsk, Russia
We consider the NP-hard correlation clustering problem for undirected and unweighted signed graphs without multiple edges and loops, where the error functional is a linear combination of intercluster and intracluster errors. In this paper, we propose a systematic approach for constructing and analyzing graph structure based algorithms to solve this problem. The approach is presented in the form of a general scheme consisting of six interrelated blocks reflecting the main stages of solving the correlation clustering problem. Six existing algorithms have been analyzed using this scheme. According to the general scheme, a new algorithm CarVeR has been constructed, which is a modification of the SGClusta algorithm using potential functions. The topology
1 Работа поддержана Красноярским математическим центром, финансируемым Минобрнауки РФ (Соглашение №075-02-2024-1429).
of the general scheme opens up the possibility of analyzing and proving the computational complexity of the algorithms, which is demonstrated in the computational complexity theorem of the CarVeR algorithm. This paper presents computational experiments on synthetic data to compare five algorithms. The experimental results show the competitive ability of the CarVeR algorithm both in terms of execution time and minimization of the value of the error functional.
Keywords: signed graph, correlation clustering, algorithm systematization, potential functions.
Введение
На протяжении десятилетий исследователи активно изучают задачу корреляционной кластеризации и предлагают различные методы ее решения, В западной литературе данная задача носит название Correlation Clustering problem. Исторический обзор по данной проблеме приведён в [1], а достаточно подробный обзор существующих методов решения представлен в [2].
Алгоритмы решения задачи корреляционной кластеризации можно условно разделить на три группы [2]. Первая группа алгоритмов учитывает структуру графа [2, 3], Для второй группы характерно представление задачи корреляционной кластеризации как задачи математического программирования (например, линейного, целочисленного линейного, полуопределённого и др.) и использование соответствующих методов и алгоритмов для решения задачи [2, 4-8], Третья группа основана на различных матричных представлениях графа, что позволяет применять в алгоритмах аппарат матричной алгебры [2, 9], Далее внимание акцентировано на первой группе алгоритмов.
Структура работы следующая, В п, 1 приведены необходимые для дальнейшего изложения определения и формулировка задачи корреляционной кластеризации знаковых графов, В п, 2 исследованы популярные алгоритмы её решения, основанные на структуре графа, и предложена общая схема построения и анализа таких алгоритмов, В п, 3 исследуется новый алгоритм CaRVeR. Результаты вычислительных экспериментов по сравнению алгоритма CaRVeR с некоторыми известными алгоритмами представлены в п, 4,
1. Постановка задачи
1,1, Знаковый граф
В работе исследуются знаковые графы вида Е = (G,a), где G = (V, E) является неориентированным невзвешенным графом без кратных рёбер и петель с множеством вершин V, |V| = n ^ 2, и множеством рёбер E, |E| = m ^ 1. В графе G каждое ребро однозначно представляется неупорядоченной парой e = (u,v), где e G E, u,v G V, В этом случае говорят, что ребро e инцидентно вершинам u и v, а вершины u и v смежны. Обозначим множество вершин, смежных с v, как r(v) = {u: (v,u) G E},
v
#(v) = |r(v)|; степенью графа будем считать А = maxi(v). На рёбрах (u,v) G E
v€V
графа G задана функция знака a : E ^ {+, —}, которая порождает разбиение множества рёбер графа E = E + U E-, где E+ — множество положительных, E- — множество
e = (u, v)
a(u,v) = sign ^ [(u,v) G E+] - [(u,v) G E-] j , где [•] — скобки Айвереона [10],
Знаковый граф называется k-сбалансированным, если множество его вершин можно разбить на k попарно непересекающихся непустых подмножеств так, что все положительные рёбра находятся внутри, а отрицательные — между подмножествами [11].
1.2. Задача корреляционной кластеризации
Обозначим систему множеств, образующих разбиение множества вершин V на k подмножеств, как
C ={ Ci С V : (J Ci = V, Ci П Cj = 0,i = j; i = 1,...,kJ. (1)
k
жет не выполняться. В этом случае интересен поиск такого разбиения множества вершин графа, для которого число отрицательных рёбер внутри подмножеств и число положительных рёбер между подмножествами будут минимальны. Данная задача рассматривается как задача кластеризации графа со специальным видом функционала ошибки. Элементы разбиения Ci е C будем называть кластерами.
Под положительной ошибкой P (C) разбиения (1) будем понимать число положительных рёбер между подмножествами Ci,..., Ck Заметим, что P(C) — это межкластерная ошибка, вычисляемая по формуле
P(C) = Е Е Е [(u,v) е E+]. (2)
i=i ueCi vev\Ci
Под отрицательной ошибкой N (C) будем понимать число отрицательных рёбер внутри подмножеств для разбиения (1). Отрицательная ошибка —это внутрикластер-ная ошибка, вычисляемая по формуле
N (C ) = ЕЕ [(u,v) е E-]. (3)
i=1 {u,v}CCi
В [12] авторы предлагают представлять суммарную ошибку в виде выпуклой комбинации положительной и отрицательной ошибок, зависящей от параметра а е [0,1]:
Qa(C) = aN(C) + (1 - a)P(C). (4)
Заметим, что функционал ошибки (4) всегда удовлетворяет неравенству
0 ^ Qa(C) ^ a|E-| + (1 - a)|E+|.
Задачу кластеризации знакового графа будем рассматривать в следующей постановке [13, 14].
Correlation Clustering problem (задача СС)
Условие: задан знаковый граф £ = (G,a), где G = (V, E) — неориентированный граф; n = |V| ^ 2; m = |E| ^ 1.
Вопрос: для заданного a е [0,1] требуется найти разбиение C множества вершин V знакового графа £ с минимальной суммарной ошибкой Qa(C).
В работе [13] показано, что задача корреляционной кластеризации знаковых графов с функционалом ошибки в виде (4) при a = 0,5 в распознавательной форме является NP-полной,
Решением задачи является множество кластеров C*, доставляющих минимум функционалу ошибки (4):
C* = arg min [aN(C) + (1 - a)P(C)], (5)
n
где Ф = U Фк — множество всех возможных разбиений V; Фк — множество разбиений к=1
на k подмножеств. Мощность пространства решений Ф равна числу Белла Bn. Следует отметить, что решение (5) может быть не единственным.
При a = 0 и 1 данная задача вырождается в полиномиально разрешимые случаи минимизации межкластерной (2) и внутриклаетерной (3) ошибок соответственно. Одна из стратегий поиска нетривиального решения задачи корреляционной клаете-
a=0
кластеров C = {Ci,C2 ,...,Ск} формируется го исходного знаков ого графа £ путём нахождения компонент связности Ci, C2,..., Ск порождённого графа £+ = (V,E+). Полученное разбиение имеет ошибку Q0(C) = 0. Такая стратегия может быть реализована алгоритмами поиска в глубину или ширину, временная сложность которых составляет O(n + |E +|) [15], Для поиска нетривиального решения с параметром a = 1 можно применить следующую стратегию. Изначально полагается, что все вершины находятся в одном кластере. Далее па каждом шаге вершина, инцидентная наибольшему числу отрицательных рёбер, выделяется в отдельный кластер. В результате дня любого ребра e = (u,v) G E "выполняется, что u G Cj и v G Cj, оде i = j. Данная процедура приводит к разбиению C с ошибкой Qi(C) = 0. Такая стратегия выполнима за время, не превышающее O(n2 + nm).
2. Общая схема алгоритмов, основанных на структуре графа
Исследование алгоритмов, основанных па структуре графа, выявило общую схему в организации вычислений дня решения задачи корреляционной кластеризации, которая представлена на рис. 1.
Возмущённо решения
Начальное разбиение
Решающая функция
Перемещение
£
о
Vm
Оценка
Q (Cnew )
Срав ieinie j
. /
Критерий останова
о
о Я Я о Я VC
со яЗ
а
о О И
о
U
о
и
С
С
о
Рис. 1. Общая схема а;п'оритмов, основанных на структуре графа
Блок «Начальное разбиение» содержит функцию 1п^(£), осуществляющую первоначальное разбиение множества вершин V знакового графа £ по некоторому правилу. Тривиальным случаем такого разбиения будем считать случайное разбиение V на
фиксированное или нефиксированное количество кластеров. Данный блок зачастую выполняется единожды при запуске алгоритма и формирует первоначальное разбиение Co е Ф вида (1),
Блок «Решающая функция» является подготовительным для блока «Перемеще-
V
C
d (V |C) = Vfix U Vm0v, (6)
V
V
решающую функцию, возвращающую Vmov = V,
Блок «Перемещение» содержит функцию ^(C | ^0v), которая отвечает за переме-
VC самым формирует новое разбиение Cnew е Ф, Вершины могут перемещаться не только между существующими кластерами, но и образовывать новые кластеры.
Блок «Оценка» состоит из двух этапов. На первом этапе вычисляется функционал ошибки Q(Cnew). На втором этапе проводится сравнение текущего разбиения с ранее найденными по значению функционала ошибки. Данный блок присутствует и в алгоритме, который находит последовательно или параллельно несколько разбиений,
Ф
В качестве критерия останова могут выступать: время, число итераций, значение функционала ошибки, невязка функционала ошибки и т, п.
Блок «Возмущение решения» нацелен на выход из локального минимума функционала ошибки путём перемешивания вершин текущего разбиения, при этом способ перемешивания может определять основную идею алгоритма. Данный блок может следовать после любого другого блока общей схемы и повторяться многократно,
В табл. 1 известные алгоритмы решения задачи корреляционной кластеризации представлены в виде последовательностей блоков из схемы рис, 1, Символами «+»/«-» обозначается соответственно присутствие или отсутствие блока. Используются также следующие обозначения: alg — результат работы другого алгоритма; special — специальным образом; trivial — тривиальный случай; time — время; iter — чис-
| V| i
одномоментно перемещает i вершин и при этом может создавать новые кластеры; (!) — алгоритму запрещено создавать новые кластеры в процессе перемещения одной вер-
i
входным параметром, что обозначается как г.
Рассмотрим структуру алгоритмов из табл. 1 в соответствии со схемой рис, 1, Алгоритм Relocation heuristic (RH) предложен в [14] и относится к классу эвристических алгоритмов. Количество кластеров разбиения является входным параметром
Co
ствует тривиальному случаю блока «Начальное разбиение». Множество допустимых
V
V
функция». Блоку «Перемещение» в табл. 1 соответствует символ (l), что означает перемещение между кластерами ровно одной вершины без образования новых кластеров. Для каждой вершины оцениваются все её возможные перемещения между кластерами. Реализуется перемещение, при котором ошибка будет наименьшей. Процесс повторяется до тех пор, пока не истечёт заданное время.
Таблица 1
Представление алгоритмов решения задачи корреляционной кластеризации
по фазам схемы рис. 1
Алгоритм Авторы Начальное разбиение Решающая функция ш я к Ф 0" Ф Ф a Ф G Критерий останова Возмущение решения
Relocation heuristic (RH) Р. Doreian, A. Mrvar (1996) trivial trivial CD time —
Tabu search М. J. Brusco, Р. Doreian (2019) alg special (!) time —
Variable neighborhood M. J. Brusco, alg trivial CD time +
search Р. Doreian (2019)
KwikCluster N. Ailon, M. Charikar, A. Newman (2008) special |V |
Iterated local search (ILS) M. Levorato, L. Drummond, Y. Frota, R. Figueiredo (2015) special trivial 1 .. . r iter, time +
SGClusta Э. II. Ибрагимова, Д. В. Семенова, А. А. Солдатенко (2023) special special 1 |V |
Метаэвриетичеекий алгоритм Tabu search предложен в [16]. Количество кластеров разбиения является входным параметром алгоритма. Начальное разбиение C0 является результатом работы алгоритма RH. Во избежании полного перебора авторами вводится решающая функция вида (6), где множество фиксированных вершин Vix определяется списком tabu. Список tabu формируется из пар (v,itv), где v —перемещённая на текущей итерации вершина, a itv — число итераций, на которое вершина v
tabu
Метаэвриетичеекий алгоритм Variable neighborhood search предложен в [16]. Алгоритм представляет собой модификацию RH. Суть модификации состоит в добавлении блока «Возмущение решения» для разбиения, подающегося на вход блоку «Решающая функция», и в изменении блока «Оценка». Решение возмущается следующим образом. Для каждой вершины графа разыгрывается случайная бернуллиевекая величина с заданным параметром вероятности успеха ypert. В случае наступления успеха данная вершина перемещается из текущего кластера в другой случайный кластер. Далее запускается алгоритм RH с начальным разбиением, соответствующим возмущённому решению. В блоке «Оценка» результат работы RH сравнивается с предыдущим разбиением. Если ошибка не уменьшилась, то вероятность перемещения ypert увеличивается на шаг ystep, заданный параметром алгоритма, а полученное разбиение забывается. В противном случае решение становится новым текущим разбиением.
Эвристический алгоритм KwikCluster предложен в [3]. Согласно схеме рис. 1, алгоритм содержит только блок «Начальное разбиение». Построение разбиения осуществляется следующим образом: случайно выбирается вершина из множества непросмотренных вершин; вершины, соединённые с ней положительным ребром, помещаются в тот же кластер и отмечаются как просмотренные. Процесс повторяется, пока не бу-
дут просмотрены все вершины. Алгоритм в ходе работы не выполняет дальнейшего перемещения вершин,
Метаэвриетичеекий алгоритм Iterated local search (ILS) предложен в [17]. Блок «Начальное разбиение» строится следующим образом. Вводится функция дисбаланса специального вида для ранжирования вершин графа, что позволяет сформировать упорядоченный список вершин. Далее строится а-ерез списка вершин, из которого случайным образом выбирается вершина и размещается в кластере согласно функции дисбаланса. Процедура повторяется до тех пор, пока все вершины не будут размещены по заданному числу кластеров. Глубина среза а является входным параметром алгоритма, Блок «Возмущение решения» применяется к разбиению, передаваемому в блок «Решающая функция», и заключается в следующем. Выбирается случайная вершина из случайного кластера и перемещается в другой случайный кластер. Данная процедура выполняется t раз. Множество допустимых для перемещения вершин Vnov между кластерами совпадает с множеством вершин V, что соответствует тривиальному случаю для функции (6) в блоке «Решающая функция», В табл. 1 блок «Перемещение» содержит обозначение 1.. .r, что соответствует перемещению между кластерами от одной до r вершин с возможностью образования новых кластеров. Перемещения вершин перебираются до тех пор, пока не будет найдено первое улучшение функционала ошибки. Данное перемещение будет результатом блока. Блок «Оценка» сравнивает полученное разбиение с предыдущим. Если ошибка не уменьшилась, то число возму-tt не достигнет значения соответствующего параметра алгоритма. Авторы предлагают запускать данный алгоритм многократно, согласно значению параметра iter, либо до истечения заданного времени работы time, В качестве итогового разбиения выбирается наилучшее в смысле функционала ошибки среди всех решений.
Эвристический алгоритм SGClusta предложен в работах [18, 19], В качестве первоначального разбиения выбираются компоненты связности в графе Е+, который получается из графа Е путём удаления всех отрицательных рёбер. Решающая функция (6) зависит от внутриклаетерной ошибки каждой вершины и обновляемого на каждой итерации закрытого списка closeList. Если внутрикластерная ошибка вершины отлична от нуля и вершина не содержится в списке closeList, то она помещается в мно-
V1 перемещение между кластерами ровно одной вершины с возможностью образования новых кластеров. Вершина с наибольшей внутриклаетерной ошибкой выбирается из V
текущего разбиения, включая пустой. Реализуется перемещение, обеспечивающее наименьшее значение функционала ошибки. Перемещённая вершина добавляется в закры-closeList V
вершин не станет пустым = 0),
3. Алгоритм CaRVeR с потенциальными функциями
Рассмотрим модификацию алгоритма SGClust«, именуемую CaRVeR (Careful Vertex Relocator), впервые изложенную в [20], Суть модификации заключается в применении потенциальных функций в блоке «Решающая функция». Исследуем данный алгоритм согласно блокам схемы рис, 1,
3,1, Начальное разбиение
Алгоритм может работать е любым начальным разбиением, однако целесообразно строить некоторое разбиение, отличное от тривиального случая, В алгоритме используется следующий простой двухшаговый метод построения начального разбиения. На первом шаге строится граф путём удаления всех отрицательных рёбер в исходном графе £. Этот шаг требует времени O(m). На втором шаге алгоритмом поиска в ширину в графе выделяются компоненты связности. Множество вершин в компоненте связности графа является кластером в графе £. Множество C всех таких кластеров образует первоначальное разбиение Co- Этот шаг требует времени не более чем O(n + m) [15]. Количество кластеров определяется числом компонент связности |Co| = k(E+).
Из этих рассуждений вытекает следующая лемма:
Лемма 1. Сложность выполнения блока «Начальное разбиение» для алгоритма CaRVeR составляет O(n + m).
Отличительное свойство такого начального разбиения заключается в том, что оно обладает межкластерной ошибкой P(C) = 0, Данная стратегия обоснована тем, что алгоритм CaRVeR в ходе работы уменьшает внутриклаетерную ошибку без увеличения суммарной ошибки,
3,2, Решающая функция Решающая функция (6) зависит от значения потенциальной функции для каждой вершины при текущем разбиении C. Значение потенциальной функции вершины v, принадлежащей кластеру C G C, будем вычислять следующим образом:
n(v) = a( £ [(v,u) G E-] - £ [(v,u) G E-] J + \«er(v)nc uer(v)\c )
+ (1 - a) I E [(v,u) G E+] - £ [(v,u) G E+]'
V«er(v)\c «er(v)nc
v
цательную ошибку и числа корректных отрицательных рёбер. Второе слагаемое есть
v
положительных рёбер. Следовательно, потенциальная функция (7) состоит из межкла-
v
v
Cv
v
в текущей кластеризации, при этом некоторое число корректных отрицательных рёбер может сохраниться,
v
v G если n(v) < 0 либо она была перемещена ранее, и v G если n(v) ^ 0,
Аналогично алгоритму SGClust«, в множестве УШ0Л/ не могут содержаться вершины из закрытого списка closeList.
Для вычисления потенциальных функций n(v) для всех вер шин v G V требуется проверить кластер для каждой вершины из окрестности r(v). Известно, что сумма степеней всех вершин в графе равна 2m. Тогда справедлива следующая
Лемма 2. Сложность выполнения блока «Решающая функция» для алгоритма CaRVeR составляет O(m).
Отметим, что вид формулы (7) позволяет выполнять пересчёт значения для вершины V только при изменении кластера самой вершины V или смежной с ней вершины,
3,3, Перемещение
Данный блок описывается функцией ф(С | которая выбирает единственную
вершину V € с наибольшим значением потенциальной функции п^). Если таких вершин несколько, то из них выбирается случайная. Далее определяется кластер, в котором вершина V даст наименьший вклад в ошибку. Ошибку вершины V относительно кластера Сг в разбиении С будем определять по формуле
т(Сг^) = а £ 1^,п) € Е-] + (1 - а) £ [^,п) € Е+]. (8)
«ег(^)п с пег(у)\Ог
Вершина V перемещается в кластер Сг, доставляющий минимум функции т(Сг^).
Вычисление формулы (8) требует не более чем Д времени для каждого клаетера Сг, где Д — степень графа. Очевидно, что число кластеров не может превосходить числа вершин п. Из этих рассуждений вытекает следующая лемма:
Лемма 3. Сложность выполнения блока «Перемещение» для алгоритма СаМеЛ составляет О(пш).
3,4, Оценка и критерий останова
Блок «Оценка» организован стандартным образом и содержит вычисление функционала ошибки (4) на последнем шаге алгоритма,
В алгоритме СаМеК блок «Критерий останова» организован следующим образом, В конце каждой итерации алгоритма обновляется закрытый список с1овеЫв1, в который помещается вершина, выбранная в блоке «Перемещение» на текущей итерации, Останов алгоритма происходит в том случае, если в блоке «Решающая функция»
^тоу ^ •
Фиксация вершины от дальнейших перемещений выполнима за константное время 0(1), а критерий останова формирует основной цикл алгоритма с числом итераций, п
Из лемм 1-3 и критерия останова выводится итоговая оценка сложности алгоритма СаМеК.
Теорема 1. Временная сложность алгоритма СаШ/еН составляет 0(п2ш),
4. Вычислительные эксперименты
Опишем две серии экспериментов на синтетических данных.
Первая серия экспериментов предназначена для изучения поведения алгоритма СаМеН в зависимости от параметра графа р и значения а функционала ошибки (4), Исследования проводились на графах с фиксированным числом вершин, равным 5000, Рассматривались два типа графов: полные графы и графы, смоделированные методом Вакемена [21] с параметрами 0,15 и 0,4, Знаки рёбер для каждого графа формировались по схеме Бернулли с параметром р го иабо ра {0,10; 0,15;...; 0,85}, Параме тр р
а
опала ошибки (4) выбирались из диапазона от 0 до 1 с шагом 0,01,
На рис, 2 представлено типичное поведение функционала ошибки в зависимости
ар дом случае функционал ошибки Qa(C) достигает своего максимального значения при а ~ р. Рис, 2, б отражает поведение функционала ошибки для неполных графов, сгенерированных по методу Вакемена, Аналогичное поведение характерно для полных
графов (рис, 2, а). Стоит отмстить, что для неполных графов число рёбер в среднем составляет 708827, а для полных графов оно равно 12497500.
3,0 2,5 2,0
С d1-5
1,0 0,5 0,0
/А
/\У У
ш л
0,0
150 000 125 000 100 000
g
в 75 000 50 000 25 000 0
ш ж
А
0,2
0,4 0,6
а
0,8
1,0
3,4 о,е
а
1,0
0,8
0,7
0,6
0,5 s
0,4
0,3
0,2
0,1
а б
Рис. 2. Поведение функционала ошибки алгоритма СаШ/еН в зависимости от значения параметра а на графах с разной долей положительных рёбер р: а) для полных графов; б) для графов, сгенерированных но методу Ваксмена
С ростом параметра а трудоёмкость алгоритма СаШ/еЯ возрастает, при этом высокая доля положительных рёбер р в графе замедляет рост затрачиваемого времени. На полных графах время выполнения алгоритма существенно возрастает, это следует из специфики блока «Решающая функция», поскольку требуется обновлять окрестность каждой вершины. Данные результаты представлены па рис, 3,
250 200 " 150 | 100 g, 50 «
5 4 3 2 1
«
S аз а и
а б
а
лей положительных рёбер р: а) для полных графов; б) для графов, сгенерированных по методу Ваксмена
Число кластеров, выделяемых алгоритмом CaRVeR, представлено па рис, 4,
Дня полных графов число кластеров растёт с уменьшением доли положительных рё-p
Вторая серия экспериментов представляет сравнение алгогритма CaRVeR с алгоритмами KwikCluster, SGClust«, RH, Tabu search. Алгоритмы сравнивались по времени работы и значению функционала ошибки Qa(C) при а = 0,5, Начальное разбиение дня алгоритмов RH и Tabu search задавалось случайным образом, а число кластеров—таким же, что было получено алгоритмом CaRVeR дня данного графа, Сравпе-
1е6
0.2 0.0 0.8
я
о &
1000ч 750 * 500 £
250
I
и
о &
ь
250 о 200 5 150 о
100 В
50 £
I *
а б
Рис. 4. Количество выделяемых кластеров алгоритмом СаШ/еИ, при различных параметрах а на графах с разной долей положительных рёбер р: а) для полных графов; б) для графов, сгенерированных по методу Ваксмена
ние проводилось на графах с разной долей положительных рёбер р = {0,25; 0,5; 0,75}. Для каждой доли р были сгенерированы 100 графов методом Ваксмена с параметрами 0,15 и 0,4.
Результаты сравнения алгоритмов но времени представлены в табл. 2. Алгоритм СаШ/еЯ ведёт себя достаточно стабильно но времени выполнения. Заметим, что представленные алгоритмы работают значительно быстрее па графах с большей долой
р
Т а б л и ц а 2
Сравнение алгоритмов по времени работы
р Алгоритм Сродное время,с Минимальное время, с Максимальное время,с Среднеквадратичное отклонение
0,25 СаЕУеЕ 0,016 0,015 0,018 0,001
Клу1кС1ш1ег 0,001 0,001 0,001 0
Ш 30,667 26,145 36,995 2,039
ЗССХиз^ 0,018 0,017 0,02 0,001
ТаЬи БоагсЬ 71,322 60,041 79,819 5,312
0,5 СаЕУеЕ 0,008 0,007 0,009 0,001
Клу1кС1ш1ег 0,001 0,001 0,001 0
Ш 16,158 10,642 19,663 1,623
ЗССХиз^ 0,016 0,014 0,017 0,001
ТаЬи БоагсЬ 64,701 60,031 69,755 2,892
0,75 СаЕУеЕ 0,004 0,004 0,005 0,001
Клу1кС1ш1ег 0,001 0,001 0,001 0
Ш 1,636 0,405 3,221 0,587
ЗССХиз^ 0,008 0,007 0,01 0,001
ТаЬи БоагсЬ 60,294 60,0 60,981 0,242
На рис. 5 и 6 представлена скрипичная диаграмма значений функционала ошибки Qa(C). Из рис. 5 видно, что на полных графах алгоритм ЗССГиБ"Ъа и его модификация СаШ/еЯ в среднем демонстрируют наилучший результат среди тестируемых алгоритмов. Аналогичный вывод справедлив и дня графов, сгенерированных методом
Вакемена (рис, 6), Следует отметить, что алгоритм KwikCluster демонстрирует удовлетворительные результаты но значению функционала ошибки на неполных графах и, учитывая его высокую скорость работы, может быть использован как алгоритм первоначального разбиения. Наибольший разброс в значениях функционала ошибки показывает алгоритм Tabu search. Алгоритмы SGClusta и CaRVeR менее чувствительны к изменению доли положительных рёбер p, что видно из рис, 6,
30 ООО
27 500
25 000
с
01 22 500
20 000
17 500
15 000
1 SGClust„ 1 1 CarVeR 1 1 Tahu search 1 1 RH
♦ ♦ о
1
9
e о- о
0,25
0,5 Р
0,75
Рис. 5. Сравнение алгоритмов по функционалу ошибки Qa(C) для полных графов
На рис, 7 и 8 отражены средние доли в процентах межкластерной Р(С) и внутри-кластерной N (С) ошибок в найденном решении, что в некотором смысле характеризует стратегию тестируемых алгоритмов, В алгоритме CaRVeR, в сравнении с алгоритмом ЗССГиБ"Ъа, происходит балансировка внутрикластерной и межкластерной ошибок, что обусловлено спецификой потенциальной функции (рис, 7 и 8), Для полных графов (рис, 7) алгоритм КлуИсСЬ^ог находит в среднем равные доли межкластерной и внутрикластерной ошибок, а дня неполных (рис, 8) доля межкластерной ошибки значительно превосходит долю внутрикластерной ошибки.
2 500
2 ООО
с
^ 1 500
1 ООО
500
KwilrChtvtfr 1 1 sr.ri„*t.r CnrVett ■m Tnh„ i i rh
i
< rll
1 ♦
0,25
0,5 Р
0,75
Рис. 6. Сравнение алгоритмов по функционалу ошибки Qa(C) для графов, сгенерированных методом Вакемена
Р(0
N(Q
(0,75, Tabu search)-(0,75, SGClusta) (0,75, RH) -(0,75, KwikCluster) -~ (0,75, CarVeR) н (0,5, Tabu search) -^ (0,5, SGClusta) -g (0,5, RH) -
§ (0,5, KwikCluster) £ (0,5, CarVeR) (0,25, Tabu search)-(0,25, SGClusta) -(0,25, RH) -(0,25, KwikCluster) -(0,25, CarVeR)
0 20 40 60 80 100
Соотношение межкластерной и внутрикластерной ошибок
Рис. 7. Сравнение алгоритмов по долям р в процентах межкластерной Р(С) и внутрикластерной N (С) ошибок для найденного решения на полных графах
Р(0
N(C)
(0,75, Tabu search)-(0,75, SGClusta) (0,75, RH) -(0,75, KwikCluster) -(0,75, CarVeR) (0,5, Tabu search) -(0,5, SGClusta)' (0,5, RH) -(0,5, KwikCluster) -(0,5, CarVeR) (0,25, Tabu search)-(0,25, SGClustJ) -(0,25, RH) -(0,25, KwikCluster) -(0,25, CarVeR)
0 20 40 60 80 100
Соотношение межкластерной и внутрикластерной ошибок
Рис. 8. Сравнение алгоритмов по долям р в процента межкластерной Р(С) и внутрикластерной N (С) ошибок для найденного решения на графах, сгенерированных методом Ваксмена
Заключение
Проведённый системный анализ совокупности алгоритмов решения задачи корреляционной кластеризации, основанных на структуре знакового графа, позволил выявить общую концептуальную схему конструирования и анализа таких алгоритмов. Компонентами схемы являются шесть основных блоков, характеризующих возможные этапы решения, что продемонстрировано на примере описания известных алгоритмов KwikCluster, SGClust«, Relocation heuristic, Tabu search, Variable neighborhood search, Iterated local search. Такой общий взгляд на структуру алгоритмов позволяет модифицировать существующие алгоритмы путём внесения изменений в один или несколько блоков схемы. Предложен новый алгоритм CaRVeR, Согласно общей схеме, он является улучшенной модификацией алгоритма SGClust« в блоке «Решающая функция». Более того, топология общей схемы открывает возможности дня анализа и доказательства вычислительной сложности алгоритмов, что представлено в теореме 1.
Серии вычислительных экспериментов на синтетических данных показали результативность алгоритма CaRVeR в сравнении с алгоритмами KwikCluster, SGClust«, Relocation heuristic, Tabu search как но времени работы, так и но значению функционала ошибки.
Перспективны дальнейшие исследования потенциальных функций на блоке «Решающая функция» общей схемы, а также формирование базового алгоритма, содержащего все блоки общей схемы, дня осуществления различных модификаций любого из блоков.
ЛИТЕРАТУРА
1. Il'ev V., IVe.va S., and Kononov A. Short survey on graph correlation clustering with minimization criteria /7 LNCS. 2016. V.9869. P. 25 36.
2. Wahid D.F. and Hassini E. A literature review on correlation clustering: Cross-disciplinary taxonomy with bibliomctric analysis /7 Opcr. Res. Forum. 2022. V. 3. Article47.
3. Ailon N., Charikar М., and Newm,an A. Aggregating inconsistent information: Ranking and clustering 11 J. ACM. 2008. V.55. Iss.5. Article 23. P. 1-27.
4. Demaine E. D. and Immorlica N. Correlation clustering with partial information // LNCS. 2003. V.2764. P. 1 13.
5. Swamy C. Correlation clustering: Maximizing agreements via semidefinite programming // Proc. SODA'04. New Orleans, Louisiana, 2004. P. 526-527.
6. BonizzoniP., VedovaD.G., DondiR., and Jiang T. Correlation clustering and consensus clustering 11 LNCS. 2005. V.3827. I'.226 235.
7. Figueiredo R. and Moura G. Mixed integer programming formulations for clustering problems related to structural balance // Social Networks. 2013. No. 35. P. 639-651.
8. QueirogaE., Subramanian A., Figueiredo R., and FrotaYu,. Integer programming formulations and efficient local search for relaxed correlation clustering // J. Glob. Optim. 2021. No. 81. P. 919-966.
9. Doreian P. and Mrvar A. Partitioning signed social networks // Soc. Networks. 2009. No. 31. P.1-11.
10. Graham R., L., Knuth D., E., and Patashnik O. Concrete Mathematics: A Foundation for Computer Science. 2nd ed. Massachusetts, USA: Addison-Wesley, 1994. 657 p.
11. Cartwright D. and Harary F. Structural balance: A generalization of Heider's theory // Psychol. Rev. 1956. V.63. No. 5. P. 227-293.
12. Doreian P. and Mrvar A. Structural Balance and Partitioning Signed Graphs, http:// mrvar2.fdv.si/paj ek\/SignedNetworks/Bled94.pdf. 1996.
13. Bansal N., Blum A., and Chawla S. Correlation clustering // Machine Learning. 2004. No. 56. P. 89-113.
14. Doreian P. and Mrvar A. A partitioning approach to structural balance // Soc. Networks. 1996. No. 18. P. 149-168.
15. Kormen Т. H., Leiserson С. E., Rivest, R. L., and Stein C. Introduction to Algorithms. 3rd ed. Cambridge: MIT Press, 2009. 1312 p.
16. Brusco M. J. and Doreian P. Partitioning signed networks using relocation heuristics, tabu search, and variable neighborhood search // Soc. Networks. 2019. No. 56. P. 70-80.
17. Levorato M., Figueiredo R., Frota Yu,., and Drummond L. Evaluating balancing on social networks through the efficient solution of correlation clustering problems // EURO J. Comput. Optim. 2017. V.5. P. 467-498.
18. Ibragimova E., Semenova D., and Soldatenko A. Comparison of two heuristic algorithms for correlation clustering problem solving // 5th Intern. Conf. PCI. Baku, Azerbaijan, 2023.
P. i i.
19. Soldatenko A., Semenova D., and Ibragimova E. On heuristic algorithm with greedy strategy for the correlation clustering problem solution // LNCS. 2024. V. 14123. P. 462-477.
20. Солдатенко А. А., Семенова, Д. В., Ибрагим,ова Э. И. Алгоритм с потенциальными функциями для задачи разбиения знаковых графов // Информационные технологии и математическое моделирование. Томск, 2023. С. 238-244.
21. Waxman В. М. Routing of multipoint connections // IEEE J. Selected Areas Commun. 1988. V.6. No. 9. P. 1617-1622.
REFERENCES
1. Il'ev V., Il'evaS., and Kononov A. Short survey on graph correlation clustering with minimization criteria. LNCS, 2016, vol.9869, pp. 25-36.
2. Wahid D. F. and Hassini E. A literature review on correlation clustering: Cross-disciplinary taxonomy with bibliometric analysis. Oper. Res. Forum, 2022, vol.3, article47.
3. Ailon N., Charikar M., and Newm,an A. Aggregating inconsistent information: Ranking and clustering. J. ACM, 2008, vol.55, iss.5, article23, pp. 1-27.
4. Demaine E. D. and Immorlica N. Correlation clustering with partial information. LNCS, 2003, vol.2764, pp. 1-13.
5. Swamy C. Correlation clustering: Maximizing agreements via semidefinite programming. Proc. SODA'04, New Orleans, Louisiana, 2004, pp. 526-527.
6. BonizzoniP., VedovaD.G., DondiR., and Jiang T. Correlation clustering and consensus clustering. LNCS, 2005, vol.3827, pp.226^235.
7. Figueiredo R. and Moura G. Mixed integer programming formulations for clustering problems related to structural balance. Soc. Networks, 2013, no. 35, pp. 639-651.
8. QueirogaE., Subramanian A., Figueiredo R., and FrotaYu. Integer programming formulations and efficient local search for relaxed correlation clustering. J. Glob. Optim., 2021, no. 81, pp. 919-966.
9. Doreian P. and Mrvar A. Partitioning signed social networks. Soc. Networks, 2009, no. 31, pp.1-11.
10. Graham R., L., Knuth D., E., and Patashnik O. Concrete Mathematics: A Foundation for Computer Science. 2nd ed. Massachusetts, USA, Addison-Wesley, 1994. 657 p.
11. Cartwright D. and Harary F. Structural balance: A generalization of Heider's theory. Psychol. Rev., 1956, vol.63, no.5, pp.227-293.
12. Doreian P. and Mrvar A. Structural Balance and Partitioning Signed Graphs, http:// mrvar2.fdv.si/paj ek\/SignedNetworks/Bled94.pdf, 1996.
13. BansalN., Blum A., and Chawla S. Correlation clustering. Machine Learning, 2004, no. 56, pp.89-113.
14. Doreian P. and Mrvar A. A partitioning approach to structural balance. Soc. Networks, 1996, no. 18, pp. 149-168.
15. Kormen T. H., Leiserson C. E., Rivest, R. L., and Stein C. Introduction to Algorithms. 3rd ed. Cambridge, MIT Press, 2009. 1312 p.
16. Brusco M. J. and Doreian P. Partitioning signed networks using relocation heuristics, tabu search, and variable neighborhood search. Soc. Networks, 2019, no. 56, pp. 70-80.
17. Levorato M., Figueiredo R., Frota Yu,., and Drummond L. Evaluating balancing on social networks through the efficient solution of correlation clustering problems. EURO J. Comput. Optim., 2017, vol.5, pp.467-498.
18. Ibragimova E., Semenova D., and Soldatenko A. Comparison of two heuristic algorithms for correlation clustering problem solving. 5th Intern. Conf. PCI, Baku, Azerbaijan, 2023, pp. 1-4.
19. Soldatenko A., Semenova D., and Ibragimova E. On heuristic algorithm with greedy strategy for the correlation clustering problem solution. LNCS, 2024, vol. 14123, pp. 462-477.
20. Soldatenko A. A., Semenova D. V., Ibragimova E. I. Algoritm s potentsial'nvmi funktsivami diva zadachi razbieniva znakovvkh grafov [Algorithm with potential functions for the problem of partitioning signed graphs]. Informatsionnve Tekhnologii i Matematicheskoe Modelirovanie, Tomsk, 2023, pp. 238-244. (in Russian)
21. Waxman B. M. Routing of multipoint connections IEEE J. Selected Areas Commun.. 1988, vol.6, no. 9, pp. 1617-1622.