Лекция 5. Графы. Примеры применений графов. Транспортная

advertisement
Лекция 5. Графы. Примеры применений графов.
Транспортная задача. Поток в сети, теорема
Форда и Фалкерсона о величине максимального
потока в сети. Алгоритм построения
максимального потока в сети.
Лектор - доцент Селезнева Светлана Николаевна
Лекции по “Дискретным моделям”.
Магистратура, 1-й курс,
факультет ВМК МГУ имени М.В. Ломоносова
Лекции на сайте http://mathcyb.cs.msu.su
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Определение графа
Графом G называется пара (V , E ), где
V = {v1 , v2 , . . . } – множество вершин;
E = {e1 , e2 , . . . } – множество ребер, в котором каждое ребро ei
есть пара вершин (vi1 , vi2 ), где vi1 , vi2 ∈ V .
Если множества V и E – конечны, то граф называется
конечным. Иначе, граф называется бесконечным.
В множестве ребер E могут присутствовать ребра,
составленные из одной и той же вершины: ei = (vi1 , vi1 ). Такие
ребра называются петлями.
В множестве ребер E могут присутствовать разные ребра,
которым сопоставлена одна и та же пара вершин: ei = (vi1 , vi2 )
и ej = (vi1 , vi2 ), i 6= j. Такие ребра называются кратными.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Вершины, ребра и дуги
Пусть ei = (vi1 , vi2 ) – ребро из множества ребер E .
Говорят, что ребро ei соединяет вершины vi1 и vi2 , или
вершины vi1 и vi2 инцидентны ребру ei .
Если пара (vi1 , vi2 ) – не упорядочена, то ребро ei называется
неориентированным. В этом случае, вершины vi1 и vi2
называются концами неориентированного ребра ei , или
смежными (соседними) по ребру ei .
Если пара (vi1 , vi2 ) – упорядочена, то ребро ei называется
ориентированным, или дугой. В этом случае говорят, что
дуга ei исходит из вершины vi1 и входит в вершину vi2 .
Вершина vi1 называется началом, вершина vi2 называется
концом дуги ei .
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Ориентированные и неориентированные графы
Если в множестве ребер E все ребра не ориентированны, то
граф G = (V , E ) называется неориентированным.
Если в множестве ребер E все ребра ориентированны, то граф
G = (V , E ) называется ориентированным.
Можно рассматривать частично ориентированные графы, в
которых часть ребер – ориентированна, а часть – нет.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Диаграмма графа
Графы можно наглядно изображать в виде диаграмм.
Вершины изображаются точками (или кружочками).
Ребро ei = (vi1 , vi2 ) изображается линией, соединяющей
вершины (точки) vi1 и vi2 .
Если ei = (vi1 , vi2 ) – дуга, то на линиии указывается стрелка от
vi1 к vi2 .
Пусть G = (V , E ), где V = {1, 2, 3}, E = {e1 , e2 , e3 }, где
e1 = (1, 2) – дуга, e2 = (1, 2) и e3 = (1, 3) – неориентированные
ребра.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Диаграмма графа
Графы можно наглядно изображать в виде диаграмм.
Вершины изображаются точками (или кружочками).
Ребро ei = (vi1 , vi2 ) изображается линией, соединяющей
вершины (точки) vi1 и vi2 .
Если ei = (vi1 , vi2 ) – дуга, то на линиии указывается стрелка от
vi1 к vi2 .
Пусть G = (V , E ), где V = {1, 2, 3}, E = {e1 , e2 , e3 }, где
e1 = (1, 2) – дуга, e2 = (1, 2) и e3 = (1, 3) – неориентированные
ребра.
3
u
u
2
G : e3
1
u
e1
e2
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Путь в графе
Путем (неориентированным) в графе G = (V , E ) из
вершины vi0 в вершину vil называется последовательность
вершин и ребер графа G вида
vi0 ei1 vi1 ei2 vi2 . . . vil−1 eil vil ,
в которой для каждого j = 1, . . . , l или eij = (vij−1 , vij ) ∈ E , или
eij = (vij , vij−1 ) ∈ E .
При этом вершина vi0 называется началом пути, вершина vil
называется концом пути. Число l ребер в пути называется его
длиной.
Если все ребра пути ориентированы правильно (то есть для
всех j = 1, . . . , l верно eij = (vij−1 , vij ) ∈ E ), то путь называется
ориентированным.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример
В графе G последовательность
1e1 2e2 1e3 3
является ориентированным путем из вершины 1 в вершину 3
длины 3.
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример
В графе G последовательность
1e1 2e2 1e3 3
является ориентированным путем из вершины 1 в вершину 3
длины 3.
3
u
G:
1
u
u
2
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример
В графе G последовательность
1e1 2e2 1e3 3
является ориентированным путем из вершины 1 в вершину 3
длины 3.
3
u
u
G:
1
u
2
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример
В графе G последовательность
1e1 2e2 1e3 3
является ориентированным путем из вершины 1 в вершину 3
длины 3.
3
u
u
G:
1
u
2
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример
В графе G последовательность
1e1 2e2 1e3 3
является ориентированным путем из вершины 1 в вершину 3
длины 3.
3
u
u
G:
1
u
2
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Применение графов
Графы находят многочисленные применения в приложениях и
других областях знаний.
В химии – в органической химии молекула вещества
определяется не только атомным составом, но и строением,
которое задает граф.
В физике – физические свойства вещества зависят не только
от его атомного состава, но и от строения кристаллической
решетки, которое определяет граф.
В психологиии – отношения между группами людей или
отдельными индивидуумами определяются бинарными
отношениями, которые удобно описывать в виде графов.
В программировании – выполнение программы можно
рассматривать как переход от одного состояния памяти к
другому, что можно описывать при помощи графов переходов.
И т.д.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Применение графов
Графы находят самое широкое применение при построении
математических моделей для решения различных
прикладных задач.
Мы рассмотрим их применение к транспортной задаче.
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Транспортная задача
Рассмотрим транспортную задачу.
Она может возникать в физике, экономике и т.д.
Основные ее составляющие: есть транспортная сеть (сеть
железнодорожных, автомобильных и т.д. путей; сеть
трубопроводов и т.д.). При этом на отдельные компоненты сети
наложены ограничения – их максимально допустимая нагрузка.
Необходимо определить максимально возможное количество
пассажиров, товара, продукта и т.д., которое можно провезти
по этой сети. Требуется также определить, каким образом
можно организовать перевозку этого максимально возможного
количества.
Мы построим графовую дискретную модель этой
транспортной задачи и решим ее в этой модели.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Определение транспортной сети
Пусть G = (V , E ) – ориентированный граф.
Для каждой вершины v ∈ V определим множества
A(v ) ( After v“) и B(v ) ( Before v“):
”
”
A(v ) = {(v , w ) ∈ E },
то есть A(v ) – множество всех дуг, исходящих из вершины v ;
B(v ) = {(w , v ) ∈ E },
то есть B(v ) – множество всех дуг, входящих в вершину v .
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Определение транспортной сети
Если B(v ) = ∅, то есть в вершину v дуги не входят, то вершина
v называется источником.
Если A(v ) = ∅, то есть из вершины v дуги не исходят, то
вершина v называется стоком.
В графе S вершина 1 является источником, вершины 2 и 3 –
стоками.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Определение транспортной сети
Если B(v ) = ∅, то есть в вершину v дуги не входят, то вершина
v называется источником.
Если A(v ) = ∅, то есть из вершины v дуги не исходят, то
вершина v называется стоком.
В графе S вершина 1 является источником, вершины 2 и 3 –
стоками.
3
u
6
S:
1
u
u
2
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Определение транспортной сети
Сетью называется ориентированный граф S = (V , E ) с одним
источником s ∈ V и одним стоком t ∈ V , s 6= t.
Сеть S называется связной, если найдется ориентированный
путь от ее источника s к ее стоку t.
Транспортной сетью называется связная сеть S = (V , E ) с
функцией τ : E → R+ , сопоставляющей каждой ее дуге e ∈ E
неотрицательное действительное число τ (e) ≥ 0,
называющееся его пропускной способностью.
Транспортная сеть S с функцией пропускных способностей дуг
τ обозначается (S; τ ).
Графы
Применение
Транспортная задача
Пример транспортной сети
Транспортная сеть T = (S; τ ):
Теорема Форда и Фалкерсона
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример транспортной сети
Транспортная сеть T = (S; τ ):
3
T :
sr
r
6
5
-r
@ 5
@
6
4
@
@
5@
7
@
R
@r
2
-?
r
@
@
Rr t
@
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Поток в транспортной сети
Потоком в транспортной сети T = (S, τ ) называется такая
функция π : E → R+ , приписывающая каждой дуге сети e ∈ E
неотрицательное число π(e) ≥ 0, называемое потоком по этой
дуге, для которой верны свойства:
1) для каждой дуги сети e ∈ E верно π(e) ≤ τ (e), то есть поток
по дуге не превышает пропускную способность этой дуги;
2) для каждой вершины сети v ∈ V верно

