Скачиваний:
66
Добавлен:
15.06.2014
Размер:
4.11 Mб
Скачать

Алгоритм построения полного потока:

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

  2. Такой путь найден.

Строим новый поток:

- суммарный поток.

….и т.д.

Алгоритм Форда-Фалкерсона:

  1. Разметка вершин:

а) вершине приписывается метка +0.

б)пусть имеется множество неразмеченных и множество размеченных вершин.

- одна из размеченных,

- одна из неразмеченных.

Все вершины , в которых идут ненасыщенные ребра помечаются меткой +i, а все вершины , из которых идут какие-нибудь ребра в вершину, помечаются меткой –i.

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

-если не увеличилось, то уже построена разметка.

-если множество размеченных вершин увеличилось, то два исхода:

* последняя оказалась размеченной.

* последняя оказалась неразмеченной (повторяем процесс разметки).

2. Построение потока по размеченным вершинам.

Выделяем путь , на котором произойдут изменения значения потока.

Путь строится, начиная с вершины.

Метка в каждой вершине с точностью до знака равна номеру предыдущей вершины в пути .

Строим поток:

+1 – если ребро ориентировано по пути .

-1 – против пути.

Суммарный поток:

После построения цикл повторяется.

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

Доказательство:

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

29. Деревья. Циклический ранг графа.

Связный граф без циклов –дерево.(Граф без циклов-лес).В этом графе нету петнль , и без кратных ребер.

В графе изображение вершин и ребер произвольно , а в деревьях существует правила.

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

прерывн.

Проводятся все соседние вершины. Вершины одного уровня – ранды. Все соседние вершины с вершинами 1-го ранда и тд.

Деревья , в которых выбран корень- корневые.Корень – нулевой ранд. Если выбран корень, то ранд определен.

Вершины , которым инцедентно только одно ребро- листья.

«Деревья» термин происходит из генелогии – 1-я терминология.

«Листья» от флористического направления ост из генеологии. Вершины могут быть родительскими идочерними. (е и f- сыновья вершины b).

Вершины, связаные отношением: предок-потомок (а-предок для остальных имеет потомок e,f ).

Бинарные деревья- деревья ,каждая вершина которых, кроме высшей имеет две дочерние.

Ориентированые и неориентированые деревья.

Из корня только исходят ветви. В ориентированом ориентация идет из корня к вершинам (потомкам).

Свойства:

Теорема: дерево на n вершинах имеет в точночти (n-1) ребро.

Доказ-во: по индукции ( есть парам. док. при наименшим n ).

Предположим на n вершин (n-1) ребро.добавим еще 1 вершину, (n+1) вершина граф, связан для этой необход. нов. вершин. связ. Ребром.

Число ребер увеличивается , но не больше вершин.

Рисунок:

Полученное соедин еще приведет к циклу.

Теорема доказана.

Циклический ранг.

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

Предположим что в графе существуют циклы

Между вершинами два пути (от а кb и от b к а ). Одно из них можно удалить

цикл разрушен и тд. все циклы.

Если в графе есть ребер иn вершин , после разрушения всех циклов граф будет деревом.

В нем будет (n-1) ребро удаляем-(n-1)= (G) ребро.

(G)= -n+1