Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Баушев, Гадасина - Оптимизационные задачи на се...doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
4.39 Mб
Скачать

§ 5. Задача о построении остова наименьшего диаметра.

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

. (4.13)

В случае из (4.5.1) получаем

.

В частности, если – остов сети , то всегда справедливо неравенство

. (4.14)

В этом параграфе мы рассмотрим задачу

, (4.15)

называемую задачей построения остова наименьшего диаметра.

Заметим, что в случае , , для любого остова мы имеем очевидное неравенство при , в то время как . Таким образом, неравенство (4.14) может быть строгим.

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

.

Следовательно,

. (4.16)

Из неравенств (4.14) и (4.16) следует, что в случае , – решение задачи (4.15).

Таким образом, новая задача возникает только в случае выполнения неравенства

(4.17)

В дальнейшем, будем считать выполненным неравенство (4.17).

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

Из этого рассмотрения следует, что решение задачи (4.15) можно искать в виде остова, имеющего структуру . При таком подходе возникают два вопроса. Во-первых, как по заданному ребру построить разбиение таким образом, чтобы кратчайшие пути по сети от узла до остальных узлов из множества проходили бы только через узлы этого множества, и аналогично кратчайшие пути по сети от узла до остальных узлов из множества проходили бы только через узлы множества ? Во-вторых, как для остова проверить, является ли он остовом наименьшего диаметра, или в противном случае, как построить остов аналогичной структуры, но меньшего диаметра?

Пусть – два различных узла сети , – произвольное ребро. Определим множества и следующим образом:

,

= .

Покажем, что разбиение обладает желаемым свойством.

Пусть – кратчайший путь по сети от узла до узла , Тогда

.

Имеем

поскольку и . Следовательно, .

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

поскольку . Следовательно, .

Диаметр остова является функцией трех переменных: ребра и узлов . Сначала для данного ребра найдем минимум функции по всем возможным узлам . Пусть , Задачу (4.5.3) в случае выполнения неравенства (4.17) можно решить перебором всех ребер , вычислением их оценок и нахождением ребра .

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

1) функцию вычисления расстояний между парами узлов исходной сети;

2) функцию построения дерева кратчайших путей от заданного узла сети до остальных узлов сети;

3) функцию вычисления метрических характеристик дерева.

Алгоритмы, реализующие эти функции, детально изучались ранее.