Научная статья на тему 'Некоторые задачи дискретной оптимизации на графах'

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

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

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

Работа поддержана грантами: РФФИ 06-06-96318 р-центр-а, РФФИ 05-01-00074а, Научной программой «Развитие научного потенциала высшей школы» РНП.2.1.1.351 и Темпланом 1.2.02.

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

Текст научной работы на тему «Некоторые задачи дискретной оптимизации на графах»

НЕКОТОРЫЕ ЗАДАЧИ ДИСКРЕТНОЙ ОПТИМИЗАЦИИ

НА ГРАФАХ 1

С. В. Кольцова

1. Введение

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

Рассмотрим следующую простейшую задачу оптимизации на графе. Пусть G

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

W(X) =

х£Х

Задача. Найти остовное дерево наименьшего веса.

Эту задачу решает алгоритм Крускала (IQBfi'). см., например, ill. На каждом

«/ і' «/г г і і/ \ / > і j. j-'Lj

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

1) вес ребра е - один из наименьших;

2) ребро е не совпадает ни с одним из предварительно выбранных ребер;

3) выбор е не приводит к формированию цикла ни с каким набором предварительно выбранных ребер.

Процесс останавливается, если в дальнейшем ребра не могут быть выбраны так, чтобы удовлетворялись ограничения 1), 2) и 3). Тогда множество выбранных ребер есть множество, состоящее из ребер некоторого остовного дерева минимального веса.

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

Пусть 3 - некоторый набор подмножеств множества Е. Предположим, что 3 удовлетворяет следующим условиям:

1 Работа поддержана грантами: РФФИ 06-06-96318 р-центр-а, РФФИ 05-01-00074а, Научной программой "Развитие научного потенциала высшей школы" РНП.2.1.1.351 и Темпланом 1.2.02.

1) 0 £ 3,

2) если / £ 3, V С I, то V £ 3.

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

Оптимизационная проблема для пары (3, w) формулируется следующим образом:

Найти максимальный элемент Вед максимального веса.

Множество В называется решением этой оптимизационной проблемы.

Если заменить весовую функцию w на — w и решать оптимизационную проблему для пары (3, — w), то получим максимальный элемент В' из 3, для которого w(B') даст минимальный вес. Отсюда, предполагая, что 3 -набор независимых множеств циклического матроида M(G), где G - связный граф, видим, что задача нахождения остовного дерева минимального веса для графа является частным случаем рассмотренной проблемы.

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

2. Жадный алгоритм

Жадный алгоритм (greedy algorithm) для пары (3, w) формулируется следующим образом:

1) начальное множество Xq есть 0 и начальный индекс j есть 0;

2) если Е\Х содержит элементы такие, что Xj U е С 3, то выберем из них элемент максимального веса, обозначим его eJ+1 и положим Xj+\ — Xj U ej+1, далее переходим к пункту 3), в противном случае полагаем Xj = Во и переходим к 4);

3) добавляем 1 к j и возвращаемся к 2);

4) останавливаемся.

Теорема. Пусть 3 - некоторый набор подмножеств конечного множества Е. Тогда (Е, 3) является ммт.роидом тогда и только тогда, когда, 3 удовлетворяет следующим условиям:

1) 0 еЗ,

2) если I £ 3, V С /, то Г £ 3,

3) для произвольной весовой функции w : Е —» К, жадный алгоритм строит максимальный элемент из 3 максимального веса.

Доказательства этого результата были опубликованы многими авторами. Любопытно отметить то, что первое из них дал Борувка (1926), и его доказательство, таким образом, предшествует даже Уитни (1935), который ввел термин "матроид" (см [1]).

3. Постановка и решение задачи

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

Пусть Є есть граф (У,Е), где V - п-элементное множество вершин (п>3),Е

- т-элементное множество ребер (т > п). Пусть (7 содержит к компонент и не имеет изолированных вершин.

Пусть А - конечное множество. Обозначим Ь(А) пространство вещественнозначных функций на А. Назовем преобразованием Радона на графе Є оператор Д : Ь(у) —Ь(Е) такой, что любой функции / Є Ну) сопоставляет функцию Л/ Є Ь(Е), чье значение на ребре е равно сумме значений функции / на вершинах, являющихся концами ребра.

Назовем комплексом в графе Є подграф К, у которого п вершин и п ребер. Назовем комплекс К допустимым, если ппеобпазование Ралона, ппи огпаничении

- - - - - - - - - гт- і/ - -7 ----1---Г------ ■ гл- -- ±- - ±- -

на комплекс К инъективно.

Задача. Найти допустимый комплекс наименьшего веса.

Решение. В работе [2] была доказано, что комплекс К допустим тогда и только тогда, когда каждая связная компонента К содержит остовный для нее уницикл ический подграф, цикл которого имеет нечетную длину. В работе [3] было показано, что ребра допустимого комплекса образуют базу некоторого матроида на графе. Этот матроид был нами назван матроидом Радона. Используя теорему из пункта 1, получим, что среди наборов ребер допустимых комплексов жадный алгоритм выберет набор из п ребер минимального веса. Заметим, что если граф двудольный, то преобразование Радона на нем не инъективно.

Конкретная реализация жадного алгоритма для нашего случая выглядит следующим образом (для простоты рассматривается связный граф):

1. выбираем ребро е, вес которого не больше веса каждого из оставшихся ребер;

2. ребро е не совпадает ни с одним из предварительно выбранных;

3. выбор е либо не приводит к формированию цикла ни с каким набором предварительно выбранных ребер, либо формирует цикл нечетной длины;

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

ЛИТЕРАТУРА

1. /. Oxley. Matroid Theory. Oxford University Press, 1992.

2. S. V. Koltsova, V. F. Molchanov. Radon transform on graphs and admissible complexes. Вестник Тамбовского унив. Сер. Ест. техн. науки, 2006, том 11, вып. 1, 41-48.

3. С. В. Кольцова, С. В. Поленкова. Матроид Радона графа. Вестник Тамбовского унив. Сер. Ест. техн. науки, 2006, том 11, вып. 3, 257-261.

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