Научная статья на тему 'Эвристические алгоритмы решения задачи о наименьшем двусвязном подграфе'

Эвристические алгоритмы решения задачи о наименьшем двусвязном подграфе Текст научной статьи по специальности «Математика»

CC BY
194
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук

Аннотация научной статьи по математике, автор научной работы — Введенский Вячеслав Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Эвристические алгоритмы решения задачи о наименьшем двусвязном подграфе»

Математика

УДК 004.23:519.6 В. ВВЕДЕНСКИЙ

Омский государственный университет

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

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

Введение

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

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

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

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

1. Постановка задачи и терминология

Для начала дадим основные определения.

Граф С = (У,Е) состоит из конечного непустого множества V = У(С), содержащего п вершин, и множества Е=£(С), содержащего т неупорядоченных пар различных вершин из V. Каждую пару е = {и,у} вершин в £ называют ребром графа в.

Подграфом С'=(у',Е') графа С = (У,Е) называется граф, состоящий из непустого множества V' с V, содержащего п* вершин, и заданного множества Е" с Е, содержащего ш* неупорядоченных пар различных вершин из V*.

Остовным подграфом С = (У,Е) графа называется подграф С' = (V, Е') такой, что У=У, то есть содержит все вершины исходного графа С.

Маршрутом в графе С называется чередующаяся последовательность вершин и ребер.

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

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

Числом реберной связности связного графа в называется наименьшее число ребер, удаление которых приводит к несвязному графу

Граф называется реберно к-связным, если Л(С) > к.

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

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

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

Дан графС = (У,Е), реберная связность которого Л(С)^ к . Найти подграф с' = {у,Е') с наименьшим количеством ребер, такой чтол(с)2 к.

Данная задача уже для к= 2 является М>-трудной [ 1 ], поэтому большой интерес представляют полиномиальные алгоритмы, решающие задачу приближенно.

2. Известные приближенные алгоритмы

В качестве оценки точности приближенных алгоритмов часто используют оценку, доказанную теоретически. Пусть дан граф в = (V, Е) и некоторый функционал й(С), который необходимо минимизировать. Тогда априорной оценкой некоторого алгоритма будет являться константа С такая, что для любого возможного допустимого решения Спр, полученного прибли-

Ыс )

женнымалгоритмом, Л "рч ^С, где в. — точноере-

шение. Очевидно, что всегда! ^

Ь(С.)

Мы будем рас-

сматривать Ь(С)=|£(С)

Из результата Мадера[2] следует, что для задачи построения минимального остовного реберно /с-связ-

ного подграфа

£ 2, для любого к.

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

Еще один алгоритм , который решает данную задачу для произвольного к — алгоритм Черьяна-Тари-мелла[3]. Алгоритм состоит из двух этапов. На первом этапе строится минимальное множество ребер Мтакое, что каждой вершине графа в инцидентны 2 ребра из М (в общем случае к ребер). На втором этапе все ребра, не входящие в множество М, удаляются, если удаление ребра не нарушает ограничения на связность. Оценка точности алгоритма 3/2.

В 2000 году Вемпалла и Ветта предложили алгоритм, имеющий априорную оценку 4/3 [4]. Этот алгоритм состоит из двух этапов. На первом шаге в исходном графе С строятся двусвязные подграфы и цепочки. А на втором, они соединяются между собой таким образом, чтобы получился реберно 2-связный остовный подграф.

3. Эвристические алгоритмы

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

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

Рассмотрим некоторый граф С = (V, Е), число реберной связности которого Я(С) > 2. Попробуем в алгоритме удалять ребра так, чтобы удаление каждого ребра как можно меньше изменяло локальную реберную связность всех пар вершин.

Из этих соображений получаем алгоритм А1.

Алгоритм А1

