
25 Лекция № 24. Сети
Продолжительность:2 часа (90 мин.)
25.1 Ключевые вопросы
25 Лекция № 24. Сети 1
25.1 Ключевые вопросы 1
25.2 Текст лекции 1
25.2.1 Сети 1
25.2.2 Максимальный поток в минимальном разрезе 2
25.2.3 Алгоритм нахождения максимального потока 4
25.2.4 Результаты исследования сети 8
25.2.5 Вопросы для контроля 8
25.2 Текст лекции
25.2.1 Сети
Сеть Nесть связный ориентированный (не обязательно) граф, который не имеет петель и удовлетворяет следующим условиям:
1. Существует только одна вершина с нулевой полустепенью захода; эта вершина называется источником и обозначается через s.
2. Существует только одна вершина с нулевой полустепенью исхода; эта вершина называется стоком и обозначается через t.
3. Каждой дуге e= (i,j) в сетиNпоставлено в соответствие неотрицательное вещественное число, называемое пропускной способностью дуги и обозначаемое черезс(е) илиc(i,j), гдеiиj вершины сети. Если не существует дугие, ориентированной изi вj, тоc(e)= 0.
Сеть представляет собой, например, модель сети передачи информации от источника до потребителя через связывающие их информационные каналы.
Пропускная способность дуги может рассматриваться как максимальный допустимый объем информации, передаваемый по дуге в единицу времени.
Потоком fв сетиNявляется функция, сопоставляющая каждой дугеe =(i,j) вещественное числоf(e) = f(i, j) так, что удовлетворяются следующие условия:
1. 0f(i,j)
c(i,j) для любой дуги (i,
j) вN.
2.
суммы берутся по всемjдля всех
.
Значение потока f(e) в дугееможно рассматривать как фактический объем информации, передаваемый черезев единицу времени, при потоке в сети f.
Условие 1, называемое ограничением по пропускной способности, требует, чтобы объем фактически передаваемой информации через дугу не превосходил ее пропускной способности и был положительным.
Условие 2, называемое условием сохранения, требует, чтобы для каждой вершины i, исключая источник и сток, объем поступающей информации в вершину в единицу времени был равен объему, удаляемому из нее.
Пример сети Nс потокомfпредставлен на рис. 25.1. На нем рядом с каждой дугойеприведены пропускная способностьс(е) и потокf(e) в указанном порядке.
Рисунок
25.1
Величина потока в сети f, обозначаемая черезval(f), определяется выражением
,
где сумма берется по всем дугам, выходящим из источника s.
Используя условие сохранения, можно записать
=
Это подтверждение интуитивно очевидного факта, что ввиду условия сохранения общее количество информации, выходящей из источника, равно общему количеству информации, входящей в сток.
Говорят, что поток f* в сетиNмаксимален, если не существует такого потокаfвN, чтоval(f)>val(f*).
25.2.2 Максимальный поток в минимальном разрезе
Будем
говорить, что разрез <>в сетиN разделяет источникsи стокt,если
.Такой разрез будем называтьs–tразрезом. (Здесь
и
подмножества вершин сети, причем
=V\S.)
Пропускная
способность разреза K= <>
определяется выражением
с(K) =с()=
.
Здесь
начала дуг принадлежат подмножеству
S, а концы подмножеству.
Отметим, что пропускная способность
дуг, которые ориентированы из
в S, не влияет на пропускную способность
разрезаK= <
>.
Обозначим
через f()
сумму потоков в дугах, ориентированных
изSв
.
Величинаf(
)
определяется аналогично.
Например,
рассмотрим разрез K= <>
в сети, изображенной на рис. 25.1,
гдеS= {а,b,с, s} и
={d,t}.
Дугами,
ориентированными из Sв,
являются дугиe3,e4,e8.
Из
в Sориентирована только дугаe9.
Следовательно, пропускная способность
разреза будет равна
c()
=с(e3) +с(e4) +с(e8)
= 3+2+6 = 11,
поток через разрез в прямом направлении будет равен
f()
= f(e3)
+ f(e4)
+ f(e8)
= 2+2+4 =8,
поток через разрез в обратном направлении будет равен
f()
= f(e9)
= 2.
Для
любого потока fи
любогоs–tразреза <>
в сетиNвеличина потока через разрез
равна
val(f)
= f()
– f(
)
и val(f)
c(
).
Для нашего примера
val(f)= f()
– f(
)=
8 – 2 = 6.
Дугу
(i,j)
будем называть насыщенной, еслиf(i,j) =c(i,j), и ненасыщенной в
противном случае (всегдаf(i,j)c(i,
/)).
Дуга
будет положительной, если f(i,j)
> 0, и нулевой, еслиf(i,j) = 0 (всегдаf(i,j)0).
Пусть последовательность
P:s,e1,u1,e2,u2,…,ek,uk=v
является цепью в сети Nиз источникаsв какую–либо вершинуv.
Отметим, что Р– необязательно ориентированный путь.
Дуга eiцепиРназывается прямой дугой, если она ориентирована изui–1вui.Иначе она называется обратной дугой цепи Р.
В общем случае дуги в цепи могут быть как прямыми, так и обратными. Если в цепи все дуги прямые, то цепь называется путем.
Для каждой дуги eiцепиР определим величину
Поставим
в соответствие цепи Рнеотрицательное
число,
определяемое выражением
.
Назовем цепь ненасыщенной, если все её прямые дуги являются ненасыщенными, а все обратные дуги – положительными.
Цепь
насыщена, если, по крайней мере, одна
из её дуг (прямая или обратная) имеет
s–t
цепь Рназывается дополняющей,
если она является ненасыщенной. Дляs–t
цепи Рнеравенство>0
справедливо тогда и только тогда, когда
она является дополняющей.
Для
дополняющей s–t
цепиРв сетиNможно определить
новый потокследующим образом:
В дугах, не принадлежащих цепи P, поток не изменяется.
Очевидно, что val()
=val(f) +
.
Таким
образом, val()
>val(f)
тогда и только тогда, когдаРявляется
дополняющей цепью. Другими словами,
потокfне максимален,
если в сети существует дополняющая
цепь.
В качестве примера рассмотрим сеть N, изображенную на рис. 25.1.
Пусть поток f будет таким, каким он показан на этом рисунке. В цепиР, состоящей изе2, е5, е7ие8, дугие2, е7 ие8 –прямые, ае5– единственная обратная дуга. По отношению к потокуfимеем
=
1,
=
1,
=
1,
=
2.
Следовательно,
Так как
>0,
тоРявляется дополняющей цепью.
Измененный
на цепи Рпотокпредставлен на рис. 25.2. Отметим, что
получен увеличением потока на всех
прямых дугахРна величину
и его уменьшением на обратной дугеРна величину
.
Потоки в остальных дугах остаются
неизменными.
Поток в сети называется полным, если любой s–tпуть содержит, по крайней мере, одну насыщенную дугу. Полный поток не обязательно максимальный, иначе говоря, нельзя увеличить поток сети до максимального, рассматривая только пути. Иногда это можно сделать, рассматриваяs–tцепи.
Рисунок
25.2
Поток в транспортной сети Nмаксимален тогда и только тогда, когда в сети нет не только дополняющих путей, но и дополняющих цепей.
Дополняющих
цепей в сети нет, если во всех возможных
цепях между sиt
имеется хотя бы одна насыщенная или
нулевая дуга. (Такие дуги имеют).
Эти дуги всех возможных цепей (по одной
дуге в цепи, если их несколько) образуют
разрез сети, разделяющийsиt. Если бы это было
не так, то существовала бы какая–нибудь
дополняющая цепь.
Суммарная пропускная способность этого разреза будет минимальной, так как в каждой цепи насыщаются дуги с минимальными пропускными способностями.
Разрез с минимальной суммарной пропускной способностью называется минимальным разрезом.
Поскольку все s–tцепи насыщены, то поток в сети не может быть увеличен, следовательно, он максимален. Таким образом, величина максимального потока в сети равна пропускной способности минимального разреза.