Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Следующая теорема утверждает, что ²жадный² алгоритм Краскала всегда приводит к остову минимального веса





Теорема 10.1. При i<n-1 граф Тi+1 можно построить. Граф Тn-1 является остовом минимального веса во взвешенном графе <G,w>.

Подграф Тi имеет ровно i рёбер и n вершин и потому при i < n-1 является несвязным. А так как граф G связен, то в нём есть по крайнеё мере одно ребро, не составляющее циклов с рёбрами графа Тi. Итак, нужное ребро ei+1 существует и граф Тi+1 можно построить.

Рассмотрим граф Тn-1. Поскольку Тn-1 является (n, n-1)-графом без циклов, то по теореме 9.1 является деревом. Докажем, что Тn-1 - остов минимального веса. Предположим противное. Среди всех остовов графа G минимального веса выберем такой остов Т, который имеет с деревом Тn-1 максимальное число общих рёбер. Пусть e i = (а,в) ребро дерева Тn-1, не содержащееся в Т и имеющее минимальный номер среди рёбер дерева Тn-1, не входящих в Т (в процессе построения дерева Тn-1 его рёбра получили номера 1,2,…,n-1). В дереве Т есть простая (а,в)- цепь. Присоединив к ней ребро еi, получим цикл. В этом цикле есть ребро е, не входящее в дерево Тn-1 (иначе в Тn-1 был бы цикл). Заменив в дереве Т ребро е на еi, получим новый остов Т¢ = Т – е + еi. Но Т - остов минимального веса, следовательно, w(Т¢) = w(T) + w(ei) - w(e) ≥ w(T), т.е. w( ei) ≥ w(e) (1). С другой стороны, присоединяя ребро е к Тi-1 (при i=1 полагаем Тi-1 = Оn), мы не получим цикла, поскольку рёбра е1,е2,…, еi-1, е входят в дерево Т, и потому, если бы вес w(ei) был больше, чем w(e), мы взяли бы при построении дерева Тi ребро е вместо ei. Из (1) теперь следует, что w(ei)= w(e), w(Т¢)= w(Т).

Итак, Т' - остов минимального веса. Число рёбер, общих для деревьев Т' и Тn-1, больше, чем число рёбер, общих для Т и Тn-1, что противоречит выбору дерева Т. Полученное противоречие и доказывает теорему.

Теперь зная алгоритм, решим задачу. На каждом шаге будем строить ациклический подграф с 5 вершинами (n=5), значит будет n-1 = 4 шага (рис. 9.3). На первом шаге выбираем e1 = (1,5), на втором - e2 = (2,4), на третьем - e3 = (1,3)

и на четвертом - e4 = (5,4). Рёбра (1,5), (2,4), (1,3), (4,5) составляют остов минимального веса. Вес остова Тn-1 равен:

w(Тn--1) = 1+2+3+4 = 10. Таким образом, эта сеть дорог (рис.9.3 (4)) будет самой дешёвой и ее строительство обойдётся в 10 условных единиц.

 

Алгоритм Прима отличается от алгоритма Краскала только тем, что на каждом шаге строится не просто ациклический подграф, а дерево:

1. Выбираем ребро e1 = (a,b) минимального веса и строим дерево D1 = e1.

2. Если дерево Di, содержащее i ребер порядка i + 1, уже построено, и i < n - 1, то среди ребер, соединяющих вершины этого дерева с вершинами графа G, не входящими в Di, выбираем ребро ei+1 минимального веса и строим дерево Di+1 = DiÈ ei+1 (рис.9.4).

Для алгоритма Прима также верна теорема 10.1.

 

Теорема. Алгоритм Краскала строит минимальный остов (n,m)-графа G за время O(m×n).

Доказательство: в алгоритме Краскала n - 1 шагов; на каждом шаге разыскивается ребро минимального веса из некоторого списка ребер, содержащего не более m ребер, поэтому число операций кратно m×n.

 

Date: 2015-06-11; view: 392; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию