Презентации лекций / Презентация лекции 14 ДМ 20
.pdfТема 14 «Задача о максимальном
потоке в сети»
«Дискретная математика» Олейник Татьяна Анатольевна
кафедра ВМ-1
План лекции
1.Постановка задачи о максимальном потоке в сети
2.Алгоритм Форда-Фалкерсона
2
План лекции
1.Постановка задачи о максимальном потоке в сети
2.Алгоритм Форда-Фалкерсона
1
2
3
|
|
1 |
|
|
2 |
|
|
|
Орграф = ( ,) |
: → [ ;+∞) |
|
|
-источник |
-сток |
взвешенныйориентированныйграф (сеть),в которомвыделеныдвевершиныисточник исток
ρ( ) – вес=пропускнаяспособностьдуги
|
1) |
≤ |
для |
|
: → [ ;∞) |
ограничениепо пропускной способности |
потоквсети |
||
|
|
− |
||
|
2) |
+ = |
− для ≠ , |
= ( ,,) |
|
сохранениепотока ввершинах |
|
||
( −) = |
( ) |
|
|
|
|
( +) = |
( ) |
||
|
|
- |
+ |
|
,( )
|
|
|
|
3,2 |
|
|
|
2,1 |
|
1,1 |
|
|
||
|
4,2 |
|
|
|
|
|
|
|
4
3,2 |
2,1 |
|
|
||
2,1 |
|
|
|
|
|
1,1 |
||
4,2 |
||
|
||
|
||
|
= |
= ( , , ) -сеть, − поток
– величина потока
|
|
|
|
|
|
3,3, |
2,2 |
3,3 |
2,1 |
|
|
|
||
|
|
2,1 |
2,2 |
|
|
|
|
|
|
|
1,1 |
1,1 |
||
|
4,2 |
4,3 |
||
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
=4 |
|
= |
1
2
3;0,5 2;0,5
2,0
|
|
|
1,1 |
||
4,1 |
||
|
||
|
||
|
= , |
Практическилюбой сетиможно определитьбесконечно |
|
|||||
|
||||||
многопотоков.Их сравниваютпо величине. |
Задачаомаксимальномпотоке: |
|||||
|
|
|
|
|
||
Потокнаибольшей |
|
Максимальный |
Взаданнойсети найти |
|||
|
||||||
величины |
|
|
поток |
|
||
|
|
|
||||
|
|
|
потокмаксимальнойвеличины |
|||
|
|
|
||||
-максимальный,еслидля |
≤ |
|
||||
|
Вкаждойсетисуществуетмаксимальныйпоток |
Задачунельзярешитьметодомперебора 5 |
|
План лекции
1.Постановка задачи о максимальном потоке в сети
2.Алгоритм Форда-Фалкерсона
6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
, …, |
–вершины |
|
|
,…, –дуги |
|
|
|
|
|
|
2 |
|||
|
|
|
|
|
|
|
|
|
Неориентированнаяпростая |
|
|||||
|
|
|
|
||||||||||||
Любые двасоседнихэлемента инцидентны, |
|
|
цепь(простаяполуцепь) |
|
|
||||||||||
|
|
|
|
||||||||||||
|
всевершины и дуги разные |
|
|
|
|
|
|
|
|
||||||
Полуцепь: |
|
|
|
|
|
|
|
Обратныедуги полуцепи |
|
|
|
|
|||
|
|
|
|
|
|
|
|
= ( ) –остаточнаяпропускнаяспособность |
|
||||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
обратнойдуги |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
прямыедуги полуцепи |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
= |
− ( ) –остаточнаяпропускнаяспособность |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
прямой дуги |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= min( ) - |
|
|
|
3,2 |
|
4,2 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
остаточнаяпропускнаяспособностьполуцепи |
2,0 |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
= ( ,,) -сеть, |
− поток |
|
|
|
|
|
|
|
|||||
|
|
|
|
4,1 |
|
|
|
||||||||
|
|
|
|
|
1,1 |
( |
) |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
: > |
|
|
|
|
–дополняющаяцепькпотоку |
|
|
|
|
|
|||||
|
|
|
|
|
|
||||||||||
|
|
|
|
: → → |
-дополняющая |
|
|||||||||
|
|
|
|
|
|||||||||||
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
: → → → –недополняющая |
||||
|
|
|
|
|
|
|
|
|
|
|
: → → |
- недополняющая |
7 |
-йшаг
Полагаем = .
-йшаг |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
Пустьпосетитечетпоток . |
||||||||
|
|
Ищемдляэтогопотокадополняющуюцепьиз в. |
|||||||||||
|
Еслитакойцепинет,то |
-максимальныйпоток. |
|||||||||||
|
|
|
|
||||||||||
|
|
Еслидополняющаяцепьесть,тодаемейимя и |
|||||||||||
|
определяемна функцию последующемуправилу: |
||||||||||||
|
|
|
|
|
|
|
+ |
,если |
− прямая дуга цепи |
||||
|
= |
|
|
|
− |
,если |
− обратнаядуга цепи |
||||||
|
|
|
|
|
|
|
|
,если |
|||||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
Построеннаяфункция |
-поток. |
||||||||
|
|
|
Величинаэтогопотока |
|
= |
+ ( ). |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
2
Пример:
|
|
|
3 |
|
7 |
|
|
|
|
|
2 |
|
||
|
2 |
|
|
|
3 |
|
6 |
8 |
|
|
|
|
|
|
|
1 |
1 |
3 |
5 |
|
|||
|
|
|||
|
|
|
||
|
|
|
|
|
|
|
|
|
Найти в сети максимальный поток
8
1
2
|
, |
|
|
||||||||
Пара |
|
|
|
|
|
|
|
|
|
|
( , )- |
|
|
|
|
|
|
|
|
|
|
||
множеств |
|
|
|
|
|
|
|
|
|
|
|
= |
|
||||||||||
|
разрез |
||||||||||
( , ) |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|||||
|
∩ = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
→ |
|
|
|
|
→ |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
→ = |
= ( ,) |
, |
|
→ = |
= ( ,) , |
|
||
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
9
|
|
|
|
|
= |
( ,,) -сеть, |
( , ) − разрез |
|
|
|
|
||||
|
|
|
|
→ |
|
|
– пропускная способность разреза |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
2 |
|
|
|
|
|
|
|
3 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= , , |
|
= , |
|
||
|
|
|
|
|
|
|
|
2 |
|
|
|
||||
2 |
|
|
= |
, , |
|
= , |
|
|
|
|
|||||
|
|
|
|
|
|
|
=5 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
→ |
|
|
|||
|
|
|
|
→ =7 |
1 |
|
|
|
|
|
|||||
1 |
4 |
|
|
|
|
|
4 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В любой сети существуетнесколькоразрезов. |
|
|
|
Задача: |
|
|
|||||||||
Их сравнивают по пропускнойспособности. |
|
|
|
|
|
|
|||||||||
|
|
|
Взаданнойсети найти |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
минимальныйразрез. |
||||
Разрезнаименьшей |
|
|
Минимальный |
|
|
|
|
Решение: |
|
||||||
|
|
|
|
|
|
|
|||||||||
пропускной |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
||||||||
способности |
|
|
|
|
|
разрез |
|
|
|
Вмножество включаем ивсе |
|||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
вершины,длякоторыхсуществуют |
||||
( , )-минимальный,еслидля , |
|
|
|
дополняющиецепииз в; |
|||||||||||
|
( |
→ ) ≤ → |
|
|
|
|
|
= \ |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
2
10