УДК 519.175.1
ИНВАРИАНТ ГРАФА НА ОСНОВЕ КОМПАКТНЫХ ПОДГРАФОВ И АЛГОРИТМ ЕГО ВЫЧИСЛЕНИЯ
Ан.В. Погребной, В.К. Погребной
Томский политехническийо университет E-mail: avpogrebnoy@gmail.com
Для взвешенных обыкновенных графов введена оценка компактности подграфов. На основе этой оценки определён ряд инвариантов, характеризующих структуру графа с учётом неравномерности распределения значений весов по рёбрам. Основное внимание уделено понятию компактного подграфа. Предложен алгоритм выделения компактных подграфов и вычисления на их основе инвариантов. Подмечено важное свойство компактных подграфов - способность отражать эффект обособления подмножеств вершин с высокой оценкой компактности.
Ключевые слова:
Инвариант графа, взвешенный обыкновенный граф, оценка компактности подграфа, компактный подграф, эффект обособления вершин.
Key words:
Graph invariant, weighted ordinary graph, estimation of subgraph density, dense subgraph, vertex isolation effect.
Введение
Для описания и анализа структуры графовых моделей в теории графов накоплено большое разнообразие количественных показателей (дескрипторов), каждый из которых характеризует некоторое структурное свойство графа [1]. Например, хроматическое число графа, число внутренней устойчивости, вектор упорядоченных значений степеней вершин [2]. Дескрипторы (описатели), которые определяются независимо от нумерации вершин или какого-либо их наименования, т. е. являются инвариантными относительно обозначения вершин, стали называться инвариантами [2]. В частности, матрица смежности вершин графа не является инвариантом, т. к. зависит от нумерации вершин (строк и столбцов матрицы). Напротив, длина кратчайшего маршрута в графе является инвариантом, а непосредственно сам маршрут в виде последовательности вершин не является.
В общем случае можно говорить, что каждый инвариант представляет некоторую характеристику структуры абстрактного графа, т. е. графа, у которого отсутствует обозначение вершин. Эти характеристики интерпретируют различные свойства графовых моделей, разработанных для конкретных приложений.
Инварианту соответствует количественная мера в виде числа или вектора. Поэтому инварианты одного типа, полученные для разных графов, могут сравниваться между собой, определяя степень сходства или различия этих графов. В изоморфных графах инварианты совпадают, т. е. равенство графов является необходимым условием их изоморфизма. К сожалению, обратное утверждение не верно, т. к. равенство инвариантов у двух графов вовсе не гарантирует наличие у них изоморфизма. Объёмы вычислений, связанные с определением инвариантов, зависят от их типов. Некоторые из них, например степени вершин, определяются совсем просто, а такие как хроматическое число графа требуют решения отдельной сложной задачи.
Во многих практических приложениях графовые модели представляются в виде взвешенных обыкновенных графов. В таких моделях рёбрам графа приписываются некоторые значения (веса), отражающие отдельное свойство соответствующей коммуникации, например протяженность, пропускную способность и т. п. Для анализа таких графовых моделей важно иметь инвариант, который характеризует структуру графа с учётом весов рёбер.
В статье вводится инвариант данного типа и предлагается алгоритм его вычисления. Для разработки инварианта вводится новое понятие - компактность подграфа и даётся её количественная оценка. Предлагаемый инвариант даёт возможность связать неравномерность распределения значений весов по рёбрам графа с его структурой и оказывается полезным при решении ряда задач анализа структур графов.
Компактность подграфов и инварианты
Рассматривается связный обыкновенный граф О=(Е,Ц) с множеством вершин Е={е;|, /=1,2,...,и и множеством рёбер и={щ). Каждому ребру Ыц=(е,,е]), связывающему две вершины е1 и е, ставится в соответствие вес г>0. В этом случае граф О может быть представлен матрицей Л=||г|, которая совмещает матрицу смежности вершин и матрицу весов рёбер. Граф О может быть также представлен множеством инциденторов Де;) вершин е1 еЕ. Инцидентор Де;) представляет совокупность вершин е,еЕ, %', которые в графе О связаны рёбрами ы=(е,е), инцидентными вершине е. Мощность множества Де;) в этом случае определяет степень вершины е, т. е.
ЗгШ\-
Если значение веса г, ребра (е; е) ассоциировать с силой притяжения (сжатия) вершин е1 и е, между собой, то можно говорить о компактности совокупности вершин е1 и е, (от лат. сотрасЫ - «сжатый»). При этом будем считать, что чем больше значение веса г,, тем выше значение компактности.
Таким образом, в качестве количественной меры компактности подграфа, содержащего вершины е и е, может быть принято значение веса г,. Аналогичные рассуждения можно распространить на подграфы, содержащие больше двух вершин. В этом случае оценка компактности С(Е,) подграфа О=(Е,,и) с множеством вершин Е,сЕ и множеством рёбер с и определяется в виде суммы значений весов рёбер ые и, связывающих вершины ее еЕ,
с (Е) = X Г •
и„еи,
На основе оценок компактности подграфов можно предложить ряд инвариантов:
1) сумма весов рёбер графа (компактность графа);
2) вектор оценок компактности кратчайших маршрутов в графе;
3) вектор упорядоченных значений оценок компактности связных подграфов, содержащих заданное число вершин;
4) вектор упорядоченных значений оценок компактности подграфов, построенных для подмножеств вершин, выделенных по определённым правилам.
Инварианты первой группы вычисляются на основе оценок компактности графа в целом. Сюда можно отнести инвариант С(Е), равный сумме весов рёбер графа, или инвариант С( и)=С(Е)/| и|, равный среднему значению весов рёбер. В качестве инварианта этой группы можно рассматривать также гистограмму частот значений весов рёбер в графе.
Во вторую группу отнесены инварианты, характеризующие компактность кратчайших маршрутов между всеми парами вершин или компактность подграфов, содержащих вершины этих маршрутов. В первом случае для каждой пары вершин вычисляется сумма весов рёбер кратчайшего маршрута. Значения этих сумм в векторе инварианта упорядочиваются по возрастанию или убыванию. Во втором случае элемент в векторе инварианта вычисляется как оценка компактности подграфа, содержащего вершины кратчайшего маршрута. Эта оценка суммирует веса всех рёбер, связывающих вершины маршрута в графе.
Векторы инвариантов третей группы О®(Е®)={О®(Е®)} формируются на основе оценок компактности О®(Е®) связных подграфов, содержащих Е® вершин. Здесь !=1,2,...,!® обозначает порядковый номер подграфа, оценка компактности которого заняла ,-е место в упорядоченной по возрастанию последовательности элементов вектора С®(Е), ^ - общее число связных подграфов, содержащих ® вершин.
В отличие от третей группы векторы инвариантов четвертой группы С(Е) включают оценки компактности подграфов О=(Е,,и), выделенных на определённых условиях. Например, в качестве О, могут выступать полные подграфы графа О. В качестве множеств вершин Еедля выделения подграфов О, могут быть приняты инциденторы Де;) или Де;)ие;.
В составе данной группы особый интерес представляют инварианты, основанные на так называемых компактных подграфах. Введению понятия компактного подграфа, алгоритму их выделения в графе и инварианту, полученному на основе этого понятия, посвящено последующее содержание данной статьи.
Компактным подграфом графа О будем называть связный подграф О®=(Е®,и®) /=1,2,.,п с множеством вершин Е®, \Ef\=g и множеством рёбер и®, связывающих вершины из множества Е®, который в множестве Е® содержит вершину е! и имеет наибольшую оценку компактности О®.
Для выделения компактного подграфа О® в графе О нужно сформировать все связные подграфы с множеством вершин Е®, еееЕ®, \Е®\=®, получить для каждого из них оценку компактности О® и выбрать подграф, соответствующий наибольшей оценке.
Инвариантом графа О на основе компактных подграфов О® будем называть п-мерный вектор О® с упорядоченными по возрастанию оценками компактности О® подграфов О®.
Алгоритм выделения связных подграфов
Задача выделения компактных подграфов О® может быть решена путём простого перебора всех сочетаний вершин из п по ®. Для каждого сочетания анализируется соответствующей подграф, и если он является связным, то для него определяется оценка компактности, а несвязные подграфы исключаются из рассмотрения. Далее в полученном множестве подграфов для каждой вершины е выбирается компактный подграф О®, который имеет наибольшую оценку компактности и содержит вершину е .
Очевидным недостатком такого алгоритма является необходимость полного перебора всех сочетаний вершин и соответствующих подграфов. При анализе графа О, содержащего несколько десятков вершин, число сочетаний становится большим уже при £>4. Поэтому важно, чтобы алгоритм мог формировать сочетания вершин, которые соответствуют только связным подграфам.
Второе требование к алгоритму обусловлено тем, что при анализе графа О как правило требуется последовательно выделять компактные подграфы для ®=2,3,4... и формировать соответствующие инварианты О®. В этом случае при генерации множества сочетаний для очередного значения (®+1) алгоритм не должен выполнять генерацию заново, а всего лишь продолжить её, используя множество связных подграфов, содержащих ® вершин. Предлагаемый ниже алгоритм разработан с учётом данных требований.
Множество связных подграфов алгоритм формирует в виде дерева. На уровне ¿=1 в дереве располагаются вершины е множества Е, упорядоченные по возрастанию номеров. Вершины этого множества представим как условно связанные с нулевой вершиной (е,€(0) на уровне ®=0 и обозначим его в виде Де„0). Вершина е®=1е1(еЦ) выступает в каче-
стве корневой вершины автономного дерева, ветви которого соответствуют всем связным подграфам, содержащим корневую вершину. Построение такого дерева заключается в формировании множеств Z(вf+1), вершины которых в дереве связываются с вершинами в® на предыдущем ®-м уровне.
Совокупность вершин множества Z(вg-1) представим в виде упорядоченной по возрастанию номеров последовательности (в?,в*,...,в£,...,в/:). Будем считать, что вершина в;geZ(в;g-1), для которой формируется множество Z(вg) вершин в,®+1, связанных в дереве с вершиной в®, разбивает множество Z(вf-X) на две части ^(ек-1)=(в(,е(,...,ек) и Z1(в/¡-1)=(вli,!,в®), г -число вершин в множестве Z (в ® 1).
В принятых обозначениях алгоритм формирует множества Z(вg) по следующим правилам:
2(е0°) = Е — {е,1}, і — 1,2,..., п; 2 «) = ^ «)\ 2 0(е0).
(1)
(2)
В общем случае для вершин в? дерева на уровне ¿>2 множества Z(в?) определяют;я по выражению:
2(е£) = (^(е£) и (21(ег^-1)) \ =о 20(<-1). (3)
Так, например, для вершины в\ на уровне ¿=2 имеем:
2(Єі2) = (^(еі2) и (21(41)) \ ( 20(е0) и 20(е')). (4)
Выражения (1), (2) определяют подграфы, содержащие 1 и 2 вершины соответственно. Все последующие подграфы, содержащие ¿+1 вершину, определяются рекуррентно по выражению (3). В дереве на уровне ¿+1 каждой вершине в,*+1 соответствует подграф, содержащий все вершины ветви от в^1 до корневой вершины. Число подграфов на уровне ¿+1 определяется суммарным числом вершин всех множеств Z (вф, сформированных для вершин в?, расположенных на уровне g дерева.
Работу алгоритма покажем на примере графа О и его матрицы Я, представленных на рис. 1.
При построении дерева нет необходимости учитывать веса. Поэтому вес ^>0 рассматривается в матрице Я как факт наличия ребра иір связывающего вершины ві и в] в графе О. Будем также считать, что при построении дерева переход на уровень ¿ осуществляется после формирования всех подграфов на предыдущем уровне. На рис. 2 при-
ведено дерево, построенное по данному алгоритму для ¿=1,2,3.
Дерево содержит 17 подграфов по 2 вершины на уровне ¿=2 и 41 подграф по 3 вершины на уровне ¿=3. Подграфы на уровне ¿=2 соответствуют всем рёбрам графа О. На уровнях ¿=2 и ¿=3 у каждой вершины дерева поставлены 2 числа - верхнее обозначает номер вершины в в графе О, а нижнее определяет компактность подграфа для соответствующей ветви дерева. Например, ветвь, выделенная жирно, соответствует подграфу с вершинами (в2,в8,в7) и компактностью равной 10. Заметим, что наличие ребра в дереве не означает наличие соответствующего ребра в графе. Например, ветвь (в2,в5,в10) содержит ребро (в5,в10), а в графе такого ребра нет. Здесь важно, что рёбра ветви (в2,в5,в10) отражают связность подграфа.
После построения согласно выражениям (1) и (2) множеств 1-го и 2-го уровня дерева формируются множества Zв) для всех вершин в2 2-го уровня. Например, чтобы сформировать множество ¿(в1) предварительно по ребру в, в12) устанавливается множество (в1)=(в5,в8,в10) к которому относится вершина 4. Далее это множество, как показано на рис. 2, разбивается на 2°(в12)=(в5,в8) и ¿1(вв12)=(в10). Учитывая, что инцидентор Дв22)=(в2,в6,в7,в9), согласно (3) или в данном случае (4), имеем:
2(е82 ) — ((е2, Є6, Є7, Є9) и (Є10)) \ ((Є1, Є2) и (Є5, Є8)) — _ (еб, Є7 , Є9 , Є10).
Построенное таким образом дерево удовлетворяет сформулированным ранее требованиям и содержит все связные подграфы, содержащие 3 вершины. При построении дерева алгоритм допускает формирование множеств для вершин в* в любой последовательности. В частности, можно без построения всего дерева автономно сформировать множество для вершины в732, расположенной на ветви (в2,в8,в7). С этой целью нужно последовательно сформировать множества ¿(в0), ¿(в^), ¿(в^), ¿(в732). В нашем примере ¿(в732) в соответствии с (3) определяется следующим о2бразом:
2 «) =
— ((ез, е5 , е8) и (е9 , е10)) / (( е1, е2) и ( Є5, е8) и ( Є6, Є7)) —
— (ез, е9 , ею).
1 2 3 4 5 6 7 8 9 10
Є4
4 5
1 6 2
4 2 2 6
7 4
5 1 7 6 3
2 3 5
2 6 4
6 3 4 2
4 3 2 3
2 6 5 3
Рис. 1. Пример графа G и его матрицы Н
2 >8 )гЧ<)
Рис. 2. Дерево связных подграфов для д=1,2,3
Заметим также, что упорядочение вершин в множествах Z(вg) по возрастанию номеров не является обязательным и введено в алгоритм всего лишь для удобства восприятия дерева.
Инварианты на основе компактных подграфов
При наличии дерева связных подграфов О® с оценками компактности О® выделение компактных подграфов О® осуществляется последовательно для всех вершин в;еЕ. С этой целью среди подграфов О®, содержащих вершину в, выбирается подграф О® с максимальной оценкой компактности С®. Если таких подграфов окажется несколько, то они все запоминаются. Выбор подграфов в этих случаях производится после выбора компактных подграфов для всех вершин в. При этом предпочтение отдаётся тому подграфу, который максимально пересекается с подграфами, выбранными для других вершин.
Результаты выбора компактных подграфов О/ для рассматриваемого примера сведены в таблицу.
Столбец таблицы представляет компактный подграф О3 для вершины в. Вершины в множестве Е3 графа О' указываются в последовательности, аналогичной соответствующей ветви дерева. Для вершины в8 в дереве оказалось два компактных подграфа с оценкой С83= 10. Предпочтение в данном случае отдаётся подграфу с множеством вершин Е83=(в2,в8,в7), которое полностью пересекается с Е23.
Таблица. Компактные подграфы
в, 1 2 3 4 5 6 7 8 9 10
Е3 1 2 3 4 4 3 4 2 5 4 3
5 8 6 5 5 6 5 8 7 5 6
4 7 10 9 9 10 7 7 8 9 10
С3 12 10 13 14 14 13 13 10 14 13
В нижней строке таблицы указаны значения оценок компактности. Данные оценки в упорядоченной по возрастанию последовательности образуют инвариант в виде «-мерного вектора (?(О). В нашем примере С3(О)=(10,10,12,13,13,13,13,14,14,14). Нетрудно убедиться, что инвариант на основе компактных подграфов О;2для дерева на рис. 2 соответствуют вектору С2(О)=(4,5,5,6,6,6,6,6,7,7).
Компактные подграфы О®, наряду с тем, что являются основанием для формирования инвариантов С(О), обладают примечательным свойством, которое заключается в способности отражать степень обособления вершин в графе. Эффект обособления поясним на примере компактных подграфов О,3, представленных в таблице. Для этого на рис. 3 визуально покажем принадлежность вершин графа О компактным подграфам ОД
е10
Рис. 3. Иллюстрация эффекта обособления вершин
Множества вершин Е3 на рис. 3 обведены линиями, помеченными вершинами в, для которых получены соответствующие компактные подграфы
О,3.
Эффект обособления вершин легко просматривается визуально. В частности, если исключить подграф О73, то вершины графа О разобьются на 3 обособленные подмножества с высокой оценкой компактности. Очевидно, что эффект обособления вершин взвешенных графов О на основе компактных подграфов О$ может быть использован при решении задач декомпозиции графа на подграфы. Применение компактных подграфов для решения таких задач требует отдельного исследования и в данной статье не рассматривается.
Выводы
1. Введение оценки компактности для подграфов взвешенного обыкновенного графа даёт возможность сформулировать ряд инвариантов, которые оказываются полезными при анализе структур графов с учётом весов рёбер.
СПИСОК ЛИТЕРАТУРЫ
1. Дэмер М., Эммерт-Штрайб Ф., Цой Ю.Р., Вармуза К. Новый функционал информативности для анализа структуры хими-
2. Предложенный алгоритм формирования связных подграфов позволяет избежать полого перебора подграфов, исключая несвязные и связные дублирующие подграфы. Алгоритм может быть полезен в любых других исследованиях, где возникает потребность в полном или частичном выделении связных подграфов.
3. Введение понятия компактного подграфа и определение на этой основе инварианта в виде «-мерного вектора расширило возможность по увязке неравномерности распределения значений весов по рёбрам графа с его структурой. Кроме того, компактные подграфы выступают в роли «усилителя» эффекта обособления подмножеств вершин с высокой оценкой компактности, что может оказаться весьма полезным при решении задач декомпозиции графов. Работа выполнена в рамках госзадания «Наука».
ческих графов // Известия Томского политехнического университета. - 2010. - Т. 316. - № 5. - С. 5-11.
2. Зыков А.А. Основы теории графов. - М.: Изд-во «КомКнига», 2004. - 644 с.