Потоки в сетях Теорема о максимальном потоке и минимальном разрезе Лекция 6.

Презентация:



Advertisements
Похожие презентации
Алгоритмы на графах. Задача о максимальном потоке в сетях Требуется от источника к стоку передать максимальное количество энергии. В условиях задачи о.
Advertisements

Остовные деревья Лекция 4. Задача «Минимальное остовное дерево» Дано: Граф G, веса c: E(G) R. Найти остовное дерево в G наименьшего веса или определить,
Алгоритм Эдмондса Лекция 11. Идея алгоритма Эдмондса Пусть есть некоторое паросочетание M, построим M-чередующийся лес F. Начинаем с множества S вершин.
M-чередующаяся декомпозиция Лекция 10. Нечетная декомпозиция Теорема 9.7 (Lovász [1972] ) Граф является фактор-критическим тогда и только тогда, когда.
Алгоритмы сканирования и обхода Лекция 3. Алгоритм сканирования графа Input: Орграф (граф) G и вершина s. Output: Множество R вершин, достижимых из s,
Графы Лекция 2. Графы Неориентированным графом (графом) называется тройка (V, E, ), где V и E конечные множества и {X V : | X | = 2}. Ориентированным.
Линейное программирование Задача теории расписаний.
Задача о максимальном потоке в сети Алгоритм Фалкерсона-Форда.
ПОТОКИ В СЕТЯХ. Определения Сеть - связный ориентированный граф G = (V, A) без петель и мультидуг, с 1 источником s V и 1 стоком t V. (Запретим одновременное.
Матроиды Лекция 12. Введение Даны система множеств (E, F ), то есть конечное множество E, F 2 E и стоимостная функция c : F R, найти элемент из F, стоимость.
Задача о наибольшем паросочетании в двудольном графе Автор: Воробьева Елена 2002 год.
Транспортные сети ХНУРЭ, кафедра ПО ЭВМ, Тел , Лекция 15 Н.В. Белоус Факультет компьютерных наук Кафедра ПО ЭВМ,
Введение в теорию сетевого планированияВведение в теорию сетевого планирования.
Кратчайшие пути Лекция 5. Задача «Кратчайший путь» Дано: Орграф G, веса c: E(G) R и две вершины s, t V(G). Найти s-t-путь минимального веса.
Фактор-критические графы Лекция 9. Необходимость Необходимое условие для графа иметь совершенное паросочетание – это четное число вершин в каждой компоненте.
1 Комбинаторные алгоритмы Задача о k-центрах. 2 Метрическая задача o k центрах Дано: Полный граф G = (V, E), стоимости ребер cost: E Q + такие, что для.
Максимальный поток Лекци и 20 – 21. Максимальный поток Рассмотрим ориентированный граф. Будем рассматривать его как сеть труб, по которым некоторое вещество.
§5. Некоторые теоретико-числовые приложения комбинаторики Определение 1. Натуральное число называется простым, если оно имеет ровно два разных делителя:
Паросочетания в двудольных графах Лекция 8. Паросочетание Паросочетанием в графе G называется множество попарно несмежных ребер.
Линейное программирование Задача о покрытии. Задача «Покрытие» Дано: Совокупность U из n элементов, и набор подмножеств U, Ω = {S 1,…, S k }, и веса(стоимости)
Транксрипт:

Потоки в сетях Теорема о максимальном потоке и минимальном разрезе Лекция 6

Сеть Ориентированный граф G с пропускными способностями дуг u: E(G) R + и две выделенные вершины s (источник) и t (сток). Четверка (G, u, s, t) называется сетью. Главная задача транспортировать так много единиц продукта, как возможно, одновременно из s в t. Решение этой задачи назовем максимальным потоком.

Поток Определение 6.1. Дан орграф G с пропускными способностями (вместимостями) u: E(G) R +, потоком называется функция f : E(G) R + с f(e) u(e) для всех e E(G). Будем говорить, что f удовлетворяет закону сохранения в вершине v, если Поток, удовлетворяющий закону сохранения в каждой вершине называется циркуляцией.

s-t-Поток Дана сеть (G, u, s, t), s-t-потоком называется поток, удовлетворяющий закону сохранения во всех вершинах кроме s и t. Определим величину s-t-потока функцией

Задача «Максимальный Поток» Дано: Сеть (G, u, s, t). Найти s-t-поток максимальной величины.

s-t-Разрез s-t-разрез в графе разрез X для некоторого X V(G) с s X и t V(G)\ X. пропускной способностью s-t-разреза называется сумма вместимостей его дуг (ребер). Под минимальным s-t-разрезом в (G,u,s,t) мы понимаем s-t-разрез с минимальной пропускной способностью (относительно u) в G.

s-t-Поток и s-t-разрез Лемма 6.2 Для всех A V(G) таких, что s A, t A, и любого s-t-потока f. Величина максимального потока не превосходит пропускной способности минимального разреза.

Доказательство (а)

s-t-Поток и s-t-разрез Лемма 6.2 Для всех A V(G) таких, что s A, t A, и любого s-t-потока f.

Обратные дуги и остаточные пропускные способности Определение 6.3 Для орграфа G определим Ğ:=(V(G), E(G) U {ĕ: e E(G)}), где для каждого e = (v,w) E(G) определим ĕ как новое ребро из w в v. Назовем ĕ обратной дугой к e и, наоборот. Заметим, что если e = (v,w), e = (w,v), то ĕ и e два параллельных ребра в Ğ. Дан орграф G с вместимостями u: E(G) R + и поток f, определим остаточные пропускные способности u f : E(Ğ) R + как u f (e):= u(e) f (e) и u f (ĕ) := f (e) для всех e E(G). Остаточным графом G f называется граф (V(G), {e E(Ğ): u f (e) > 0}).

Остаточный граф S t S t G GfGf

Увеличивающий Путь Даны поток f и путь (или цикл) P в G f, увеличение f вдоль P на γ означает следующее для каждой e E(P): если e E(G), то увеличим f(e) на γ, если e = ĕ 0, e 0 E(G), то уменьшим f(e 0 ) на γ. Дана сеть (G, u, s, t) и s-t-поток f, f–увеличивающим путем называется s-t-путь в остаточном графе G f.

Увеличивающий Путь S t S t G GfGf S t

Алгоритм Форда-Фалкерсона Input: Сеть (G, u, s, t). Output: s-t-поток f максимальной величины. 1.Положим f(e) = 0 для всех e E(G). 2.Найти f-увеличивающий путь P. If такого пути нет then stop. 3.Вычислить Увеличить f вдоль P на γ и go to 2.

Замечание Найти увеличивающий путь легко (любой s-t-путь в G f ). Если выбирать произвольный увеличивающий путь в G f, то –Существует пример с иррациональными вместимостями дуг, когда алгоритм никогда не остановится. –Существует пример с целыми вместимостями дуг, на котором алгоритм производит экспоненциальное от размера входа число увеличений.

Пример c бесконечным числом итераций (все линии представляют ребра, то есть поток может идти в оба направления) S t u(x 1, y 1 )=1, u(x 2, y 2 )=σ, u(x 3, y 3 )= u(x 4, y 4 )= σ 2 x1x1 y1y1 x2x2 x3x3 x4x4 y2y2 y3y3 y4y4 Пропускная способность остальных ребер 1/(1- σ).

Упражнение 6.1 Показать, что для сети из предыдущего примера алгоритм Форда-Фалкерсона может работать бесконечно долго.

Целочисленный пример c экспоненциальным числом итераций S t R R R R 1 2R итераций. Длина входа O(log R).

Характеризация максимального потока Теорема 6.4 s-t-Поток f является максимальным тогда и только тогда, когда в G f не существует f-увеличивающего пути.

Доказательство Пусть в G f не существует f-увеличивающего пути. t не достижимо в G f из s. Пусть R множество вершин, достижимых из s в G f. По определению G f имеем f(e) = u(e) для всех e + (R), и f(e) = 0 для всех e – (R). Лемма 6.2 a) Лемма 6.2 b) f максимальный поток.

