Фрагментарные модели для некоторых экстремальных задач на графах

УДК 519.8

И.В. КОЗИН*, С.И. ПОЛЮГА*

ФРАГМЕНТАРНЫЕ МОДЕЛИ ДЛЯ НЕКОТОРЫХ ЭКСТРЕМАЛЬНЫХ ЗАДАЧ НА ГРАФАХ

*Запорожский национальный университет, Запорожье, Украина

Анотація. У статті запропоновані фрагментарні моделі для трьох класичних екстремальних задач на графах: про вершинне покриття, домінуючу множину і про кліку. Показано досяжність оптимальних рішень цих задач у рамках фрагментарної моделі. Запропоновано наближені алгоритми пошуку рішень цих задач на основі фрагментарної структури.

Ключові слова: вершинне покриття, домінуюча множина, кліка, фрагментарна структура, фрагментарна модель.

Аннотация. В статье предложены фрагментарные модели для трех классических экстремальных задач на графах: о вершинном покрытии, доминирующем множестве и о клике. Показана достижимость оптимальных решений этих задач в рамках фрагментарной модели. Предложены приближенные алгоритмы поиска решений этих задач на основе фрагментарной структуры.

Ключевые слова: вершинное покрытие, доминирующее множество, клика, фрагментарная структура, фрагментарная модель.

Abstract. The article suggests fragmentary models for three classical extremal problems on graphs: the vertex cover, dominating set and the clique. The achievability of optimal solutions of these problems in the fragmentary model is shown. Approximate algorithms of finding solutions of these problems on the basis of fragmentary structure are suggested.

Keywords: vertex cover, dominating set, clique, fragmentary structure, fragmentary model.

1. Введение

В настоящей статье исследуется проблема выделения подмножества вершин графа с определенными экстремальными свойствами. Эти задачи имеют важные приложения в теории синтеза схем, производственной психологии, землепользовании, часто возникают в приложениях, связанных с транспортными, телекоммуникационными и другими сетями.

Большинство задач такого типа не являются полиномиально разрешимыми. Известные приближенные алгоритмы не имеют точных оценок, а точные алгоритмы в той или иной форме осуществляют перебор вариантов.

Поэтому при решении практических задач разумно использовать метаэвристики. В качестве основы ряда эвристических методов для поиска приближенных оптимальных решений предлагается использовать фрагментарную модель.

Пусть G = (V, E) - неориентированный граф без петель, кратных ребер и

изолированных вершин, V - множество вершин, |v| = n, E - множество ребер, IE = m . При этом ребро определяется как неупорядоченная пара вершин, то есть, если e є E, то

e = (i, j), i єV, j єV .

Рассмотрим три известные классические экстремальные задачи на графах:

1) Задача о минимальном вершинном покрытии

Определение 1. Множество вершин V' с V называется вершинным покрытием графа G = (V, E), если каждое ребро e є E инцидентно хотя бы одной вершине из множества V'.

© Козин И.В., Полюга С.И., 2014

ISSN 1028-9763. Математичні машини і системи, 2014, № 1

Покрытие с минимальным числом вершин называется минимальным. Например, на рис. 1. минимальным вершинным покрытием в графе является множество вершин {1, 2, 4}. Задача отыскания в графе вершинного покрытия минимальной мощности называется задачей о минимальном вершинном покрытии.

Известно, что эта задача является КР - полной [1, 2].

2) Задача о минимальном доминирующем множестве

Определение 2. Множество вершин V' с V называется доминирующим множеством графа G = (V, E),

если каждая вершина v Є V смежна хотя бы одной вершине из множества V'.

Доминирующее множество с минимальным числом вершин называется минимальным. Например, на рис. 2 множество вершин {2, 4} является минимальным доминирующим множеством графа.

Задача отыскания в графе доминирующего множества минимальной мощности называется задачей о минимальном доминирующем множестве.

Эта задача также является КР - полной [3].

3) Задача о максимальной клике

Определение 3. Кликой графа G =

называется множество вершин V' с V, порождающее полный подграф, то есть множество вершин, каждые две из которых смежны.

Размером клики называется число содержащихся в ней вершин. Например, на рис. 3 вершины {2,3,4,6} образуют максимальную клику размерности 4.

Задача отыскания в графе клики максимальной мощности называется задачей о максимальной клике.

