№ 2/2014
Вестник Таганрогского института управления и экономики
В.П. КАРЕЛИН
МОДЕЛИ И МЕТОДЫ ТЕОРИИ ГРАФОВ В СИСТЕМАХ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ
Рассмотрены особенности оптимизационных задач с дискретной структурой, для представления и исследования которых применяются модели и методы теории графов.
Приводятся примеры базовых задач теории графов, к которым сводится ряд проблем из области планирования, проектирования, представления и обработки знаний, автоматизации процедур выработки и принятия решений в организационнотехнологических и социально-экономических сис-
темах. Анализируются подходы и методы решения важных для практических приложений и интересных в теоретическом плане задач размещения вершин графа, декомпозиции графов, определения изоморфизма графов.
Предложены эвристические правила, позволяющие сокращать перебор при построении упорядоченности вершин графа, минимизирующей суммарную длину связей и максимизирующей двоичный код матрицы смежности.
Теория графов, модели и методы, принятие решений, базовые задачи, размещение вершин, декомпозиция графа, агрегирование графа, матрица смежности, инварианты графа, двоичный код матрицы, изоморфизм графов.
Многие задачи выбора и принятия решения (ПР) при управлении сложными системами являются, по своей сути, дискретными, или целочисленными. Поиск оптимального решения таких задач - проблема существенно более сложная, чем задачи непрерывной оптимизации. Это связано с тем, что для задач с дискретной структурой характерны либо расчленённость области определения на отдельные элементы - точки или подобласти, либо конечность множества значений целевой функции и т.п. Средством анализа оптимизационных задач с дискретной структурой являются комбинаторные алгоритмы или комбинаторные вычисления [1-3].
В тех случаях, когда размерность задачи относительно невелика, методы комбинаторной оптимизации позволяют за приемлемое время найти наилучшее решение. Однако для большинства практических задач из-за «проклятия размерности» этого сделать не удаётся, и приходится создавать приближенные алгоритмы. Наряду с этим существует также класс задач, где сама постановка требует точного решения. Например, задача распознавания наличия или отсутствия некоторых свойств, присущих данной модели, задачи на существование и др. Примерами могут быть: задача распознавания изоморфизма графов, изоморфного вложения, задача о существовании раскраски графов в заданное количество красок, о существовании размещения вершин графа, отвечаю-
щего заданному критерию, и др. Для таких задач предпринималось много безуспешных попыток разработки эффективных алгоритмов решения, что привело к гипотезе об их принципиальной труднораз-решимости и распространению среди специалистов мнения о невозможности построения эффективных алгоритмов решения задач, относящихся к классу NP-полных [2].
Труднорешаемой задачей принято называть такую, для решения которой не существует полиномиального «эффективного» алгоритма. Аналогом алгоритмической неразрешимости является перебор экспоненциального числа вариантов при поиске решения задачи. Большая часть проблем оптимального выбора и ПР обусловлена их NP-трудностью. Эго означает, что оптимальное решение может быть найдено за полиноминально зависящее от размерности задачи время только с помощью недетерминированного алгоритма [1-3].
Труднорешаемость комбинаторных задач является существенной преградой, стоящей на пути их точного решения. Поэтому на практике для решения ряда оптимизационных задач, допускающих получение приближённого решения, обычно используются эврис-тические алгоритмы, позволяющие решать задачи большой размерности за приемлемое время и с удовлетворительной точностью. Использование эвристик при построении алгоритмов приводит к тому, что зада-
69
№ 2/2014
Вестник Таганрогского института управления и экономики
чи выбора и ПР решаются на основе большого разнообразия методов и алгоритмов, не связанных ме^ду собой общностью математических процедур и операций.
Непрерывный рост объёма комбинаторных вычислений в большой степени обусловлен повышением уровня интеллектуальности различного рода систем поддержки принятия решения (СППР), информационно-поисковых и советующих систем, а также с широким внедрением средств вычислительной техники и обработки информации в производство и повседневную деятельность человека, где решения принимаются на основе комбинаторного оценивания, прогнозирования, анализа и перебора вариантов. Примерами комбинаторных задач являются задачи на размещения, задачи о покрытиях и заполнениях, задачи о маршрутах, задачи сетевого и многоэтапного планирования, календарного планирования и теории расписаний. Для представления, анализа и решения перечисленных задач чаще всего используют модели и методы теории графов, которая является важным разделом декретной математики [4; 5].
Практическая роль теории графов особенно возросла за последние годы в связи с интенсивным раз -витием таких направлений, как автоматизированные системы планирования, проектирования и управления, разработка и создание интеллектуальных систем обработки информации и СППР, моделей и методов представления задач, данных, знаний и методов пои: -ка решений в системах искусственного интеллекта.
Результаты и методы теории графов применяются при решении транспортных задач о перевозках, для нахождения оптимальных решений задач о назначениях, для выделения «узких мест» при планировании и управлении разработкой проектов, при составлении оптимальных маршрутов доставки грузов, а также при моделировании сложных технологических процессов, при построении различных систем автоматизированного проектирования, в программировании ит.д
Язык теории графов позволяетупростить формулировки достаточно сложных практических задач и приёмы их решения. Он также оказался очень удобным для изложения различных разделов математики и многих других наук, к которым относятся, например, такие, как теория игр, экономико-математическое моделирование, математическая логика и теория алгоритмов, теория автоматов и формальных грамматик, теория инженерных сетей, инженерия знаний, сис-темный анализ и управление в большихсиетемах и др.
Модели в виде графов (графовые модели) получили широкое распространение благодаря дополнительным возможностям, которые появляются при геометрическом подходе к описанию и трактовке сути изучаемых процессов или явлений. Графы, являясь формальной и строгой математической моделью, отличаются исключительной информативностью и наглядностью.
Поскольку графы широко иепользуются не только в качестве моделей для представления данных и знаний в различных областях науки и в многочиелен-ных приложениях, но и как иштрумент и средетво для решения многих математических и прикладных задач, представляется актуальным рассмотрение моделей ПР, основанных на применении методов теории графов.
В теории графов существуют специфические методы решения экстремальных задач. Для графов с конечным множеством вершин и рёбер, как правило, проблема существования алгоритма решения задач, в том числе экстремальных, решается положительно. Решение многих задач, связанных с конечными графами, может быть выполнено с помощью полного перебора всех допустимых вариантов. Однако таким способом удаётся решить задачу только для графов с небольшим числом вершин и рёбер. Поэтому существенное значение для теории графов имеет построение эффективных алгоритмов, находящих точное или приближенное решение. Для некоторых задач такие алгоритмы построены, например, для установления планарности графов, определения изоморфизма деревьев , нахождения кратчайших путей между вершинами графа, построения на графе кратчайшего связывающего дерева, нахождения максимального потока на транспортной сети, и др.
Особенно важно и в теоретическом плане, и для практических приложений иметь эффективные алго-ритмы решения так называемых базовых задач теории графов. Методы решения базовых задач используются при решении проблем из области планирования, представления и обработки знаний, автоматизации процедур выработки и ПР в организационно-технологических и социально-экономических сиетемах.
К базовым относят задачи размещения вершин графа (линейное, плоскостное, объёмное), вершинного покрытия графа (разбиение на классы толерантности или сходства), трассировки соединений между вершинами, разрезания (декомпозиции) графа на подграфы, агрегирования графа или диагонализации матрицы смежности (кластеризация, обобщение), определения изоморфизма (эквивалентности) графов, отыскания изоморфного вложения графов, отыскания раскраски вершин графа минимальным числом красок, отыскания на графе максимально полного (или максимально пустого) подграфа и др. [1-6].
Большинство базовых задач связано с построением такой упорядоченности вершин графа (или строк и столбцов соответствующей матрицы смежности графа), которая отвечает заданному критерию. Одной из базовых является задача линейной упорядоченности вершин графа, которая имеет много интерпретаций в зависимости от предметной облас -ти. При этом критериями упорядоченности могут быть как количественные, отражающие метрические характеристики, так и качественные, отражающие субъективные предпочтения экспертов, которые также могут измеряться в количественных шкалах. Так, в сиетемах автоматизированного проектирования (САПР) одной из важных является задача линейного упорядочения элементов по критерию минимума суммарной длины связей или минимума наиболее длинной связи. Такая задача имеет место при проектировании инженер ных коммуникаций, технологических линий, при организации вычислительного процесса в многопроцессорных структурах, в многоагентных системах поддержки принятия решений.
Другой важной задачей, также связанной с упорядочением вершин графа, является агрегирование графа, или диагонализация его матрицы смежности.
70
№ 2/2014
Вестник Таганрогского института управления и экономики
Так, диагонализация матрицы межотраслевого баланса позволяет выявить агрегаты экономически наиболее тесно связанных между собою отраслей. В результате появляется возможность получить относительно небольшое число макропоказателей, описывающих текущее состояние экономики страны в целом и основные особенности её развития. В САПР подобная задача агрегирования известна как задача компоновки, в системном анализе - как декомпозиция, в распознавании образов и теории принятия решений - как классификация, или кластеризация. Она также возникает при организации вычислительного процесса в многопроцессорных или многоагентных системах, организованных по принципу близко-действия, при графовой аппроксимации эмпиричес-ких данных, при распределении оборудования по цехам и участкам и др. [5-7].
Ещё одной весьма важной и интересной задачей, связанной с упорядочением вершин графа, является построение такой упорядоченности, которая обусловит каноническую форму матрицы смежности. Сравнение канонических форм матриц смежности двух графов позволяет судить о том, изоморфны эти графы или нет. Если графы изоморфны, то построенные упорядоченности их вершин, приведшие к одинаковому каноническому виду матриц смежности, определят подстановку изоморфизма на множествах вершин этих графов. Если же графы не изоморфны, то сравнение их канонических матриц позволит судить о степени их сходства. Упорядочение вершин графа в соответствии с различной целевой функцией является основой решения и многих других практически важных задач, в частности, задачи коммивояжёра, выбора оптимального варианта ремонта оборудования, оптимального распределения ресурсов и др. [1; 2; 8].
Поскольку упорядочение вершин неориентированного графа в большинстве случаев связано с преобразованием соответствующей матрицы смежности (МС) к некоторой стандартной форме, рассмотрим несколько таких форм: ленточную, диагональноблочную, каноническую [9].
Полной ленточной матрицей А=[aj порядка nxn с шириной ленты d называется такая, у которой элементы
Г1, при \i-j\ < d:
У |^0, при |i-j > d
для всех i, j <n, (i #j ), где d i = i - s+ 1. Здесь i, s -индексы первого единичного элемента i-й строки.
Если внутри ленты имеются нулевые элементы, то это неполная ленточная матрица, если же есть единичные элементы вне ленты, то это частично-ленточная матрица. Из определения ленточной матрицы следует, что в ней единичные элементы расположены вблизи и вдоль главной диагонали матрицы. Для неориентированного графа, упорядоченность вершин которого определяет МС, являющаяся полной ленточной матрицей, справедливые ледующие утверждения.
Утверждение 1. Любаявершина графа, смежнаяс данной i-й вершиной, стоит в упорядоченности ближе к i-й, чем любая несмежная.
Очевидно, что МС, приведенная к ленточной или неполной ленточной форме с минимальной шириной ленты, соответствует такому линейному размещению вершин соответствующего графа, при котором этот граф имеет минимальную суммарную длину рёбер.
Диагонально-блочная форма представляет собой матрицу смежности, у которой единичные элементы максимально локализованы в квадратных блоках-подматрицах, расположенных по главной диагонали матрицы. Преобразование МС к диагонально-блочной форме соответствует декомпозиции графа на максимально связанные подграфы. Критерием при этом является минимизация числа связей между подграфами. Диагонализацию МС можно организовать как процедуру кластеризации вершин графа по матрице смежности, а можно организовать как чисто матричное преобразование, приводящее матрицу к желаемому виду. Алгоритмы диагонализации МС графа рассмотрены в работах [5-7].
Канонической формой матрицы смежности графа G называется такая, которая соответствует максимальному двоичному коду M(G) графа Напомним, что двоичным кодом неориентированного графа G с n вершинами является число:
ai2-2(n/2) -1 +ai3-2(n/2)~2+ ^an-2, n-i'22+an-2, n ■21+an-i, n -2°,
где aij - элементы матрицы, стоящие над главной диагональю. Важной особенностью максимального двоичного кода графа является то, что это полный инвариант графа. Из равенства таких кодов для двух графов следует изоморфизм этих графов [1; 2; 4; 8].
Чтобы для заданного графа с n вершинами получить МС с канонической формой, необходимо в общем случае выполнить n! перестановок строк и соответствующих столбцов (что соответствует n! различных перестановок вершин графа). Поэтому поиск упорядоченности вершин графа, приводящей к канонической форме МС, - задача, по вычислительной сложности эквивалентная задаче определения изоморфизма.
Для сокращения перебора при построении упорядоченности вершин графа, максимизирующей двоичный код, можно применить следующие эвристичес-кие правила [2].
Правило 1. Все вершины графа, смежные с уже упорядоченной i-й вершиной, должны размещаться как можно ближе к этой вершине. Причём если вершина i предшествует в упорядоченности вершине j, то и все вершины, входящие в окружение i-й вершины, должны в упорядоченности предшествовать вершинам, входящим в окружение j-й вершины.
Очевидно, что это эвристическое правило, приводящее к концентрации единиц в матрице смежности графа вблизи главной диагонали, направлено также и на построение размещения вершин, минимизирующего суммарную длину связей.
Однако стремление максимизировать двоичный код графа требует смещать единицы в матрице смеж-ности не только к диагонали, но также одновременно и в верхние строки. Это достигается выполнением второго эвристического правила, которое определяет порядок размещения вершин, входящих в окружение начально й вершины.
71
№ 2/2014
Вестник Таганрогского института управления и экономики
Правило 2. Для заданного графа G=(X, F) вершины из множества Fx1 смежности некоторой вершины х, е X, фиксируемой как начальная, упорядочиваются по убыванию их локальных степеней в подграфе окружения 0(х,); вершины же с одинаковыми значениями локальных степеней в подграфе OX упорядочиваются по убыванию их локальных степеней в исходном графе G, если последний неоднородный, если же граф G - однородный, то упорядочиваются по убыванию локальных степеней мультиграфа пересечений подмножеств окружений (0(х)х) всех вершин х j е Fx,.
Построенное в соответствии с правилами 1 и 2 частичное размещение вершин - начальной х, и всех хj е Fx , определяет разбиение остальных вершин
на группы, вершины из которых, согласно правилу 1, должны войти в строящееся размещение в следующем порядке. Вначале все вершины первой группы,
т.е. те, что смежны с вершиной х^ е Fx,, предшествующей остальным Fx\xj1, затем вершины второй группы, т.е. смежные с вершиной xj2 е Fx,, непосредственно следующей в размещении за xj1, и т.д. Если в группе несколько вершин, то их упорядоченность определяется в соответствии со следующим правилом 3.
Правило 3. Вершины в каждом из подмножеств Xt разбиения, определяемого имеющимся частичным размещением, упорядочиваются в зависимости от связности:
1) с ранее размещенными вершинами;
2) с вершинами из рассматриваемого подмножества;
3) с неразмещенными вершинами из других подмно-
жеств разбиения.
Причём если необходимо размещать вершины из подмножества X2 с Fx;1, которое следует в разбиении непосредственно за X1 = Fx j, где х - начальная вершина в размещении, то вначале помещаются вершины подмножества X2, сX2, которые смежны
с хj2 е X1, среди вершин из X2, вначале помещаются вершины подмножества X2, которые смежны с ху1 £ X, и т.д. Если же имеется подмножество
X2 вершин, смежных с одним и тем же подмножеством уже размещённых вершин, то упорядоченность вершин х е X2 определяется согласно правилу
2, где уже вместо Fx1 рассматривается X2 .
Аналогично упорядочиваются вершины из других подмножеств Xt, имеющихся на данном шаге раз -биения. Следует отметить, что для неоднородных графов первой в упорядоченности всегда необходимо размещать вершину с наибольшей локальной степенью, для однородных - любую.
Приведённые правила позволяют максимизировать двоичный код графа при фиксированной начальной вершине. Очевидно, для глобальной максимизации двоичного кода необходимо построить упорядоченности при различных начальных вершинах и
выбрать ту упорядоченность, которая обеспечит наибольший код.
Рассмотрим пример, иллюстрирующий работу приведённых правил 1,2,3.
Пример. Требуется построить размещение вершин графа G, максимизирующее его двоичный код, при условии задания вершины 1 в качестве начальной. Ераф G задан матрицей смежности AG, которая имеет вид
1 2 3 4 5 6 7
1 - 1 1 1 1 0 0
2 1 - 0 1 0 1 1
3 1 0 - 1 0 0 1
4 1 1 1 - 0 0 0
5 1 0 0 0 - 1 0
6 0 1 0 0 1 - 0
7 0 1 1 0 0 0 -
Двоичный код этой матрицы зависит от значений элементов а^, расположенных выше главной диагонали, число которых равно
С72 =|7] = 7!/(7 - 2)!2! = 21.
Значение двоичного кода для данной матрицы смежности будет следующим:
а12 *220+а13 *219+... +а17 *215 +а23 *214+а24 *213+...
+а27*210+... +а67*20 = 1*220+1*219 +1*218+ +1*217+0*216+0*215+0*214+1*213+0*212+1*211 + +1*210+1*29 + 0*28 + 0*27+1*26+ 0*25 + 0*24 + 0*23+
+1*22 +0*21+0*20=111100010111001000100.
Так как начальная вершина 1 в размещении определена условием, то в соответствии с правилом 1 следующими в размещении будут вершины, входящие в F(1)=(2,3,4,5). Упорядоченность этих вершин определяется в соответствии с правилом 2. Прежде всего, найдём локальные степени этих вершин в подграфе 0(1), и найденные значения надпишем над номером вершины. Получим:
112 0
(2, 3, 4, 5)'
Для определения упорядоченности вершин 2 и 3 с одинаковыми значениями локальных степеней в 0(1) сравним значения степеней вершин 2 и 3 в заданном графе G. Имеем p2 = 4, p3 = 3 . Поэтому, согласно правилу 2, искомая упорядоченность множества вершин F(1) будет следующей: (4,2,3,5). Итак, имеем частичное размещение 1(4,2,3,5). Согласно правилу 1, следующим подмножеством в размещении должно быть F(4)=(1,2,3). Однако все эти вершины уже размещены. Поэтому размещаем неразмещённые ещё вершины из подмножества F(2) =(1,4,6,7). Таковыми являются 6 и 7. Как их упорядочить? Обратимся к правилу 3. Согласно правилу, сначала помещаем вершину 7, так как в частичном размещении 1(4,2,3,5) она смежная со следующей за 2 вершиной 3. Последней помещаем вершину 6.
В результате получим следующее размещение вершин, где стрелками показан порядок размещения.
ГГ*
1
72
№ 2/2014
Вестник Таганрогского института управления и экономики
1 (4, 2, 3, 5) 7, 6.
Для полученного размещения запишем новый вид матрицы смежности (правую половину).
4 2 3 5 7 6
11110 0 - 11 0 0 0
- 0 0 11
- 0 10.
- 0 1 - 0
Никакое другое размещение вершин с начальной вершиной 1 не даст матрицу смежности с большим значением двоичного кода.
Рассмотренный пример иллюстрирует применение правил 1-3 для построения такого размещения с заданной начальной вершиной, которое максимизирует двоичный код матрицы смежности.
Нетрудно видеть, что максимизация двоичного кода является значительно более сильным условием, чем построение упорядоченности с минимальной суммарной длиной связей. Для максимизации кода единичные элементы должны локализоваться не только ближе к главной диагонали, но и, что более важно, в верхних строках матрицы смежности. Правило 3 как раз и направлено на обеспечение этого условия.
Процедуры построения линейного размещения вершин графа по критерию минимума суммарной длины связей (при фиксированной начальной вершине) или построения такого линейного размещения вершин, которое максимизирует двоичный код графа, являются вспомогательными при распознавании изо -морфизма или эквивалентности двух графов.
Очевидно, что для изоморфных графов и величины минимума суммарной длины связей одинаковы, и максимальные двоичные коды также одинаковы.
Из единственности максимального двоичного кода для изоморфных графов вытекает справедливость следующего утверждения.
Утверждение 2. Если графы G=(X, F) и H=(Y, P) изоморфны, то процедура построения таких размещений вершин xeX и yeY, которые приводят к получению максимального двоичного кода p(G)=p(H) этих графов, одновременно определяет и изоморфное отображение y.XMY, задающее подстановку изоморфизма.
Следует отметить, что проблема распознавания изоморфизма или эквивалентности двух графов является одной из центральных комбинаторных проблем теории графов. Она состоит в следующем: для заданных графов G и H требуется определить, существует ли взаимно однозначное отображение меж -ду множествами вершин графов, сохраняющее отношение смежности вершин.
Задача распознавания изоморфизма графов (РИГ) занимает особое положение среди прочих комбинаторных задач теории графов - неизвестно, относится ли она к классу P или является NP полной задачей [3;
Jg' =
1
4]. Эго обстоятельство поддерживает оптимизм ис-следователей при поиске полиномиальных алгоритмов РИГ и оправдывает существование двух подходов к разработке алгоритмов решения задач РИГ.
Первый подход связан с построением непереборных алгоритмов, рекурсивно улучшающих свою эффективность в смысле полноты или чувствительное -ти используемых характеристик графа, инвариантных относительно изоморфизма графов и называемых инвариантами [1-4; 8]. Поскольку инвариант графа не меняет своих значений на изоморфных графах, то равенство инвариантов является необходимым условием изоморфизма графов. К сожалению, на сегодняшний день ситуация с отысканием полной системы инвариантов такова, что всякий инвариант графа или не является полным, или требует для своего вычисления практически неэффективной процеду-ры, связанной с необходимостью выполнения перебора вплоть до полного (порядка n!). Эго заставило исследователей обратить большее внимание на так называемые переборные алгоритмы РИГ.
Второй подход к разработке алгоритмов решения задач РИГ как раз и отличается от первого тем, что обязательно включает процедуру перебора на одном из этапов поиска изоморфной подстановки. Примерами алгоритмов РИГ, использующих процедуры направленного перебора, являются предложенные автором в работах [1; 2; 4; 8; 10].
ЛИТЕРАТУРА
1. Берштейн Л.С., Карелин В.П., Целых А.Н. Модели и методы принятия решений в интегрированных интеллектуальных системах. Ростов/Д: Изд-во РГУ, 1999.
2. Карелин В.П. Теория иередства поддержки принятия решений в организационнэ-технэлогических системах: дис.... д-ратехн. наук. Таганрог: ТРТУ, 1995.
3. Компьютер и задачи выбора: сборник. М.: Наука, 1989.
4. Алгоритмы и программы решения задач на графах и сетях/ М.И. Нечепуренко и др. Новосибирск: Наука, 1990.
5. Горелова Г.В., Карелин В.П. Методы теории графов в когнитивном анализе и моделировании социально-экономических систем // Вестник ТИУиЭ. 2005. Вып.1.
6. Браверман Э.М., Мучник И.Б. Структурные методы обработки эмпирических данных. М: Наука, 1983.
7. Мелихов А.Н., Карелин В.П., Курейчик В.М. О разрезании графов на подграфы// Математическое моделирование и теория электрических цепей. Киев: Наукова думка, 1973. Вып. 10.
8. Мелихов А.Н., Карелин В.П. Методы распознавания изоморфизма и изоморфного вложения чётких и нечётких графов: учебное пособие. Таганрог: Изд-во ТРТУ, 1995.
9. Карелин В.П., Кодачигов В.И. Модели упорядочения вершин графа в задачах структурного анализа и принятия решений // Известия ТРТУ. 1999. №3.
10. Карелин В.П., Миронов Б.Н. Алгоритм определения изоморфизма однородных неориентированных графов // Известия АН СССР. Техн. кибернетика. 1975. №2.
73