v 6= s, t;
 0,
X
X
p(π),
v = s;
π(v , w ) −
π(w , v ) =

−p(π), v = t;
(w ,v )∈B(v )
(v ,w )∈A(v )
где неотрицательное число p(π) называется величиной
потока.
То есть весь поток p(π) вытек из источника s, в
промежуточных вершинах не задержался и притек к стоку t.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример потока в транспортной сети
Поток π в транспортной сети T = (S; τ ):
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример потока в транспортной сети
Поток π в транспортной сети T = (S; τ ):
3
T :
sr
r
6
5
4
-r
@ 5
@
6
@
@
5@
7
@
R
@r
2
-?
r
@
@
Rr t
@
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример потока в транспортной сети
Поток π в транспортной сети T = (S; τ ):
3
T :
sr
r
6
5
4
-r
@ 5
@
6
@
@
5 @(3)
@
R
@r
7
2
-?
r
@
@
Rr t
@
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример потока в транспортной сети
Поток π в транспортной сети T = (S; τ ):
3
T :
sr
r
6
5
4 (1)
-r
@ 5
@
6
@
@
5 @(3)
@
R
@r
7
2 (2)
-?
r
@
@
Rr t
@
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример потока в транспортной сети
Поток π в транспортной сети T = (S; τ ):
3
T :
sr
r
6
5 (1)
4 (1)
@
@
5 @(3)
@
R
@r
-r
@ 5 (1)
@
@
@
Rr t
@
6
7
2 (2)
-?
r
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример потока в транспортной сети
Поток π в транспортной сети T = (S; τ ):
3
T :
sr
r
6
5 (1)
4 (1)
@
@
5 @(3)
@
R
@r
-r
@ 5 (1)
@
@
@
Rr t
@
6
7 (2)
2 (2)
Величина потока p(π) равна 3.
-?
r
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Можно построить другой поток π 0 в этой же транспортной сети
T = (S; τ ):
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Можно построить другой поток π 0 в этой же транспортной сети
T = (S; τ ):
3
T :
sr
r
6
5
4
-r
@ 5
@
6
@
@
5@
7
@
R
@r
2
-?
r
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Можно построить другой поток π 0 в этой же транспортной сети
T = (S; τ ):
r
6
5
3 (2)
T :
sr
4
-r
@ 5
@
6
@
@
5 @(3)
@
R
@r
7
2
-?
r
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Можно построить другой поток π 0 в этой же транспортной сети
T = (S; τ ):
r
6
5
3 (2)
T :
sr
4 (1)
-r
@ 5
@
6
@
@
5 @(3)
@
R
@r
7
2 (2)
-?
r
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Можно построить другой поток π 0 в этой же транспортной сети
T = (S; τ ):
r
6
5 (3)
3 (2)
T :
sr
4 (1)
-r
@ 5
@
6
@
@
5 @(3)
@
R
@r
7
2 (2)
-?
r
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Можно построить другой поток π 0 в этой же транспортной сети
T = (S; τ ):
r
6
5 (3)
3 (2)
T :
sr
4 (1)
@
@
5 @(3)
@
R
@r
-r
@ 5 (2)
@
@
Rr t
@
6 (1) @
7
2 (2)
-?
r
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Можно построить другой поток π 0 в этой же транспортной сети
T = (S; τ ):
r
6
5 (3)
3 (2)
T :
sr
4 (1)
@
@
5 @(3)
@
R
@r
-r
@ 5 (2)
@
@
Rr t
@
6 (1) @
7 (3)
2 (2)
Величина потока p(π 0 ) равна 5.
-?
r
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Попытаемся построить поток π 00 в этой же транспортной сети
T = (S; τ ):
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Попытаемся построить поток π 00 в этой же транспортной сети
T = (S; τ ):
3
T :
sr
r
6
5
4
-r
@ 5
@
6
@
@
5@
7
@
R
@r
2
-?
r
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Попытаемся построить поток π 00 в этой же транспортной сети
T = (S; τ ):
r
6
5
3 (3)
T :
sr
4
-r
@ 5
@
6
@
@
5 @(5)
@
R
@r
7
2
-?
r
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Попытаемся построить поток π 00 в этой же транспортной сети
T = (S; τ ):
r
6
5
3 (3)
T :
sr
4 (3)
-r
@ 5
@
6
@
@
5 @(5)
@
R
@r
7
2 (2)
-?
r
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример потока в транспортной сети
Попытаемся построить поток π 00 в этой же транспортной сети
T = (S; τ ):
r
6
5
(6)
3 (3)
T :
sr
4 (3)
-r
@ 5
@
6
@
@
5 @(5)
@
R
@r
7
2 (2)
@
@
Rr t
@
-?
r
Такой поток p(π 00 ) построить не удалось.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Постановка задачи
Постановка транспортной задачи.
Дана транспортная сеть T = (S, τ ).
Требуется найти такой поток π в этой транспортной сети T , на
котором достигается максимальное значение величины потока
p(π).
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Сечения
Пусть T = (S, τ ) – транспортная сеть, где S = (V , E ) – сеть.
Если X ⊆ V , s ∈ X , t ∈
/ X и Y = V \ X,
то множество дуг D ⊆ E , таких что
D = {(v , w ) ∈ E | v ∈ X , w ∈ Y },
называется сечением сети S и обозначается D = (X , Y ).
Если удалить из сети S все дуги из сечения D, то получится
сеть S 0 , не являющаяся связной.
То есть в сети S 0 нет на одного ориентированного пути из
источника s в сток t.
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пропускная способность сечения
Пропускной способностью сечения D ⊆ E называется
неотрицательное число
X
τ (D) =
τ (e),
e∈D
то есть равное сумме пропускных способностей дуг, в него
входящих.
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример сечения
Рассмотрим сечение D в транспортной сети T , X = {s}:
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Пример сечения
Рассмотрим сечение D в транспортной сети T , X = {s}:
3
T :
sr
r
6
5
4
-r
@ 5
@
6
@
@
5@
7
@
R
@r
2
@
@
Rr t
@
-?
r
Пропускная способность сечения D равна: τ (D) = 5 + 3 = 8.
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример сечения
Рассмотрим сечение D 0 в транспортной сети T , X = {s, a, b}:
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Пример сечения
Рассмотрим сечение D 0 в транспортной сети T , X = {s, a, b}:
b
3
T :
sr
r
6
5
4
-r
@ 5
@
6
@
@
5@
7
@
R
@r
a
2
@
@
Rr t
@
-?
r
Пропускная способность сечения D 0 равна: τ (D 0 ) = 2 + 5 = 7.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Теорема Форда, Фалкерсона
Теорема 5.1 [Форда, Фалкерсона]. Пусть T = (S, τ ) –
транспортная сеть. Величина максимального потока в
транспортной сети T равна минимальной из пропускных
способностей его сечений.
Доказательство Пусть T = (S, τ ) – транспортная сеть, где
S = (V , E ) – сеть, Dmin = (X , Y ) – сечение сети с
минимальной пропускной способностью, и pmax – величина
максимального потока в этой сети.
Нам надо доказать, что pmax = τ (Dmin ).
1. Вначале докажем, что величина любого потока в
транспортной сети не превосходит пропускную способность
любого сечения в этой сети, то есть что pmax ≤ τ (Dmin ).
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Теорема Форда, Фалкерсона
Доказательство (продолжение). Пусть π : E → R+ – поток, а
D = (X , Y ) ⊆ E – сечение транспортной сети T , где X ⊆ V ,
s ∈ X, t ∈
/ X , Y = V \ X . Тогда
X
X
p(π) =
π(s, w ) −
π(w , s) =
(s,w )∈A(s)
=
X
X
π(v , w ) −
v ∈X ,(v ,w )∈A(v )
≤
(w ,s)∈B(s)
v ∈X ,(w ,v )∈B(v )
X
π(v , w ) =
v ∈X ,w ∈X
/ ,(v ,w )∈E
X
≤
v ∈X ,(v ,w )∈D
Значит, p(π) ≤ τ (D).
π(w , v ) ≤
X
v ∈X ,(v ,w )∈D
τ (v , w ) = τ (D).
π(v , w ) ≤
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Теорема Форда, Фалкерсона
Доказательство (продолжение). 2. Теперь докажем, что для
такого потока π : E → R+ , что p(π) = pmax , верно
p(π) = τ (Dmin ).
Индуктивно определим множество вершин X ⊆ V .
Базис индукции: s ∈ X , то есть источник содержится в
множестве X .
Индуктивный переход:
1) если v ∈ X , (v , w ) ∈ E и π(v , w ) < τ (v , w ), то w ∈ X ;
2) если v ∈ X , (w , v ) ∈ E и π(w , v ) > 0, то w ∈ X ;
То есть X – это множество вершин, в которые можно перейти
из источника по дугам в правильном направлении с
ненасыщенным потоком (который меньше пропускной
способности дуги) и по дугам с обратным направлением с
ненулевым потоком.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Теорема Форда, Фалкерсона
Доказательство (продолжение). 1) Если t ∈
/ X , то
D = (X , V \ X ) – сечение, и аналогично предыдущим
рассуждениям p(π) = τ (D).
Так как τ (Dmin ) ≤ τ (D) и p(π) ≤ τ (Dmin ), получаем
p(π) = τ (Dmin ).
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Теорема Форда, Фалкерсона
Доказательство (продолжение). 2) Если t ∈ X , то в сети S
найдется (неориентированный) путь P из источника s в сток t,
состоящий только из дуг с правильным направлением с
ненасыщенным потоком и из дуг с обратным направлением с
ненулевым потоком:
P = s = vi0 e1 vi1 vi1 . . . vil−1 eil vil = t,
где для каждого j = 1, . . . , l
1) если eij = (vij−1 , vij ) ∈ E , то π(eij ) < τ (eij );
2) если eij = (vij , vij−1 ) ∈ E , то π(eij ) > 0.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Теорема Форда, Фалкерсона
Доказательство (продолжение). Положим
min
β=
eij =(vij−1 ,vij )∈E
γ=
τ (eij ) − π(eij ) > 0,
min
eij =(vij ,vij−1 )∈E
π(eij ) > 0,
и
α = min(β, γ).
Алгоритм
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Теорема Форда, Фалкерсона
Доказательство (продолжение). Тогда построим новый поток
π 0 в сети T , изменив потоки по дугам пути P:
для каждого j = 1, . . . , l
1) если eij = (vij−1 , vij ) ∈ E , то π 0 (eij ) = π(eij ) + α;
2) если eij = (vij , vij−1 ) ∈ E , то π 0 (eij ) = π(eij ) − α.
Тогда p(π 0 ) = p(π) + α > pmax . Получаем противоречие.
Значит, второй случай t ∈ X невозможен, и pmax = τ (Dmin ).
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Доказательство теоремы Форда и Фалкерсона предлагает идею
алгоритма построения максимального потока в транспортной
сети.
Он называется алгоритмом расстановки пометок.
Рассмотрим транспортную сеть T , пусть π0 – нулевой поток.
b
3
T :
sr
r
6
5
4
d
-r
@ 5
@
6
@
@
5@
7
@
R
@r
a
2
-?
r
c
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Доказательство теоремы Форда и Фалкерсона предлагает идею
алгоритма построения максимального потока в транспортной
сети.
Он называется алгоритмом расстановки пометок.
Рассмотрим транспортную сеть T , пусть π0 – нулевой поток.
b
3
T :
sr
r
6
5
4
@
@
@
@
5@
@
@
@
R
@
@r
a
d
-r
@
@5
@
@
@
@
@
@
R
@
@r t
6
7
2
-?
r
c
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли путь
P1 = s(s, a)a(a, b)b(b, d)d(d, t)t.
Тогда α = β = min(5, 4, 5, 5) = 4, и поток π0 можно увеличить
до нового потока π1 , p(π1 ) = 4.
b
3
T :
sr
r
6
5
d
-r
@ 5
@
6
4
@
@
5@
7
@
R
@r
a
2
-?
r
c
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли путь
P1 = s(s, a)a(a, b)b(b, d)d(d, t)t.
Тогда α = β = min(5, 4, 5, 5) = 4, и поток π0 можно увеличить
до нового потока π1 , p(π1 ) = 4.
b
3
T :
sr
r
6
5 (4)
4 (4)
@
@
5 @(4)
@
R
@r
a
d
-r
@ 5 (4)
@
@
@
Rr t
@
6
7
2
-?
r
c
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли путь
P1 = s(s, a)a(a, b)b(b, d)d(d, t)t.
Тогда α = β = min(5, 4, 5, 5) = 4, и поток π0 можно увеличить
до нового потока π1 , p(π1 ) = 4.
b
3
T :
sr
r
6
5 (4)
4 (4)
@
@
5 @(4)
@
R
@r
a
d
-r
@ 5 (4)
@
@
@
Rr t
@
6
7
2
-?
r
c
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли новый путь
P2 = s(s, b)b(a, b)a(a, c)c(c, t)t.
Тогда β = min(3, 2, 7) = 2, γ = min(4) = 4, α = min(2, 4) = 2, и
поток π1 можно увеличить до нового потока π2 ,
p(π2 ) = 4 + 2 = 6.
b
3
T :
sr
r
6
5
4
d
-r
@ 5
@
6
@
@
5@
7
@
R
@r
a
2
-?
r
c
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли новый путь
P2 = s(s, b)b(a, b)a(a, c)c(c, t)t.
Тогда β = min(3, 2, 7) = 2, γ = min(4) = 4, α = min(2, 4) = 2, и
поток π1 можно увеличить до нового потока π2 ,
p(π2 ) = 4 + 2 = 6.
b
3
T :
sr
r
6
5 (4)
4
@
@
5 @(4)
@
R
@r
a
d
-r
@ 5 (4)
@
@
@
Rr t
@
6
7
2
-?
r
c
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли новый путь
P2 = s(s, b)b(a, b)a(a, c)c(c, t)t.
Тогда β = min(3, 2, 7) = 2, γ = min(4) = 4, α = min(2, 4) = 2, и
поток π1 можно увеличить до нового потока π2 ,
p(π2 ) = 4 + 2 = 6.
b
r
6
5 (4)
3 (2)
T :
sr
4 (2)
@
@
5 @(4)
@
R
@r
a
d
-r
@ 5 (4)
@
@
@
Rr t
@
6
7 (2)
2 (2)
-?
r
c
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли новый путь
P2 = s(s, b)b(a, b)a(a, c)c(c, t)t.
Тогда β = min(3, 2, 7) = 2, γ = min(4) = 4, α = min(2, 4) = 2, и
поток π1 можно увеличить до нового потока π2 ,
p(π2 ) = 4 + 2 = 6.
b
r
6
5 (4)
3 (2)
T :
sr
4 (2)
@
@
5 @(4)
@
R
@r
a
d
-r
@ 5 (4)
@
@
@
@
@
@
@
@r t
R
@
6
7 (2)
2 (2)
-?
r
c
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли еще один путь
P3 = s(s, b)b(b, d)d(d, t)t.
Тогда α = β = min(1, 1, 1) = 1, и поток π2 можно увеличить до
нового потока π3 , p(π3 ) = 6 + 1 = 7.
b
3
T :
sr
r
6
5
d
-r
@ 5
@
6
4
@
@
5@
7
@
R
@r
a
2
-?
r
c
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли еще один путь
P3 = s(s, b)b(b, d)d(d, t)t.
Тогда α = β = min(1, 1, 1) = 1, и поток π2 можно увеличить до
нового потока π3 , p(π3 ) = 6 + 1 = 7.
b
3
T :
sr
r
6
5
d
-r
@ 5
@
6
4
@
@
5 @(4)
@
R
@r
a
7
2
-?
r
c
@
@
Rr t
@
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли еще один путь
P3 = s(s, b)b(b, d)d(d, t)t.
Тогда α = β = min(1, 1, 1) = 1, и поток π2 можно увеличить до
нового потока π3 , p(π3 ) = 6 + 1 = 7.
b
3
T :
sr
r
6
5
d
-r
@ 5
@
@
@
Rr t
@
6
4 (2)
@
@
5 @(4)
@
R
@r
a
7 (2)
2 (2)
-?
r
c
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
Нашли еще один путь
P3 = s(s, b)b(b, d)d(d, t)t.
Тогда α = β = min(1, 1, 1) = 1, и поток π2 можно увеличить до
нового потока π3 , p(π3 ) = 6 + 1 = 7.
b
r
6
5 (5)
3 (3)
T :
sr
4 (2)
@
@
5 @(4)
@
R
@r
a
d
-r
@ 5 (5)
@
@
@
Rr t
@
6
7 (2)
2 (2)
-?
r
c
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Алгоритм
Алгоритм расстановки пометок
b
r
6
5 (5)
3 (3)
T :
sr
4 (2)
@
@
5 @(4)
@
R
@r
a
d
-r
@ 5(5)
@
@
@
Rr t
@
6
7 (2)
2 (2)
r
-?
c
Получаем, X = {s, a, b}, и t ∈
/ X.
Тогда D 0 = (X , V \ X ) – сечение, τ (D 0 ) = 2 + 5 = 7, D 0 = Dmin .
Откуда, pmax = p(π3 ) = τ (Dmin ) = 7.
Графы
Применение
Транспортная задача
Теорема Форда и Фалкерсона
Конец лекции 5
Алгоритм
Download