Эта задача также КР - полная [1, 2].

Покажем, что все три задачи можно рассматривать в рамках одной общей модели, которую будем называть фрагментарной [4-6].

2. Фрагментарная структура и фрагментарный алгоритм

Определение 4. Фрагментарной структурой (X, E) на конечном множестве X называется семейство его подмножеств E = {Е1,E2,...,En} такое, что "Еі є E, E Ф0 $єє щ : Щ \{е}Є E.

Элементы из множества Е будем называть допустимыми фрагментами.

Таким образом, для любого допустимого фрагмента Еі существует нумерация его

элементов Еі ={еі1,еі2,...е,і} что "к = 1,2,...^і еі2^..^}Є Е .

Определение 5. Одноэлементные множества, которые являются допустимыми фрагментами, будем называть элементарными фрагментами.

Определение 6. Фрагмент называется максимальным, если он не является подмножеством никакого другого фрагмента.

Очевидны следующие свойства.

вершинное покрытие

доминирующее множество

© л \ '9

' / 1 \ і

\ / 1 1 \ і 1 \ 1

(4) і уг

Рис. 3. Максимальная клика

Свойство 1. Пустое множество является фрагментом, 0є E .

Свойство 2. Пусть max IE = M . Тогда в E найдутся элементы, мощности которых

i=\,n

будут равны M,M -\,M -2,...,0•

Теорема 1. Если (X, E) - фрагментарная структура на множестве X, то для любого непустого множества A є E существует нумерация его элементов A ={х\,х2,...,xn}, такая, что "к, к = \,n - множество {x\,х2,...,хк}є E.

Из теоремы вытекает, что всякий допустимый фрагмент можно построить из пустого множества, последовательно добавляя к нему элементы так, чтобы на каждом шаге такой процедуры полученное подмножество было допустимым фрагментом.

Максимальный фрагмент может быть построен с помощью следующего «жадного» алгоритма:

а) элементы множества X линейно упорядочиваются;

б) на начальном шаге выбирается пустое множество: Х0 = 0;

в) на шаге с номером к +1 выбирается первый по порядку элемент x є X \ Хк, такой, что Xk U {х}є E;

г) алгоритм заканчивает работу, если на очередном шаге не удалось найти элемент х є X \ Xk с требуемым свойством.

Приведенный выше алгоритм построения максимального фрагмента во фрагментарной структуре будем называть фрагментарным алгоритмом. Результат применения фрагментарного алгоритма определяется заданным линейным порядком на множестве X . Таким образом, любой максимальный фрагмент может быть описан некоторой перестановкой элементов множества X. Пусть A є E. Условие для элемента х є X, при котором A U {х} є E, будем называть условием присоединения элемента х .

Многие задачи дискретной оптимизации можно представить как задачи на фрагментарной структуре. Причем решением задачи является максимальный фрагмент. К таким задачам, в частности, относятся рассматриваемые экстремальные задачи на графах.

3. Фрагментарные модели задач на графах

Фрагментарная модель и фрагментарный алгоритм для ЗМВП

На предварительном этапе каждое ребро графа G заменяем парой ориентированных ребер (дуг), которые нумеруются числами 1,2,...,2m . Каждая такая дуга является элементарным

фрагментом. Полученный таким образом ориентированный граф будем обозначать G .

Условие присоединения: начало и конец очередного фрагмента (дуги) не должны совпадать с началами уже выделенных дуг. Допустимым фрагментом является любой набор дуг, который можно получить путем применения фрагментарного алгоритма.

Рассматриваются произвольные упорядочения дуг графа. Каждое из этих упорядочений описывается перестановкой из группы перестановок S2m . По перестановке чисел \, 2,... , 2m строится максимальный фрагмент следующим алгоритмом:

- составляется список элементарных фрагментов (дуг), упорядоченный в соответствии с некоторой перестановкой чисел \, 2,... , 2m . Множество выделенных дуг на

начальном этапе пусто;

- выбирается очередной по порядку элементарный фрагмент из списка. Эту дугу заносим во множество выделенных дуг;

- вычеркиваем из списка все дуги, инцидентные вершине - началу выделенной

дуги;

- алгоритм заканчивает работу, когда список элементарных фрагментов (дуг) будет пустым.

Множество вершин - начал дуг из множества выделенных дуг образует вершинное покрытие.

Рассмотрим пример работы фрагментарного алгоритма.

Пусть задан граф О (рис. 4а). Каждое ребро графа заменяем парами ориентированных ребер (дуг), которые нумеруются и упорядочиваются в заданном порядке. На начальном этапе множество выделенных дуг Ж пусто. Пусть упорядоченный список элементарных фрагментов: 2,1', 3,5', 3', 1,6,6', 4,2', 5,4' (рис. 4б).

Выбираем первый по порядку фрагмент. Это дуга 2. Добавляем эту дугу во множество W выделенных дуг: Ж = {2}.

Удаляем из графа все дуги, инцидентные началу дуги 2, то есть вершине 6 (рис. 4в).

Далее просматриваем список элементарных фрагментов. Следующий по порядку фрагмент: дуга 1'. Добавляем во множество Ж эту дугу: Ж = {2,1}.

Удаляем из графа все дуги, инцидентные началу дуги 1', то есть вершине 2 (рис.

4г).

Следующая из списка дуга 4. Добавляем во множество Ж эту дугу: Ж = {2,1', 4} .

Удаляем из графа все дуги, инцидентные началу дуги 4, то есть вершине 5. Список элементарных фрагментов пуст. Найден максимальный фрагмент Ж = {2,1',4} . Множество вершин - начал дуг этого фрагмента образует вершинное покрытие: $ ={4,2, 5} (рис. 4д).

В рассмотренном примере найденное вершинное покрытие является минимальным. Однако в общем случае это не так. Фрагментарный алгоритм строит допустимые решения задачи, но не гарантирует получение оптимального решения.

Имеет место следующая теорема.

Теорема 2. Любое минимальное вершинное покрытие может быть получено с помощью фрагментарного алгоритма при надлежащем выборе перестановки элементарных фрагментов.

в) 1№={2}; 2,1/,3,5/,3/,1,6,6/,4,2/,5,4/

г) W=={2, Ґ};

б) граф G;

2,1/,3,5/,3/,1,6,6/,4,2/,5,4/

д) W=={2, 1,4};

2,1/,3,5/,3/,1,6,6/,4,2/,5,4/ вершинное покрытие: 8={4, 2, 5} Рис. 4. Работа фрагментарного алгоритма для ЗМВП

Доказательство. Пусть некоторое подмножество вершин ¥х с V является минимальным вершинным покрытием в графе О . Рассмотрим набор из к =| V | -1 У1 \ дуг е1,е2,...,ек в графе О, каждая дуга которого соединяет вершину из множества У1 с вершиной из множества V \ У1, причем объединение концов этих дуг совпадает с множеством V. Занумеруем оставшиеся дуги графа О числами к +1, к + 2,...,2т . Если теперь к перестановке дуг е1,е2,...,ек,ек+1,...,е2т применить алгоритм, описанный выше, то в результате его работы будет получено множество вершин V .

Фрагментарная модель и фрагментарный алгоритм для ЗМДМ

Для данной задачи множеством элементарных фрагментов является множество V всех вершин графа, элементы которого нумеруются числами 1,2,...,п .

Элементарными фрагментами в этой модели являются одноточечные множества вершин графа.

Условие присоединения элементарного фрагмента к уже выбранному набору вершин будет определяться алгоритмом, который описан ниже.

Рассматриваются произвольные упорядочения вершин графа. Каждое из этих упорядочений описывается перестановкой из группы перестановок 8п. По каждой перестановке чисел 1, 2,...,п строится максимальный фрагмент следующим алгоритмом:

- составляется список элементарных фрагментов (вершин), упорядоченный в соответствии с некоторой перестановкой чисел 1, 2,...,п. Множество выделенных вершин

на начальном этапе пусто;

- выбирается очередная по порядку вершина из списка и заносится во множество выделенных вершин. Все вершины, смежные с выбранной вершиной, помечаются;

- из графа удаляются все ребра, инцидентные выбранной вершине. Из списка удаляются все вершины степени ноль;

- алгоритм заканчивает работу, когда в списке остаются только помеченные вершины.

Множество выделенных вершин и есть доминирующее множество вершин графа.

Пример работы фрагментарного алгоритма изображен на рис. 5.