1. Для каждого ребра/е Е рассчитываем С, (О, количество пар вершин, у которых меняется локальная реберная связность после удаления ребра/. Если, после удаления ребра /, Л(С)=1, то С, (/) <- я2.

2. Выбираем ребро е е Е: С, (е) = пи'п{с, (/):/еЕ}.

3. Если С, (е) = л2, то переходим на шаг 5.

4. Удаляем ребро е из графа и переходим на шаг 1.

5. Конец работы. Реберно 2-связный остовный подграф построен.

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

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

Таким образом алгоритм А2 выглядит следующим образом:

Алгоритм А2

1 Лш„ <- шах{Я(г, 1): (г, () е Е)

2. ЕслиЛш„ = 2, то переходим на шаг 6.

3. Перебираем все ребра графа е=(и,у)е£ и, если Л(и, у) = Лшях, то Ет„ е. Етм — множество ребер.

4. Выбираем ребро

е = (и, V) е Е„„ : тах(аед(и), (1ед(у))= = тах{<1ед(г), с1ед(1): (гД)б Ешм}.

5. Удаляем ребро еиз графа и переходим на шаг 1.

6. Конец работы. Реберно 2-связный остовный подграф построен.

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

Алгоритм АЗ

1. Лш>1 <- тах{Л(г, {): (г, /) е £}

2. Если Лаая = 2, то переходим на шаг 7.

3. Перебираем все ребра графа е = (и,у)еЕ и, если Л(и, у) = Лтах, то £„„ <- е. Еш„ - множество ребер.

4. Для каждого ребра /е£Ш1 рассчитываемС2(/), количество ребер (г, г) графа, для которых изменится Л(г, 0 после удаления ребра /.

5. Выбираем ребро е е Е: С,(е) = ш/п{С2(Г):Ге Ешаж}.

6. Удаляем ребро еиз графа и переходим на шаг 1,

7. Конец работы. Реберно 2-связный остовный подграф построен.

4. Вычислительный эксперимент

Для сравнения алгоритмов был проведен вычислительный эксперимент. В ходе эксперимента сравнива-

Таблица

к П /V Gr ChT А1 А2 A3

2 50 200 55.2;1.47 54.1;1.44 52.8;0.94 53.1;1.18 50.9:0.55

2 100 50 108.9;2.1 106.7:2.2 104.6:0.9 104.6:1.2 101.8:0.7

3 50 100 60.5;1.55 77.4:1.01 77.5:1.03 75.1:0.34

лись алгоритмы А1, А2, АЗ с простым градиентным алгоритмом (Сг) и алгоритмом Черьяна-Таримелла (СЛГ)' Рассматривался случайк=2ип=50,100. И в случае к=3 и /1=50, сравнивались алгоритмы А1, А2, АЗ и

Сг.

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

где в, — реберно 2-связный остовный подграф, полученный алгоритмом в Ьом запуске.

- !>'

* = --среднее значение.

= У щ ] ~ стандартное отклонение.

Рассмотрев доверительные интервалы с доверительной вероятностью 99%, с уровнем значимости 2%

можно сделать вывод, что алгоритм A3 находит решение более точное, чем алгоритмы ChT, A i, А2, Сг в слу-чаеА=2, иболее точное, чем алгоритмы А1, А2, GrnpH к=3.

Библиографический список

1. ГэриМ., Джонсон Д. Вычислительные машины и трудно-решаемые задачи. — М.: Мир, 1982.

2. Мадер В. Минимальные n-связные графы с максимальным числом ребер. // Теория графов. Покрытия, укладки, турниры. - М.: Мир, 1974.

3. Cheriyan J., Thurimella R. Approximating Minimum-Size k-Connected Spanning Subgraphs via Matching // Electronic Colloquium on Computational Complexity (ECCC).- 1998/-Report No.25. - P. 1-36.

4. Vempala S., Vetta A. Factor 4/3 approximations (or minimum 2-connected subgraphs. - In Approximation algorithms for combinatorial optimization (Saarbrücken, 2000). Lecture Notes in Comput, Sei., 1913.- Springer, Berlin, 2000. -P. 262-273.

ВВЕДЕНСКИЙ Вячеслав Владимирович, аспирант кафедры прикладной и вычислительной математики.

уД" 5106 Г. Ч. МАВЛИКАСОВА

Омский государственный университет

НЕОПРЕДЕЛИМОСТЬ

КОЛЬЦА МАТРИЦ Мп(Р) В ПОЛЕ Р.

Построено отношение £°-олределимости алгебраических систем. На его основе определена трансляция, отображающая классы вычислимых функций в соответствующие классы другой системы. Рассмотрена £°-определимость для кольца матриц Мп(Я) и поля Р.

С развитием различных формализаций вычислимости в произвольных алгебраических системах возникла потребность в нахождении и изучении такого способа, который позволял бы сравнивать алгоритмические свойства алгебраических систем. В теории моделей одним из подходов для изучения сравнительных свойств алгебраических систем является определимость. Ю.Л. Ершовым введено отношение £-опре-делимости, которое позволяет транслировать классы 2-определимых функций [ 1 ]. Однако Х-определимость не сохраняет классы функций, вычислимых с помощью машин. В данной работе предлагается один вариант 1-определимости, позволяющий решить эту проблему посредством наложения дополнительных условий на используемые формулы.

Будем использовать язык 1яо, в котором разрешены счетные дизъюнкции по рекурсивно перечислимым множествам формул. Среди таких формул важную роль играют дизъюнкции вида V?*,, где <РХ - бескванторная формула. Такие формулы, например, описывают классы рекурсивных множеств в машинных вычислимостях[2]. Класс этих формул будем называть .

Определение 1. Формула Ф языка 1яо является £ "-формулой, если она построена по правилам: 1) если Ф — бескванторная,то Ф £°-формула.

i Надоели баннеры? Вы всегда можете отключить рекламу.