Замечание В частности, из доказательства следует, что каждому максимальному потоку соответствует s-t-разрез, пропускная способность которого равна величине потока. Вместе с леммой 6.2 b) это влечет центральный результат теории потоков в сети.

Максимальный поток и минимальный разрез Теорема 6.5 (Форд, Фалкерсон [1956], Элиас, Файнштайн, Шэннон [1956] ) Величина максимального s-t-потока равна пропускной способности минимального s-t-разреза.

Теорема о целочисленном потоке Следствие 6.6 Если пропускные способности дуг в сети целые числа, то существует целочисленный максимальный поток.

Упражнение 6.2 Поcтроить пример сети, в которой вместимости дуг целые числа, и существует нецелочисленный максимальный поток.

Теорема о Декомпозиции Потока Теорема 6.7 (Фалкерсон [1962] ) Пусть (G, u, s, t) сеть и f s-t-поток в G. Тогда существует семейство P s-t-путей и семейство C циклов в G с весами w: P U C R + таких, что f(e) = Σ P P U C: e E(P) w(P) для всех e E(G), Σ P P w(P) = value( f ), и | P | + | C | | E(G)|. Более того, если f целочисленный поток, то w может быть выбрано целочисленным.

Доказательство Построим P, C и w индукцией по числу дуг с ненулевым потоком. Пусть e=(v 0,w 0 ) дуга с f(e) > 0. Если w 0 t, то должна быть дуга (w 0,w 1 ) c ненулевым потоком. Положим i = 1. Если w 0 {t,v 0,w 0,…, w i–1 }, то STOP. Иначе i = i +1 и продолжаем. Если процесс завершится в t, то проделаем тоже самое в обратном направлении, стартуя с v 0.

Иллюстрация доказательства t s v0v0 w0w0 w1w1 w2w2 w3w3 t s v0v0 w0w0 w1w1 w2w2 w3w3 v1v1 v2v2

Доказательство Пусть P будет цикл или путь, найденный в результате описанной процедуры. w(P) = min e E(P) f(e) Положим f '(e) = f(e) – w(P) для e E(P) и f '(e) = f(e) для e E(P). По крайней мере, одна дуга обнулилась и добавился ровно один путь или цикл. Величина потока вдоль дуг из P уменьшилась на величину w(P). Если P цикл, то величина s-t-потока не изменилась. Если P путь, то величина s-t-потока уменьшилась на w(P).

Теорема о Декомпозиции Потока Теорема 6.7 (Фалкерсон [1962] ) Пусть (G, u, s, t) сеть и f s-t-поток в G. Тогда существует семейство P s-t-путей и семейство C циклов в G с весами w: P U C R + таких, что f(e) = Σ P P U C: e E(P) w(P) для всех e E(G), Σ P P w(P) = value( f ), и | P | + | C | | E(G)|. Более того, если f целочисленный поток, то w может быть выбрано целочисленным.

Упражнение 6.2 Доказать следующую теорему Теорема (Хоффман 1960) Задан орграф G и нижние и верхние оценки на пропускные способности дуг l, u: E(G) R + c l(e) u(e) для всех e E(G). В орграфе G существует циркуляция f с l(e) f(e) u(e) для всех e E(G) тогда и только тогда, когда