а) W={0}; 5,3,7,6,1,2,4

б) W={5}; 5,3*,7,6*,1,2,4*

в) W={5,7};

5, 3*,7,6*,1*,2*,4*

Рис. 5. Работа фрагментарного алгоритма для ЗМДМ

Теорема 3. Любое минимальное доминирующее множество в связном графе может быть получено с помощью фрагментарного алгоритма при надлежащем выборе перестановки элементарных фрагментов.

Доказательство. Пусть некоторое подмножество вершин V1 с V является минимальным доминирующим множеством в графе О. Перенумеруем элементы этого множества числами У1= {у1,у2,...,Ук}. Вершины множества V\V занумеруем числами

к +1, к + 2,...,п. Фрагментарный алгоритм по указанной перестановке элементарных фрагментов построит доминирующее множество V1 .

Фрагментарная модель и фрагментарный алгоритм для ЗМК

Для задачи о максимальной клике в качестве множества элементарных фрагментов выберем множество V всех вершин графа, элементы которого нумеруются числами 1,2,...,п. Условие присоединения элементарного фрагмента к уже выбранному набору -присоединяемая вершина смежна с каждой из вершин этого набора.

Рассматриваются произвольные упорядочения вершин графа. Каждое из этих упорядочений описывается перестановкой из группы перестановок $п. По каждой перестановке чисел 1,2,...,п строится максимальный фрагмент следующим алгоритмом:

- составляется список элементарных фрагментов (вершин), упорядоченный в соответствии с некоторой перестановкой чисел 1,2,...,п. Множество выделенных вершин на начальном этапе состоит из одной вершины - первой вершины этого списка;

- выбирается очередная по порядку вершина из списка. Если эта вершина смежна со всеми выделенными вершинами, то она добавляется к множеству выделенных вершин;

- алгоритм заканчивает работу, когда весь список вершин будет просмотрен. Множество выделенных вершин есть множество вершин клики в графе О.

Пример работы фрагментарного алгоритма изображен на рис. 6. Для списка вершин

1,5,4,3,2,6 получаем клику размерности 3 (рис. 6а), а для списка 6,5,3,4,1,2 получаем клику размерности 4 (рис. 6б), которая является максимальной.

Теорема 4. Любое решение ЗМК может быть получено с помощью фрагментарного алгоритма при надлежащем выборе перестановки элементарных фрагментов.

Доказательство. Пусть некоторое подмножество вершин У1 ^ V является множеством вершин максимальной клики в графе О . Перенумеруем элементы этого множества числами У1= (у1,v2,...,Ук}. Вершины множества V\V1 занумеруем числами к+1,к+2,...,п. Фрагментарный алгоритм по указанной перестановке элементарных фрагментов построит множество вершин максимальной клики V1.

4. Приближенные алгоритмы поиска оптимальных решений на фрагментарных структурах

Таким образом, во всех рассмотренных выше моделях соответствующая задача поиска экстремального множества вершин в графе сводится к поиску максимального фрагмента во фрагментарной структуре. То есть, задача сводится к комбинаторной задаче

1,5,4,3,2,6; W={1,2,4}

6,5,3,4,1,2; W={1,2,3,6} б

а

Рис. 6. Результаты работы фрагментарного алгоритма для ЗМДМ

F(5) ——— max отыскания некоторой экстремальной перестановки на множестве

перестановок. Причем любая перестановка является допустимой.

Поставим каждой перестановке в соответствие значение критерия на соответствующем ей максимальном фрагменте. А именно, для задачи о минимальном вершинном покрытии - это число вершин в покрытии, для задачи о минимальном доминирующем множестве - число вершин в доминирующем множестве, для задачи о максимальной клике - число вершин клики.

На множестве перестановок можно предложить несколько простых алгоритмов приближенного поиска оптимальной перестановки. Опишем некоторые из них.

Наиболее простым алгоритмом поиска приближенного решения является метод случайного поиска. А именно, генерируется случайным образом некоторое множество перестановок, для каждой из которых вычисляются значения критерия. В качестве приближенного решения выбирается то, у которого значение критерия наибольшее.

Множество перестановок может рассматриваться как метрическое пространство с некоторой метрикой р : Sn х Sn  R+ [7]. Определим метрику на множестве перестановок.

