УДК 519.175.1
ЗАДАЧА ОПРЕДЕЛЕНИЯ ОЦЕНОК СХОДСТВА СТРУКТУР ДВУХ ГРАФОВ НА ОСНОВЕ ВЫДЕЛЕНИЯ ОБЩИХ ЧАСТЕЙ
В.К. Погребной
Томский политехнический университет E-mail: vkp@tpu.ru
Предложен алгоритм решения задачи определения оценок сходства структур, представленных обыкновенными графами, на основе выделения уних общих частей в виде изоморфных подграфов или частичных графов. Алгоритм работает в классе графов с одинаковыми векторами начальных описателей.
Ключевые слова:
Обыкновенный граф, сходство графов, изоморфизм графов, частичный изоморфизм, структурные различия, однородные группы.
Key words:
Ordinary graph, graph similarity, graph isomorphism, partial isomorphism, structural differences, homogeneous groups.
Введение
Решая задачу определения изоморфизма двух графов [1] или гиперграфов [2], мы получаем ответ - являются графы изоморфными или нет. Для изоморфных графов указывается соответствие вершин, при котором их инциденторы совпадают. В работе [3] рассматривается более общая проблема описания структур графов и анализа их сходства. Предлагаются методы свободной и зависимой интеграции структурных различий и получения интегральных описателей структур (1Ш). При этом изоморфизм двух графов рассматривается как частный случай, соответствующий полному сходству структур графов, когда их ISD совпадают.
Во многих практических задачах, связанных с анализом структур, более важной является возможность оценить частичное сходство двух структур. Данная задача является более сложной и может рассматриваться в разных вариантах:
• выделение в графах общей части в виде подграфа;
• выделение общей части в виде частичного графа;
• определение оценок сходства на основе анализа интегральных описателей.
Методы определения оценок сходства в каждом из вариантов могут различаться в зависимости от параметров сравниваемых графов - имеют они одинаковое или разное число вершин и (или) рёбер, совпадают или нет у них исходные векторы описателей. ISD-технология анализа подобия структур [3] предполагает разработку методов определения указанных видов оценок сходства. Первая из этих оценок отражает наличие у сравниваемых графов общей части, которая для них обоих одновременно является подграфом. Вторая оценка даёт более полное представление о сходстве графов, когда в качестве общей части выступает частичный граф. В этом случае число рёбер, содержащихся в частичном графе, может служить мерой сходства сравниваемых графов. Например, если
сравниваемые графы содержат по 20 рёбер, а общий для них частичный граф - 15 рёбер, то сходство данных графов можно оценить отношением 15/20 или 75 %.
Статья посвящена разработке метода выделения в двух графах общего для них частичного графа, содержащего наибольшее число рёбер. При этом рассматривается самый простой случай, когда сравниваемые графы имеют равные исходные векторы описателей и, соответственно, одинаковое число вершин и рёбер. Задача выделения частичного графа и получения соответствующей оценки сходства решается в составе ISD-технологии и рассматривается как задача определения наибольшей общей части двух графов.
Метод решения задачи выделения в графах общей части включает последовательное выполнение двух этапов (двух алгоритмов). На первом из них выделяется общая часть в виде изоморфных подграфов. Второй этап посвящён расширению общей части, полученной на первом этапе, до связного частичного графа или частичного подграфа, если некоторые вершины окажутся с нулевой степенью. При решении данной задачи используется метод интеграции структурных различий (метод ISD) [3]. Важное значение имеет также использование результатов, полученных при исследовании свойств однородных групп. Эти исследования, наряду с выделением в общей части изоморфных подграфов, сделали возможным оценивание близости сравниваемых графов на уровне однородных групп.
Однородные группы и отношения между ними
Изучение однородных групп удобнее вести на обыкновенных графах [4]. При этом результаты исследований легко переносятся на графы других типов, в том числе на графовые модели, представленные атрибутными матрицами [5]. Формально однородная группа определяется как совокупность вершин графа, у которых описатели, полученные в результате выполнения очередного шага интеграции структурных различий, совпадают.
к=1 1
к=2
Рис. 1. Примеры однородных групп и результаты дифференциации их вершин
1
1
2
Пример визуального представления трёх шагов свободной интеграции с выделением однородных групп приведён на рис. 1. Однородные группы получены в результате применения формальных правил интеграции структурных различий в условиях, когда атрибуты отсутствуют. В этом случае все вершины е&Е и рёбра г&Я обыкновенного графа 0=(Е,К) являются неразличимыми, а их начальные характеристики описываются вектором В0={й'0} с элементами 4°=1.
Совокупность описателей вершин, соответствующих инцидентору вершины е1 на к-м шаге интеграции, обозначим Z¡k. В нашем примере описатели 4°=1 для всех вершин е1 &Е, поэтому на первом шаге интеграции элементы в совокупностях Zf также равны 1. Дифференциация вершин на данном шаге происходит по степеням вершин (по числу элементов в Z^ ). В результате получаются группы вершин Е (й() с разными описателями ё(. В одну группу Е‘(41=1)=(е1,е3,е6,е7,е8,е9) попадают вершины со степенью 3, а в другую Е‘(41=2)=(е2,е4,е5) - со степенью 4. Вершинам со степенью 3 присваивается описатель 4'=1, а со степенью 4 - описатель 6,}=2. Соответственно, для к=1 имеем две группы Е1( 1) и Е1(2), которые на рис. 1 обозначены своими описателями.
Несмотря на то, что при к=0 в каждой группе вершины имели одинаковые описатели, для к=1 легко обнаруживаются их структурные различия. Так, в группе Е*(1) для вершины е; совокупность ^=(1,2,2), а для е6 - Z61=(1,1,2). Аналогично различие имеет место и в группе Е1(2). Например, для вершины е2 совокупность Z21=(1,1,2,2), а для е5 имеем 25‘=(1,1,1,2). Однородную группу, вершины которой имеют разные Zk, будем именовать нестабильной или дифференцируемой. Для к=1 обе группы являются нестабильными, и следовательно возможна их дифференциация. Результат дифференциации вершин группы Е‘(1) на шаге к=2 приведён на рис. 1. Здесь группа Е2(1)=(еье3) в отличие
от групп Е2(2)=(е2,е4,е5) и Е2(3)=(е6,е7,е8,е9) является стабильной, т. к. Z12=Z32=(2,2,3). Дифференциация группы Е2(2)=(е2,е4,е5) на шаге к=3 приводит к выделению вершины е2 с уникальным описателем 43=2, который включается в состав вектора ISD. Вершины (е4,е5) образуют стабильную группу Е 3(4) с ^3=^3=(1,2,3,3).
При анализе причин нестабильности однородной группы будем различать неоднородность отношений между вершинами внутри группы и отношений с вершинами внешнего окружения. Соответственно, нестабильные группы будем подразделять на группы с внутренней и (или) внешней нестабильностью. В частности, группа Е3(3) так же, как и группа Е1(2), является одновременно внутренне и внешне нестабильной. Нетрудно убедиться, что после дифференциации вершин группы Е3(3) группа Е3(4) из стабильного состояния переходит во внешне нестабильное. В общем случае возможности перехода однородной группы из одного состояния в другое определяются следующими свойствами:
• стабильная группа в результате дифференциации вершин в группах её окружения может перейти во внешне нестабильное состояние;
• внутренняя нестабильность группы в отличие от внешней не может быть приобретена в ходе дифференциации вершин в группах её окружения;
• внутренняя и внешняя нестабильность группы не могут быть утеряны в ходе дифференциации вершин в группах её окружения;
• дифференциация вершин группы независимо от её состояния может привести к появлению групп в любом состоянии.
Заметим, что перечисленные свойства не совсем очевидны. Они сформулированы исходя из анализа метода интеграции структурных различий. При этом предполагается, что в последующих исследованиях будут более строго обоснованы эти и другие свойства однородных групп.
Приведём еще одно свойство, которое связано со степенями вершин в стабильных группах. Это свойство определяет условие существования таких групп и также является очевидным. В стабильной группе с числом вершин п и суммарным числом рёбер между вершинами равным г степени у всех вершин по данным рёбрам одинаковы и могут
принимать значения ^=0,1,2, При этом должно
соблюдаться условие 5=2г/п. Из условия следует, что степень ^=0 возможна при г=0 и произвольном п>2. Для ^=1 должно соблюдаться условие 2г=п, т. е. для 5>1 число вершин в группе всегда должно быть четным. Выделим аналогичное свойство и относительно внешних рёбер, связывающих вершины стабильной группы с вершинами, окружающими группу. Любая вершина стабильной группы связана с вершинами за пределами группы равным числом рёбер. Таким образом, в стабильной группе степени вершин по внутренним и внешним рёбрам совпадают.
При дифференциации вершин нестабильной группы часть её внутренних рёбер становится внешними. Например, после дифференциации вершин группы Е1(1) (рис. 1) внутренние рёбра г16 и г3,9 для групп Е2(1) и Е2(3) стали внешними. Исследования структуры отношений между однородными группами важны при получении оценок сходства двух графов на уровне однородных групп. Для этого строятся и исследуются графы связности однородных групп. Примеры таких графов, построенных для групп, полученных на соответствующих шагах интеграции, приведены в нижней части рис. 1. Графы связности однородных групп используются при решении задачи определения сходства двух графов на основе анализа интегральных описателей. В частности, о степени сходства двух графов можно судить по анализу изоморфизма соответствующих графов связности однородных групп. Такие исследования отнесены к варианту решения задачи на основе анализа интегральных описателей и в данной работе не рассматриваются.
Алгоритм выделения в графах общей части
в виде изоморфных подграфов
Задачу сравнения графов О и Нс целью выделения общего для них подграфа и определения на этой основе оценки сходства будем рассматривать как задачу определения их частичного изоморфизма с помощью метода ISD. В этом случае предполагается, что в векторах ISD у графов О и Н совпадают не все описатели, а только их часть, которая соответствует общему подграфу. Проблема здесь заключается в том, что по методу ISD описатели вершин общего подграфа определяются на основе интеграции структурных различий относительно всех вершин графа. Это приводит к тому, что вершины неизоморфных частей графов О и Н вносят «искажения» в описатели вершин изоморфной части и выделение соответствующего подграфа становится невозможным.
Ниже предлагается алгоритм, который позволяет локализовать неизоморфные части графов, маскируя структурные различия в этих частях, и тем самым исключает искажающее воздействие на описатели вершин изоморфных частей графов. Локализация изоморфных частей и маскировка структурных различий осуществляется с помощью метода ISD на основе выделения и сопоставления однородных групп. В результате для графов О и Н получаются векторы интегральных описателей (^), в которых каждая вершина изоморфных частей получает уникальное значение описателя, а все вершины неизоморфных частей окажутся сосредоточены в специальных однородных группах с маскирующими значениями описателя.
Дадим некоторые пояснения к таким группам. Однородные группы Ед(й) и ЕНк(^) в графах О и Н будем считать эквивалентными, если при равных описателях йк число вершин в них совпадает, а между вершинами е1 еЕ/к(йк) и е&Ек(й) имеет место взаимно-однозначное соответствие, при котором Zk(О)=Zk(H). Свойство эквивалентности и неэквивалентности рассматривается только относительно групп, принадлежащих разным графам, независимо от стабильности или нестабильности данных групп. Таким образом, при работе алгоритма будем различать стабильные эквивалентные группы (С), нестабильные эквивалентные группы (Н), неэквивалентные стабильные и нестабильные группы (НЭ), которые были отмечены выше как специальные. Заметим также, что группы типа (НЭ) соответствуют не изоморфным частям графов и выполняют роль «убежища» для структурных различий, которые маскируются путём использования одинаковых описателей вершин внутри группы.
Алгоритм включает выполнение следующих операций.
1. Сравниваются обыкновенные графы О и Н при отсутствии каких-либо атрибутов у вершин и рёбер. В этом случае векторы начальных описателей $0(О) и В°(Н) принимаются единичными и, следовательно, каждый граф представлен одной однородной группой ЕО°(1) и ЕН°(1). Последующие шаги интеграции в одном из графов, например в О, будут выполняться как свободные, а в другом - как зависимые. После выполнения первого шага интеграции (к=1) согласно условиям задачи получим векторы исходных описателей Б1(О)=Б (Н), которые отражают дифференциацию вершин по степеням. Если все вершины графов О и Н имеют одинаковые степени, то группы ЕО°(1) и ЕН°(1) относятся к типу (С) и для дифференциации их вершин в векторы ^(О) и В°(Н) вводятся абстрактные описатели по правилам, изложенным в [3]. Выполняя шаги интеграции относительно новых векторов Д.°(О) и В*И(Н), получим векторы Б1(О)=В1(Н), в которых вершины разбиты на две однородные группы.
2. Выполняется анализ векторов 1к(О)=1к(Н) и классификация содержащихся в них однородных групп ЕДсР) и ЕНк(С‘) по типам (С), (Н), (НЭ). Группы типа (НЭ) не подлежат дифференциации и сохраняются до завершения работы алгоритма. Группы типа (С) ожидают возможной дифференциации своих вершин. Среди групп типа (Н) выбирается группа с наибольшим числом вершин. Для вершин этой группы в графах О и Н выполняется (к+1)-й шаг интеграции относительно векторов 1)к(О) и 1)к(Н). Полученные при этом описатели с1к+1 определяют дифференциацию вершин в группе. Если группа типа (Н) отсутствует, то среди групп типа (С) выбирается группа с наибольшим числом вершин и для неё выполняется дифференциация с помощью введения абстрактного описателя. При отсутствии групп типа (С) и (Н) работа алгоритма завершается.
3. Выполняется формирование векторов 1к+1(О) и 1к+1(Н). На шаге интеграции к=1 все описатели с!1 векторов 11(О) и 11(Н) определяются входе дифференциации вершин в группах ЕО°(1) и ЕД1), выполняемой в первой операции данного алгоритма. В этом случае формирование векторов 11(О) и 11(Н) происходит автоматически. На шаге к>1 после дифференциации в группе типа (Н) или (С) векторы 1к+'(О) и 1к+1(Н) содержат только описатели йк+1 вершин этой группы. Для вершин с уникальными описателями и вершин из других групп типа (НЭ), (Н), (С), описатели С из векторов 1к(О), 1к(Н) переносятся в векторы 1к+'(О) и 1к+‘(Н) без изменений. Сформированные таким обра-
зом векторы анализируются во второй операции.
В тех случаях, когда при выполнении операции 2 выделяется несколько групп типа (Н) или (С), операции 2 и 3 выполняются для каждой из этих групп. Повторное выполнение операций 2 и 3 производится также в случаях введения абстрактных описателей при дифференциации вершин в группах типа (С).
В результате выполнения операций данного алгоритма вершины, получившие уникальные описатели, составляют общую часть графов О и Н в виде изоморфных подграфов, а вершины, входящие в группы типа (НЭ), представляют неизоморфные части графов.
На рис. 2 приведён пример выполнения алгоритма решения задачи выделения общих частей для графов О и Н, содержащих по 9 вершин и по 15 рёбер. Исходные векторы 1'(О) и 1'(Н) графов по условиям задачи должны совпадать, что и подтверждается выполнением первой операции.
Во второй операции определяется, что группы Е'(1) и Е'(2) в графах О и Н относятся к типу (Н) и группа Е‘(1), содержащая больше вершин, дифференцируется в первую очередь. После этого третья операция формирует векторы 12(О) и 12(Н). Анализ данных векторов (операция 2) указывает на наличие трёх групп Е2(1) типа (С), Е2(2) типа (НЭ) и Е2(3) типа (Н). После дифференциации группы Е2(3) и формирования векторов 13(О) и 13(Н) в них, помимо группы Е3(2) типа (НЭ), выделяются 3 группы типа (С) равной мощности. Поэтому для дифференциации с помощью введения абстрактного описателя выбирается любая из них.
Граф О
1 2 3 4 5 6 7 8 9 Вс В1 В В3 А * ВА В5 ^(О)
1 1 1 1 1 111 1 221 1 1 5 5 5
2 1 1 1 1 1 1111 2 2 2 2 2 2 5122
3 1 1 1 1 111 1 221 1 1 1 1 1
4 1 1 1 1 1 1111 2 2 2 2 2 2 5236
5 1 1 1 1 1 1111 2 2 2 2 2 2 2147
6 1 1 1 1 111 1 121 3 123 3 3 524 3 3
7 1 1 1 1 111 1 211 3 233 4 4 4 234 4
8 1 1 1 1 111 1 211 3 233 4 4 4 246 7
9 1 1 1 1 111 1 121 3 123 3 3 124 6 6
Граф Н
1 2 3 4 5 6 7 8 9 Вс В В БІ В * В В3 15(Н
1 1 1 1 1 1 1111 2 2 2 2 2 2 7521
2 1 1 1 1 111 1 211 3 213 3 3 254 3 3
3 1 1 1 1 1 1111 2 2 2 2 2 2 3521
4 1 1 1 1 111 1 121 3 321 3 3 421 6 6
5 1 1 1 1 111 1 211 3 233 4 4 4 264 7
6 1 1 1 1 111 1 212 1 1 5 5 5
7 1 1 1 1 1 1111 2 2 2 2 2 2 2264
8 1 1 1 1 111 1 112 3 332 4 4 4 342 4
9 1 1 1 1 111 1 221 1 1 1 1 1
Рис. 2. Пример выделения и сопоставления однородных групп
В примере выбрана группа Е3(1), что приводит к нестабильности группы Е3(3). В последующей итерации дифференцируется оставшаяся группа Е4(4) типа (Н). Для вершин группы Е5(2) на рис. 2 приведены совокупности 1\О) и 15(Н), из которых следует, что в графах О и Н соответствующие вершины по-разному (неизоморфно) связаны с вершинами окружения. Вершины с уникальными описателями [й 5}=(1,2,...,7) в графах О и Н соответствуют изоморфным подграфам.
На рис. 3 показано дерево, отражающее последовательность выбора и дифференциации вершин однородных групп в графах О и Н, приведённых на рис. 2. Жирными линиями выделен маршрут, который соответствует последовательности дифференциации групп, представленной на рис. 2. Рядом с вершинами дерева указаны соответствующие группы и обозначены их типы. Символом * помечены стабильные группы, для дифференциации которых вводились абстрактные описатели. В дереве группа типа (НЭ) показывается один раз на шаге её выделения. Это обусловлено наличием у групп данного типа очень важного свойства - для групп типа (НЭ) в ходе дифференциации групп её окружения переход в группу типа (Н) или (С) невозможен. Для дерева на рис. 3 это означает, что однородная группа на любом к-м шаге, оказавшись неэквивалентной, сохраняет этот тип во всех маршрутах дерева, проходящих через данную группу.
По результатам работы алгоритма сходство графов О и Нможно оценить в виде доли вершин, вошедших в изоморфный подграф. В данном примере эта доля составила 2/3. Неизоморфная часть в примере содержит 3 вершины, которые в данном случае также можно рассматривать как изоморфный подграф с оценкой 1/3.
Алгоритм выделения в графах общей части в виде частичных графов
Если данный алгоритм рассматривать независимо от результатов, полученных при выполнении первого алгоритма, то он сводится к поиску такого варианта попарного совмещения вершин из графов О и Н, при котором число рёбер между совмещёнными вершинами является максимальным. Для решения такой задачи нужно проанализировать все варианты совмещения вершин. Число вариантов определяется числом перестановок вершин в одном из графов, что приводит к недопустимо большим объёмам вычислений.
При использовании результатов первого алгоритма задача сводится к расширению числа вершин и рёбер общей части (изоморфного подграфа) за счёт вершин и рёбер неизоморфной части. Алгоритм использует совмещение вершин, полученное при выделении изоморфного подграфа, и выбирает вариант совмещения вершин в неизоморфной части, доставляющий наибольшее число рёбер в расширенной общей части, т. е. в частичном графе. Если неизоморфная часть представлена несколькими однородными группами типа (НЭ), то для каждой из них алгоритм выполняется автономно.
Ниже предлагаются основные операции алгоритма решения данной задачи.
1. В графах О и Нрассмотрению подлежат однородные группы типа (НЭ) ЕОк(йк) и ЕНк(йк) с одинаковыми значениями й1. Для каждой пары совмещаемых вершин (е;,е;), в1еЕОк(йк), е]еЕНк(йс) определяется оценка % сходства отношений этих вершин с вершинами окружения, с=\^(О)Г\1к(Н)\. Заметим, что в совокупности ¿к(О) и ¿к(Н) могут входить описатели й рассматриваемых групп Е0к(й‘) и ЕНк(йк) и других групп типа (НЭ) неизоморфных частей. Величины с9 формируются
¿=5 £44) (_) £5(1)(2)
Рис. 3. Дерево выбора и дифференциации вершин однородных групп
в матрицу C=\\c¡¡\. Значения элементов cij оценивают предпочтение совмещения вершин е1 и е. Для примера на рис. 2 совмещение (е4,е3) с соответствующими 745(О)=(5,2,3,6) и 2,5(Н)=(3,5,2,1) даёт оценку с43=3, а (е5,е7) - оценку с57=2.
2. Относительно матрицы С с помощью одного из известных алгоритмов решается задача назначения [6]. В результате решения данной задачи выбирается вариант совмещения вершин с максимальной суммой оценок предпочтения. В примере получены следующие элементы матрицы С: с21=3, с23=3, с27=2, с41=2, с43=3, с47=2, с51=3, с53=2, с57=2. Одно из решений с суммарной оценкой равной 8 соответствует варианту совмещения с27=2, с43=3, с51=3.
3. Для варианта совмещения, полученного во 2-й операции, строится частичный граф, который представляет общую часть графов О и Н. С этой целью формируется полный вариант совмещений вершин графов О и Н, включающий совмещения вершин согласно изоморфным подграфам и совмещения, полученные во 2-й операции. Совмещаемые пары вершин (е ,,е) принимаются в качестве вершин формируемого частичного графа. Вершины частичного графа (е;,е;) и (е,е) связываются ребром, если в графе О есть ребро гщ, а в графе Н - ребро .
2(4,3)
Рис. 4. Общие части графов G иН в виде подграфа и частичного графа
Частичный граф, полученный с помощью 1-го и 2-го алгоритмов для рассматриваемого примера сравнения графов О и Н, представлен на рис. 4. Обозначение вершин частичного графа приведено в виде ік(е;,е;). Здесь йк - описатель вершин совмещения (е;,е,), вершина е;из графа О, а еіиз графа Н. Вершины и рёбра подграфа, полученного в первом алгоритме, выделены жирными линиями. Сплошными тонкими линиями показаны вершины и рёбра, включённые
в частичный граф во втором алгоритме. Пунктирные линии, помеченные знаком °, соответствуют рёбрам графа О, не вошедшим в общую часть. Аналогичные рёбра графа Н помечены знаком *.
Граф нарис. 4 представляет результат наложения графов О и Н в соответствии с полученным вариантом совмещения вершин. При этом 11 рёбер из 15 совместились и вошли в общую часть. Таким образом, сходство графов О и Н по их общей части в виде частичного графа можно оценить отношением 11/15. Данная оценка сходства получилась несколько выше, чем оценка равная 2/3, полученная на основе изоморфных подграфов. Здесь нельзя говорить о предпочтениях второй оценки над первой или наоборот. При анализе сходства структур в различных предметных областях каждая из этих оценок может интерпретировать определённый содержательный смысл.
Заключение
Задача определения оценки сходства структур двух графов относится к классу неполиномиальной сложности. Поэтому сам факт разработки приемлемого для применения на практике алгоритма её решения на основе выделения у сравниваемых графов общих частей является важным результатом выполненных исследований. В числе достоинств отметим также, что алгоритм решения данной задачи эффективно работает на графах, содержащих десятки вершин, и по объему вычислений сопоставим с задачей интеграции структурных различий.
Что касается недостатков, то их существенно больше. Основной недостаток заключается в том, что алгоритм может сравнивать только такие графы, у которых векторы начальных описателей совпадают. Это означает, что алгоритм может работать в узком классе графов, определяемом вектором начальных описателей. Алгоритм не гарантирует выделение наибольшего изоморфного подграфа и последующее получение наибольшего частичного графа. В качестве значимого недостатка отметим также следующее. Принимая группу типа (НЭ) в качестве «убежища» для структурных различий, алгоритм не проверяет возможность сокращения размерности этого «убежища». Такие проверки особенно важны для групп, содержащих относительно большое число вершин. Несмотря наука-занные недостатки, алгоритм и в предложенном виде является эффективным инструментом анализа сходства структур, относящихся к одному классу, задаваемому вектором начальных описателей.
Работа выполнена в рамках госзадания «Наука».
СПИСОК ЛИТЕРАТУРЫ
1. Погребной В.К. Об одном методе определения изоморфизма графов // Кибернетика. - 1982. - № 2. - С. 7-13.
2. Погребной В.К. Алгоритм решения задачи определения изоморфизма гиперграфов // Известия Томского политехнического университета. - 2010. - Т. 317. - № 5. - С. 16-21.
3. Погребной В.К. Метод интеграции структурных различий в графовых моделях и его применение для описания структур // Известия Томского политехнического университета. -2011. - Т. 318. - №5. - С. 10-16.
4. Зыков А.А. Основы теории графов. - М.: Изд-во «КомКнига», 2004. - 644 с.
5. Погребной В.К. Решение задачи определения изоморфизма графов, представленных атрибутными матрицами // Известия Томского политехнического университета. - 2012. - Т 321. - № 5. - С. 52-56.
6. Гольштейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. - М.: Наука, ФИЗМАТЛИТ, 1969. - 384 с.
Поступила 14.01.2013 г.