Похожие презентации:
Математическое программирование потоки в сетях
1.
МАТЕМАТИЧЕСКОЕПРОГРАММИРОВАНИ
Е
ПОТОКИ В СЕТЯХ
2.
ПОТОКИ В СЕТЯХЦель: освоение навыков решения
задач построения потоков в сетях.
Задачи:
изучение основных понятий;
освоение навыков решения
задачи о максимальном потоке.
3.
План лекции1. Основные понятия;
2. Постановка задачи о
максимальном потоке;
3. Решение задачи на основе
теоремы Форда-Фалкерсона;
4. Решение задачи на основе
алгоритма Форда-Фалкерсона.
4.
ПОТОКИ В СЕТЯХОсновные понятия
G (V , E ) , каждому ребру
(vi , v j ) которого поставлено в соответствие число c(vi , v j ) 0 ,
называемое пропускной способностью, а также выделено две вершины v0 исток и vn 1 - сток, n V .
Поток – это функция f (vi , v j ) , (vi , v j ) E обладающая тремя
Сеть – это ориентированный граф
свойствами:
1. f (vi , v j ) c(vi , v j ) ;
2. f (vi , v j ) f (v j , vi ) (кососимметричность);
3.
f (u, v) 0 , u V {v0 , vn 1}
v V
5.
Величина потока f этоf f (v0 , v j )
v V
Примем vi V , f (vi , v j ) 0 , f (v j , vi ) 0
f (vi , v j ) - величина входящего потока для вершины v j
vi V
f (vi , v j ) - величина исходящего потока для вершины vi
v j V
6.
01
6
1
3
1
1
2
2
1
0 4
9
7
5
4
4
1
0
20
1
1
1
1
4
1
2
4
3
2
f f (v0 , v j ) 11 8 19
v V
15
5
7
8
4
4
1
3
7.
Разрез ( S , T ) сети G (V , E ) называется разбиение множества Vна две части S и
S T .
T такое, что
v0 S , vn 1 T , S T V ,
c( S , T ) – это сумма пропускных
способностей дуг соединяющих вершины в S и T .
Пропускная способность разреза
Минимальный разрез сети – это разрез с минимальной пропускной
способностью.
8.
01
6
1
3
1
1
2
2
1
0 4
9
7
20
5
4
4
1
4
3
Разрез ({0,1,4},{2,3,5})
c({0,1,4},{2,3,5})=c(1,2)+c(4,3)=12+14
=26
9.
10
1
1
1
1
2
2
4
7
8
15
5
4
4
1
1
3
Поток через разрез ({0,1,4},{2,3,5})
f(1,2)+f(4,3)+f(2,4)=12+11+(-4)=19
10.
Задача о максимальном потокеТеорема Форда-Фалкерсона: В любой сети максимальная величина
потока из истока s в сток t равна минимальной пропускной
способности разреза отделяющего s от t .
0
1
6
1
3
1
1
2
2
1
0 4
9
7
20
5
4
4
1
4
3
11.
01
6
1
3
29
1
1
2
2
1
0 4
9
7
20
5
4
4
3
1
4
0
1
6
1
3
35
1
1
2
2
1
0 4
9
7
20
5
4
4
1
4
3
12.
01
6
1
3
58
1
1
2
2
1
0 4
9
7
20
5
4
4
3
1
4
0
1
6
1
3
52
1
1
2
2
1
0 4
9
7
20
5
4
4
1
4
3
13.
12
1
0
1
6
1
3
40
1
0 4
2
20
9
5
7
4
4
3
1
4
1
2
1
0
1
6
1
3
29
1
0 4
2
20
9
5
7
4
4
1
4
3
14.
10
1
6
1
3
53
1
0 4
2
1
2
20
9
5
7
4
4
1
4
0
3
1
1
6
1
3
46
1
0 4
1
2
2
20
9
5
7
4
4
1
4
3
15.
10
1
6
1
3
34
1
0 4
2
1
2
20
9
5
7
4
1
4
4
3
1
0
1
6
1
3
26
1
0 4
1
2
2
20
9
5
7
4
4
1
4
3
16.
10
1
6
1
3
4
2
1
2
1
0 4
20
9
5
7
4
1
4
4
3
1
0
1
6
1
3
27
1
0 4
1
2
2
20
9
5
7
4
4
1
4
3
17.
10
1
6
1
3
1
2
1
0 4
2
20
9
5
7
4
1
4
4
34
3
1
0
1
6
1
3
1
0 4
1
2
2
20
7
9
5
4
4
1
4
3
23
18.
10
1
6
1
3
40
2
1
2
1
0 4
20
9
5
7
4
1
4
4
3
1
0
1
6
1
3
24
1
0 4
1
2
2
20
9
5
7
4
4
1
4
3
19.
Понятие остаточной сетиСеть G (V , E ) , c(vi , v j ) - пропускная способность дуги
12
1
2
16
20
10
0
5
9
4
7
13
4
4
3
14
Поток f (vi , v j )
12
1
2
11
15
0
5
4
1
7
8
4
4
11
3
20.
АЛГОРИТМ ФОРДА-ФАЛКЕРСОНА1. Обнуляем все потоки. Остаточная сеть изначально совпадает с
исходной сетью.
2. В остаточной сети находим любой путь из источника в сток. Если
такого пути нет, останавливаемся.
3. Пускаем через найденный путь (он называется увеличивающим
путём или увеличивающей цепью) максимально возможный поток:
На найденном пути в остаточной сети ищем ребро с
минимальной пропускной способностью cmin.
Для каждого ребра на найденном пути увеличиваем поток на
cmin, а в противоположном ему - уменьшаем на cmin.
Модифицируем остаточную сеть. Для всех рёбер на найденном
пути, а также для противоположных им рёбер, вычисляем новую
пропускную способность. Если она стала ненулевой, добавляем ребро к
остаточной сети, а если обнулилась, стираем его.
4. Возвращаемся на шаг 2.
21.
121
2
16
20
10
0
5
9
4
7
13
0
1
2
3
4
5
0
0
-4
0
0
0
0
4
4
14
1
4
0
-4
0
0
0
2
0
4
0
0
-4
0
3
3
0
0
0
0
4
-4
4
0
0
4
-4
0
0
5
0
0
0
4
0
0
22.
44
8
1
12
2
20
4
10
0
5
5
4
7
13
4
4
3
10
4
0
1
2
3
4
5
0
0
-11
0
0
0
0
1
11
0
-4
0
-7
0
2
0
4
0
7
-4
--7
3
0
0
-7
0
11
-4
4
0
7
4
-11
0
0
5
0
0
7
4
0
0
23.
411
8
1
5
13
4
3
7
2
0
5
5
7
11
13
4
4
3
3
11
0
1
2
3
4
5
0
0
-11
0
0
-8
0
1
11
0
-12
0
1
0
2
0
12
0
7
-4
-15
3
0
0
-7
0
11
-4
4
8
-1
4
-11
0
0
5
0
0
15
4
0
0
24.
-1211
1
15
2
5
5
4
11
0
5
5
7
3
5
4
4
8
3
3
11
0
1
2
3
4
5
0
0
-11
0
0
-12
0
1
11
0
-12
0
1
0
2
0
12
0
7
-0
-19
3
0
0
-7
0
11
-4
4
12
-1
0
-11
0
0
5
0
0
19
4
0
0
25.
-1211
1
19
2
5
1
11
0
5
9
7
3
1
4
4
12
3
3
11
0
1
2
3
4
5
0
0
-11
0
0
-12
0
1
11
0
-12
0
1
0
2
0
12
0
7
-0
-19
3
0
0
-7
0
11
-4
4
12
-1
0
-11
0
0
5
0
0
19
4
0
0
26.
00
-11
0
0
-12
0
0
1
2
3
4
5
1
11
0
-12
0
1
0
1
2
0
12
0
7
-0
-19
12
3
0
0
-7
0
11
-4
4
12
-1
0
-11
0
0
2
11
0
5
0
0
19
4
0
0
19
5
1
7
12
4
4
11
3