Выбирается начальная перестановка и ищется оптимальная перестановка в e -окрестности данной перестановки. Эта найденная перестановка является базовой для следующего шага.

Условие остановки алгоритма: в e -окрестности уже не существует перестановки с лучшим критерием. В качестве e можно брать любое натуральное число 1,2,....

Очень хорошие результаты дает эволюционная модель на фрагментарной структуре

[4-6].

В этой модели в качестве пространства поиска выбирается множество Sn = {/1, /2,..., in} всех перестановок чисел 1,2,..., n .

Оператор построения начальной популяции выделяет произвольное подмножество заданной мощности Q из множества X.

Правило вычисления критерия селекции устроено следующим образом: по заданной перестановке фрагментов с помощью фрагментарного алгоритма строится максимальный допустимый фрагмент. Вычисляется значение целевой функции задачи для этого фрагмента.

Опишем теперь оператор кроссовера. Пусть U = (u1,u2,...,un) и V = (v1,v2,...,vn) -две произвольные перестановки. Перестановка-потомок строится следующим образом: последовательности U и V просматриваются сначала. На к -м шаге выбирается наименьший из первых элементов последовательностей и добавляется в новую перестановку-потомок. Затем этот элемент удаляется из двух последовательностей-родителей. Например, Д(2,3,4,7,8,1,6,5),(3,4,6,2,1,5,8,7))=(2,3,4,6,1,5,7,8).

Оператор мутации M выполняет случайную транспозицию (замену местами двух элементов) в перестановке.

Оператор селекции выбирает случайным образом набор пар из заданного числа пар во множестве перестановок текущей популяции.

Элементы промежуточной популяции с помощью оператора эволюции упорядочиваются в последовательность по убыванию значения критерия селекции.

В качестве новой текущей популяции выбираются первые Q элементов последовательности.

Обычное правило остановки - количество поколений достигло предельной границы L. Лучшая по значению критерия селекции перестановка из последней построенной популяции определяет приближенное решение задачи.

5. Выводы

В работе предлагается новый подход к решению экстремальных задач на графах, в частности, для поиска решений задач о вершинном покрытии, доминирующем множестве и о клике. В основе метода лежит построение фрагментарной модели для соответствующей задачи на графах. Как следствие, задача поиска оптимального решения сводится к поиску оптимальной перестановки на множестве перестановок. Для таких задач эффективным является применение универсального эволюционно-фрагментарного алгоритма. Построены фрагментарные модели для трех классических задач на графах. Показано, что оптимальные решения этих задач достижимы в рамках фрагментарной модели.

СПИСОК ЛИТЕРАТУРЫ

1. Гэри М. Вычислительные машины и труднорешаемые задачи / М. Гэри, Д. Джонсон; пер. с англ.

- М.: Мир, 1982. - 416 с.

2. Пападимитриу Х. Комбинаторная оптимизация. Алгоритмы и сложность / Х. Пападимитриу, К. Стайглиц. - М.: Мир, 1985. - 512 с.

3. Касьянов В.Н. Графы в программировании: обработка, визуализация и применение / В.Н. Касьянов, В.А. Евстигнеев. - СПб.: БХВ-Петербург, 2003. - 1104 с.

4. Козин И.В. О свойствах фрагментарных структур / И.В. Козин, С.И. Полюга // Вісник Запорізького національного університету: зб. наук. праць. Фізико-математичні науки. - Запоріжжя: ЗНУ, 2012. - № 1. - С. 99 - 106.

5. Полюга С.И. Эволюционно-фрагментарная модель задачи регулярного покрытия взвешенного графа к-звездами / С.И. Полюга // Вісник Запорізького національного університету: зб. наук. праць. Фізико-математичні науки. - Запоріжжя: ЗНУ, 2011. - № 2. - С. 105 - 110.

6. Козин И.В. Эволюционная модель упаковки многомерных объектов / И.В. Козин, С.И. Полюга // Вісник Запорізького національного університету: зб. наук. праць. Фізико-математичні науки. - Запоріжжя: ЗНУ, 2010. - № 1. - С. 61 - 67.

7. Деза Е.И. Энциклопедический словарь расстояний / Е.И. Деза, М.М. Деза. - М.: Наука, 2008. -432 с.

Стаття надійшла до редакції 16.05.2013