🗊 Презентация Потоковые Алгоритмы. Лекция 7

Нажмите для полного просмотра!
Потоковые Алгоритмы. Лекция 7, слайд №1 Потоковые Алгоритмы. Лекция 7, слайд №2 Потоковые Алгоритмы. Лекция 7, слайд №3 Потоковые Алгоритмы. Лекция 7, слайд №4 Потоковые Алгоритмы. Лекция 7, слайд №5 Потоковые Алгоритмы. Лекция 7, слайд №6 Потоковые Алгоритмы. Лекция 7, слайд №7 Потоковые Алгоритмы. Лекция 7, слайд №8 Потоковые Алгоритмы. Лекция 7, слайд №9 Потоковые Алгоритмы. Лекция 7, слайд №10 Потоковые Алгоритмы. Лекция 7, слайд №11 Потоковые Алгоритмы. Лекция 7, слайд №12 Потоковые Алгоритмы. Лекция 7, слайд №13 Потоковые Алгоритмы. Лекция 7, слайд №14 Потоковые Алгоритмы. Лекция 7, слайд №15 Потоковые Алгоритмы. Лекция 7, слайд №16 Потоковые Алгоритмы. Лекция 7, слайд №17 Потоковые Алгоритмы. Лекция 7, слайд №18 Потоковые Алгоритмы. Лекция 7, слайд №19 Потоковые Алгоритмы. Лекция 7, слайд №20 Потоковые Алгоритмы. Лекция 7, слайд №21 Потоковые Алгоритмы. Лекция 7, слайд №22 Потоковые Алгоритмы. Лекция 7, слайд №23 Потоковые Алгоритмы. Лекция 7, слайд №24 Потоковые Алгоритмы. Лекция 7, слайд №25 Потоковые Алгоритмы. Лекция 7, слайд №26 Потоковые Алгоритмы. Лекция 7, слайд №27 Потоковые Алгоритмы. Лекция 7, слайд №28 Потоковые Алгоритмы. Лекция 7, слайд №29 Потоковые Алгоритмы. Лекция 7, слайд №30 Потоковые Алгоритмы. Лекция 7, слайд №31 Потоковые Алгоритмы. Лекция 7, слайд №32 Потоковые Алгоритмы. Лекция 7, слайд №33 Потоковые Алгоритмы. Лекция 7, слайд №34 Потоковые Алгоритмы. Лекция 7, слайд №35 Потоковые Алгоритмы. Лекция 7, слайд №36 Потоковые Алгоритмы. Лекция 7, слайд №37 Потоковые Алгоритмы. Лекция 7, слайд №38 Потоковые Алгоритмы. Лекция 7, слайд №39 Потоковые Алгоритмы. Лекция 7, слайд №40 Потоковые Алгоритмы. Лекция 7, слайд №41 Потоковые Алгоритмы. Лекция 7, слайд №42 Потоковые Алгоритмы. Лекция 7, слайд №43 Потоковые Алгоритмы. Лекция 7, слайд №44 Потоковые Алгоритмы. Лекция 7, слайд №45 Потоковые Алгоритмы. Лекция 7, слайд №46 Потоковые Алгоритмы. Лекция 7, слайд №47 Потоковые Алгоритмы. Лекция 7, слайд №48 Потоковые Алгоритмы. Лекция 7, слайд №49 Потоковые Алгоритмы. Лекция 7, слайд №50 Потоковые Алгоритмы. Лекция 7, слайд №51 Потоковые Алгоритмы. Лекция 7, слайд №52 Потоковые Алгоритмы. Лекция 7, слайд №53 Потоковые Алгоритмы. Лекция 7, слайд №54 Потоковые Алгоритмы. Лекция 7, слайд №55 Потоковые Алгоритмы. Лекция 7, слайд №56 Потоковые Алгоритмы. Лекция 7, слайд №57 Потоковые Алгоритмы. Лекция 7, слайд №58 Потоковые Алгоритмы. Лекция 7, слайд №59

Содержание

Вы можете ознакомиться и скачать презентацию на тему Потоковые Алгоритмы. Лекция 7. Доклад-сообщение содержит 59 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Потоковые Алгоритмы Лекция 7
Описание слайда:
Потоковые Алгоритмы Лекция 7

Слайд 2


Единичные пропускные способности Пусть пропускные способности всех дуг равны между собой и равны 1. Тогда целочисленный s-t-поток можно рассматривать...
Описание слайда:
Единичные пропускные способности Пусть пропускные способности всех дуг равны между собой и равны 1. Тогда целочисленный s-t-поток можно рассматривать как набор непересекающихся по дугам (ребрам) s-t-путей.

Слайд 3


Первая Теорема Менгера Theorem 7.1 (Menger [1927] ) Пусть G ― граф (ориентированный или неориентированный), пусть s и t две вершины и k N. Тогда...
Описание слайда:
Первая Теорема Менгера Theorem 7.1 (Menger [1927] ) Пусть G ― граф (ориентированный или неориентированный), пусть s и t две вершины и k N. Тогда существует k реберно-непересекающихся s-t-путей, тогда и только тогда, когда после удаления любых k – 1 ребер t остается достижима из s.

Слайд 4


Доказательство (для орграфа) Пусть (G, u, s, t) ― сеть с u ≡1, такая что t достижима после удаления любых k – 1 дуг. Тогда минимальным s-t-разрез...
Описание слайда:
Доказательство (для орграфа) Пусть (G, u, s, t) ― сеть с u ≡1, такая что t достижима после удаления любых k – 1 дуг. Тогда минимальным s-t-разрез имеет пропускную способность по крайней мере k. По теореме 6.5 существует целочисленный поток величины по крайней мере k. По теореме 6.7 этот поток можно разложить в целочисленные потоки на s-t-путях. Так как u ≡1 получаем по крайней мере k s-t-путей.

Слайд 5


Доказательство (для графа)
Описание слайда:
Доказательство (для графа)

Слайд 6


Пути, непересекающиеся по вершинам Будем говорить, что два пути вершинно-непересекающиеся если они не имеют общих ребер и общих внутренних вершин...
Описание слайда:
Пути, непересекающиеся по вершинам Будем говорить, что два пути вершинно-непересекающиеся если они не имеют общих ребер и общих внутренних вершин (они могут иметь одну или две общих граничных точки).

Слайд 7


Вторая Теорема Менгера Theorem 7.2 (Menger [1927] ) Пусть G ― граф (ориентированный или неориентированный), пусть s и t две несмежные вершины и k N....
Описание слайда:
Вторая Теорема Менгера Theorem 7.2 (Menger [1927] ) Пусть G ― граф (ориентированный или неориентированный), пусть s и t две несмежные вершины и k N. Тогда существует k вершинно-непересекающихся s-t-путей, тогда и только тогда, когда после удаления любых k – 1 вершин (отличных от s и t) t остается достижима из s.

Слайд 8


Доказательство
Описание слайда:
Доказательство

Слайд 9


k-связные графы Граф с более чем k вершинами и свойством, что он остается связным после удаления любого множества из k−1 вершины называется...
Описание слайда:
k-связные графы Граф с более чем k вершинами и свойством, что он остается связным после удаления любого множества из k−1 вершины называется k-связным. Граф с не менее чем двумя вершинами называется k-реберно-связным, если он остается связным после удаления любого множества из k−1 ребра.

Слайд 10


Характеризация k-связных графов Следствие 7.3 ( Уитни [1932] ) Граф G с не менее чем двумя вершинами является k-реберно-связным тогда и только тогда,...
Описание слайда:
Характеризация k-связных графов Следствие 7.3 ( Уитни [1932] ) Граф G с не менее чем двумя вершинами является k-реберно-связным тогда и только тогда, когда для каждой пары s, t V(G) с s ≠ t существует k реберно-непересекающихся s-t-путей. Граф G с не менее чем k вершинами является k- связным тогда и только тогда, когда для каждой пары s, t V(G) с s ≠ t существует k вершинно-непересекающихся s-t-путей.

Слайд 11


Доказательство Первое утверждение прямо следует из теоремы 7.1. Если граф не является k-связным, то существуют вершины s и t и множество X из k −1...
Описание слайда:
Доказательство Первое утверждение прямо следует из теоремы 7.1. Если граф не является k-связным, то существуют вершины s и t и множество X из k −1 вершины, такие, что в графе нет s-t-пути после удаления множества X.  в графе нет k вершинно-непересекающихся s-t-путей. Пусть в G есть две вершины s и t для которых нет k вершинно-непересекающихся s-t-путей. Если s и t не смежны, то теорема 7.2  существует множество X из k −1 вершины, такое, что после его удаления в G нет s-t-пути.  G не является k-связным.

Слайд 12


Доказательство (s и t смежны) Пусть s и t соединено множеством F параллельных ребер. Тогда в G – F нет k – |F| вершинно-непересекающихся s-t-путей....
Описание слайда:
Доказательство (s и t смежны) Пусть s и t соединено множеством F параллельных ребер. Тогда в G – F нет k – |F| вершинно-непересекающихся s-t-путей. (|F| ≥ 1) Теорема 7.2  существует множество X из k − |F| – 1 вершины, такое, что после его удаления в G нет s-t-пути. Существует вершина v, которая не достижима в G – F – X, либо из s, либо из t. Пусть из t. Добавляя s к X, получаем разделяющее множество вершин мощности не более k – 1.  G не является k-связным.

Слайд 13


Задача «Ориентированные реберно-непересекающиеся пути» Дано: Два орграфа (G, H) на одном множестве вершин. Найти семейство (Pf)fE(H)...
Описание слайда:
Задача «Ориентированные реберно-непересекающиеся пути» Дано: Два орграфа (G, H) на одном множестве вершин. Найти семейство (Pf)fE(H) реберно-непересекающихся путей в G таких, что для каждого ребра(дуги) f = (t, s) в H, Pf ― s-t-путь. Такое семейство называется решением (G, H).

Слайд 14


Разрешимый случай Предложение 7.4 Пусть (G, H) пример задачи «Ориентированные реберно-непересекающиеся пути» такой, что H является множеством...
Описание слайда:
Разрешимый случай Предложение 7.4 Пусть (G, H) пример задачи «Ориентированные реберно-непересекающиеся пути» такой, что H является множеством параллельных ребер и G + H ― эйлеров граф. Тогда (G, H) имеет решение.

Слайд 15


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

Слайд 16


Лемма Лемма 7.5 Пусть f1, f2, ... последовательность потоков, таких что fi+1 получается из fi увеличением потока вдоль Pi, где Pi ― кратчайший...
Описание слайда:
Лемма Лемма 7.5 Пусть f1, f2, ... последовательность потоков, таких что fi+1 получается из fi увеличением потока вдоль Pi, где Pi ― кратчайший fi-увеличивающий путь. Тогда a) |E(Pk)| ≤ | E(Pk+1)| для всех k. b) |E(Pk)| + 2 ≤ |E(Pl)| для всех k < l таких, что Pk⋃Pl содержит пару обратных дуг.

Слайд 17


|E(Pk)| ≤ | E(Pk+1)| для всех k Рассмотрим граф G1, который получается из Pk Pk+1 удалением обратных дуг. (Дуги, появляющиеся в обоих путях, берутся...
Описание слайда:
|E(Pk)| ≤ | E(Pk+1)| для всех k Рассмотрим граф G1, который получается из Pk Pk+1 удалением обратных дуг. (Дуги, появляющиеся в обоих путях, берутся дважды).

Слайд 18


Граф G1
Описание слайда:
Граф G1

Слайд 19


Доказательство a) Рассмотрим граф G1, который получается из Pk Pk+1 удалением обратных дуг. (Дуги, появляющиеся в обоих путях, берутся дважды). Так...
Описание слайда:
Доказательство a) Рассмотрим граф G1, который получается из Pk Pk+1 удалением обратных дуг. (Дуги, появляющиеся в обоих путях, берутся дважды). Так как для любой дуги в E(Gfk)\E(Gfk+1) путь Pk должен содержать обратную ей дугу, то E(G1)  E(Gfk).

Слайд 20


Остаточные графы
Описание слайда:
Остаточные графы

Слайд 21


|E(Pk)| ≤ | E(Pk+1)| для всех k Рассмотрим граф G1, который получается из Pk Pk+1 удалением обратных дуг. (Дуги, появляющиеся в обоих путях, берутся...
Описание слайда:
|E(Pk)| ≤ | E(Pk+1)| для всех k Рассмотрим граф G1, который получается из Pk Pk+1 удалением обратных дуг. (Дуги, появляющиеся в обоих путях, берутся дважды). Так как для любой дуги в E(Gfk)\E(Gfk+1) путь Pk должен содержать обратную ей дугу, то E(G1)  E(Gfk). Пусть H1 состоит из двух копий (t,s). Тогда G1+ H1 Эйлеров.

Слайд 22


G1+ H1
Описание слайда:
G1+ H1

Слайд 23


|E(Pk)| ≤ | E(Pk+1)| для всех k Рассмотрим граф G1, который получается из Pk Pk+1 удалением обратных дуг. (Дуги, появляющиеся в обоих путях, берутся...
Описание слайда:
|E(Pk)| ≤ | E(Pk+1)| для всех k Рассмотрим граф G1, который получается из Pk Pk+1 удалением обратных дуг. (Дуги, появляющиеся в обоих путях, берутся дважды). Так как для любой дуги в E(Gfk)\E(Gfk+1) путь Pk должен содержать обратную ей дугу, то E(G1)  E(Gfk). Пусть H1 состоит из двух копий (t,s). Тогда G1+ H1 Эйлеров. Предложение 7.4   два реберно-непересекающихся пути Q1 и Q2. E(G1)  E(Gfk)  Q1 и Q2 увеличивающие пути в Gfk.

Слайд 24


|E(Pk)| ≤ | E(Pk+1)| для всех k Pk был выбран кратчайшим путем. |E(Pk)| ≤ |E(Q1)| и |E(Pk)| ≤ |E(Q2)|. 2|E(Pk)| ≤ |E(Q1)| + |E(Q2)| ≤ |E(G1)| ≤ ≤...
Описание слайда:
|E(Pk)| ≤ | E(Pk+1)| для всех k Pk был выбран кратчайшим путем. |E(Pk)| ≤ |E(Q1)| и |E(Pk)| ≤ |E(Q2)|. 2|E(Pk)| ≤ |E(Q1)| + |E(Q2)| ≤ |E(G1)| ≤ ≤ |E(Pk)| + |E(Pk+1)|. |E(Pk)| ≤ |E(Pk+1)|.

Слайд 25


|E(Pk)| + 2 ≤ |E(Pl)| для всех k < l таких, что Pk⋃Pl содержит пару обратных дуг Пусть k < l такие, что для любого i, k < i < l Pi  Pl не содержит...
Описание слайда:
|E(Pk)| + 2 ≤ |E(Pl)| для всех k < l таких, что Pk⋃Pl содержит пару обратных дуг Пусть k < l такие, что для любого i, k < i < l Pi  Pl не содержит обратных дуг. Рассмотрим граф G1, который получается из Pk Pl удалением обратных дуг. E(G1)  E(Gfk) E(Pk)  E(Gfk), E(Pl)  E(Gfl) Любая дуга в E(Gfl)\E(Gfk) должна быть обратной дуге в одном из путей Pk, Pk+1,…, Pl–1. По выбору k и l только Pk содержит обратные дуги. 2|E(Pk)| ≤ |E(Q1)| + |E(Q2)| ≤ |E(G1)| ≤ ≤ |E(Pk)| + |E(Pk+1)| – 2.

Слайд 26


Число увеличений Теорема 7.6 (Edmonds, Karp [1972] ) Алгоритм Эдмондса-Карпа остановится, сделав не более чем mn/2 увеличений, где m ― число ребер и...
Описание слайда:
Число увеличений Теорема 7.6 (Edmonds, Karp [1972] ) Алгоритм Эдмондса-Карпа остановится, сделав не более чем mn/2 увеличений, где m ― число ребер и n ― число вершин.

Слайд 27


Доказательство Пусть P1, P2,… увеличивающие пути, выбранные в алгоритме Эдмонса-Карпа. По выбору γ на шаге 3 алгоритма, каждый увеличивающий путь...
Описание слайда:
Доказательство Пусть P1, P2,… увеличивающие пути, выбранные в алгоритме Эдмонса-Карпа. По выбору γ на шаге 3 алгоритма, каждый увеличивающий путь содержит по крайней мере одну узкую дугу e: uf (e) = γ. Пусть Pi1, Pi2 ,… последовательность увеличивающих путей, в которых дуга e узкая. Тогда между Pij, Pij+1 должен быть увеличивающий путь Pк с обратной дугой к e.

Слайд 28


Доказательство Лемма 7.5 b)  |E(Pij)| + 4 ≤ |E(Pk)| + 2 ≤ |E(Pij+1)| для всех j. 1 ≤ |E(Pij)| ≤ n – 1   не более n/4 увеличивающих путей, в...
Описание слайда:
Доказательство Лемма 7.5 b)  |E(Pij)| + 4 ≤ |E(Pk)| + 2 ≤ |E(Pij+1)| для всех j. 1 ≤ |E(Pij)| ≤ n – 1   не более n/4 увеличивающих путей, в которых дуга e узкая. Так как любой увеличивающий путь содержит по крайней мере одну дугу из Ğ, как узкую, то  не более (n|E(Ğ)|)/4 =(mn)/2 увеличивающих путей.

Слайд 29


Время работы Алгоритма Эдмондса-Карпа Следствие 7.7 Алгоритм Эдмондса-Карпа решает Задачу «Максимальный Поток» за O(m2n) элементарных операций.
Описание слайда:
Время работы Алгоритма Эдмондса-Карпа Следствие 7.7 Алгоритм Эдмондса-Карпа решает Задачу «Максимальный Поток» за O(m2n) элементарных операций.

Слайд 30


Три Условия на Максимальный s-t-Поток Функция f : E(G) → R+ является максимальным s-t-потоком тогда и только тогда, когда выполнены следующие три...
Описание слайда:
Три Условия на Максимальный s-t-Поток Функция f : E(G) → R+ является максимальным s-t-потоком тогда и только тогда, когда выполнены следующие три условия: в Gf не существует f-увеличивающего пути.

Слайд 31


s-t-Предпоток Определение 7.8 Дана сеть (G, u, s, t), функция f : E(G) → R+ , удовлетворяющая f(e) ≤ u(e) для всех e  E(G) и Назовем вершину v ...
Описание слайда:
s-t-Предпоток Определение 7.8 Дана сеть (G, u, s, t), функция f : E(G) → R+ , удовлетворяющая f(e) ≤ u(e) для всех e  E(G) и Назовем вершину v  V(G)\{s,t} активной, если exf (v) > 0. s-t-Предпоток является s-t-потоком тогда и только тогда, когда нет активных вершин.

Слайд 32


Функция расстояний Определение 7.9 Даны сеть (G, u, s, t) и s-t-предпоток f . Функцией расстояния называется функция  : V(G) → Z+ такая, что  (t) =...
Описание слайда:
Функция расстояний Определение 7.9 Даны сеть (G, u, s, t) и s-t-предпоток f . Функцией расстояния называется функция  : V(G) → Z+ такая, что  (t) = 0,  (s) = n и  (v) ≤  (w) + 1 для всех (v, w)  E(Gf). Дуга e = (v, w)  E(Ğ) называется допустимой если e  E(Gf) и  (v) =  (w) + 1.

Слайд 33


Идея алгоритма В процессе работы алгоритм строит последовательность предпотоков и задает функцию расстояния на них. Алгоритм стартует с предпотока,...
Описание слайда:
Идея алгоритма В процессе работы алгоритм строит последовательность предпотоков и задает функцию расстояния на них. Алгоритм стартует с предпотока, который вдоль дуг, выходящих из s, равен их пропускным способностям и 0 вдоль остальных дуг и с функции расстояния  (s) = n и  (v) = 0 для всех v  V(G) \{s}. Алгоритм останавливается, когда в сети нет активных вершин.

Слайд 34


Алгоритм Проталкивания Предпотока Input: Сеть (G, u, s, t). Output: максимальный s-t-поток f. Set  (s) = n и  (v) = 0 для всех v  V(G) \{s}. Set...
Описание слайда:
Алгоритм Проталкивания Предпотока Input: Сеть (G, u, s, t). Output: максимальный s-t-поток f. Set  (s) = n и  (v) = 0 для всех v  V(G) \{s}. Set f(e) := u(e) для каждого e  δ+(s). Set f(e) := 0 для каждого e  E(G) \δ+(s). While существуют активные вершины do: Пусть v ― активная вершина If нет допустимой дуги e  δ+(v) then Relabel(v) else Push(e) ( e  δ+(v) произвольная допустимая дуга ) Push(e): 1) Set γ:= min{exf (v), uf (e)}, где v ― вершина с e  δ+(v). 2) Увеличим f вдоль e на γ. Relabel(v): Set  (v):= min{ (w)+1: e = (v, w)  E(Gf)}. ( (v) ↑)

Слайд 35


Потоковые Алгоритмы. Лекция 7, слайд №35
Описание слайда:

Слайд 36


Алгоритм Проталкивания Предпотока (2) Предложение 7.10 В процессе работы Алгоритма Проталкивания Предпотока f всегда является s-t-предпотоком и ...
Описание слайда:
Алгоритм Проталкивания Предпотока (2) Предложение 7.10 В процессе работы Алгоритма Проталкивания Предпотока f всегда является s-t-предпотоком и  всегда является функцией расстояния относительно f.

Слайд 37


Доказательство Предпоток изменяется только в процедуре Push. Так как γ:= min{exf (v), uf (e)}, то после процедуры Push f остается предпотоком. Так...
Описание слайда:
Доказательство Предпоток изменяется только в процедуре Push. Так как γ:= min{exf (v), uf (e)}, то после процедуры Push f остается предпотоком. Так как  (v):= min{ (w) + 1: e = (v, w)  E(Gf)}, то  остается функцией расстояния после процедуры Relable. Покажем, что после процедуры Push(e)  также остается функцией расстояния относительно нового предпотока.

Слайд 38


Доказательство Необходимо показать, что  (a) ≤  (b) + 1 для всех новых дуг (a, b) в Gf . Поскольку в процедуре Push(e) поток изменяется только...
Описание слайда:
Доказательство Необходимо показать, что  (a) ≤  (b) + 1 для всех новых дуг (a, b) в Gf . Поскольку в процедуре Push(e) поток изменяется только вдоль дуги e = (v, w), то новой в Gf может быть только одна дуга (w, v), обратная к e. Так как e была допустимой дугой, то  (w) =  (v) – 1 ≤  (v) + 1.

Слайд 39


Алгоритм проталкивания предпотока (3) Лемма 7.11 Если f ― s-t-предпоток и  функция расстояния относительно f, то s достижима из любой активной...
Описание слайда:
Алгоритм проталкивания предпотока (3) Лемма 7.11 Если f ― s-t-предпоток и  функция расстояния относительно f, то s достижима из любой активной вершины в Gf . t не достижима из s в Gf .

Слайд 40


Доказательство a) Пусть v активная вершина, и пусть R множество вершин достижимых из v в Gf . Тогда f(e) = 0 для всех e  δ −(R) в G. v – активная ...
Описание слайда:
Доказательство a) Пусть v активная вершина, и пусть R множество вершин достижимых из v в Gf . Тогда f(e) = 0 для всех e  δ −(R) в G. v – активная  exf (v) > 0  w  R, такая что exf (w) < 0 f – предпоток, то такая вершина может быть только s.

Слайд 41


Доказательство b) Пусть существует s-t-путь в Gf , например s = v0, v1, …, vk = t.  (vi) ≤  (vi+1) + 1, i = 0,…k – 1.  (s) ≤  (t) + k. Но  (s) =...
Описание слайда:
Доказательство b) Пусть существует s-t-путь в Gf , например s = v0, v1, …, vk = t.  (vi) ≤  (vi+1) + 1, i = 0,…k – 1.  (s) ≤  (t) + k. Но  (s) = n,  (t) = 0 и k ≤ n – 1.

Слайд 42


Алгоритм Проталкивания Предпотока (4) Теорема 7.12 Когда Алгоритм Проталкивания Предпотока останавливается, f является максимальным s-t-потоком.
Описание слайда:
Алгоритм Проталкивания Предпотока (4) Теорема 7.12 Когда Алгоритм Проталкивания Предпотока останавливается, f является максимальным s-t-потоком.

Слайд 43


Число вызовов процедуры Relabel Лемма 7.13 a) Для каждого v  V(G),  (v) строго возрастает при каждом выполнении процедуры Relabel(v), и никогда не...
Описание слайда:
Число вызовов процедуры Relabel Лемма 7.13 a) Для каждого v  V(G),  (v) строго возрастает при каждом выполнении процедуры Relabel(v), и никогда не убывает. На любом шаге алгоритма,  (v) ≤ 2n – 1 для всех v  V(G). Общее число вызовов процедуры Relabel не превышает 2n2.

Слайд 44


Процедура Push Процедура Push(e) называется проталкиванием, примененным к вершине v. Проталкивание называется насыщающим, если в результате ребро e...
Описание слайда:
Процедура Push Процедура Push(e) называется проталкиванием, примененным к вершине v. Проталкивание называется насыщающим, если в результате ребро e становится насыщенным, то есть если uf (e) обращается в нуль (ребро исчезает из остаточного графа); в противном случае проталкивание считают ненасыщающим.

Слайд 45


Число насыщающих проталкиваний Лемма 7.14 Число насыщающих проталкиваний не превышает mn.
Описание слайда:
Число насыщающих проталкиваний Лемма 7.14 Число насыщающих проталкиваний не превышает mn.

Слайд 46


Доказательство
Описание слайда:
Доказательство

Слайд 47


list(v) и curr(v) Для получения оценки O(n3) на число ненасыщающих проталкиваний мы должны выбрать порядок в котором применяются процедуры Push и...
Описание слайда:
list(v) и curr(v) Для получения оценки O(n3) на число ненасыщающих проталкиваний мы должны выбрать порядок в котором применяются процедуры Push и Relabel. Как обычно, предположим, что орграф G задан листом смежности, то есть для каждой вершины v указан список list(v) дуг выходящих из v. При этом указатель curr(v) указывает на один элемент в списке list(v) (вначале на первый элемент в списке).

Слайд 48


Алгоритм Голдберга-Тарьяна Input: Сеть (G, u, s, t). Output: Максимальный s-t-поток f. Set  (s) = n и  (v) = 0 для всех v  V(G) \{s}. Set f(e) :=...
Описание слайда:
Алгоритм Голдберга-Тарьяна Input: Сеть (G, u, s, t). Output: Максимальный s-t-поток f. Set  (s) = n и  (v) = 0 для всех v  V(G) \{s}. Set f(e) := u(e) для каждого e  δ+(s). Set f(e) := 0 для каждого e  E(G) \δ+(s). For всех v  V(G) do: curr(v):= первый элемент list(v) Set Q:={v  V(G): v ― активная }. If Q = ø then stop. For всех v  Q do: Discharge(v). Go to 4. Discharge(v) Set e:= curr(v). If e допустимо then Push(e) else do: If e последнее ребро в list(v) then Relabel(v), curr(v):= первый элемент list(v), return, else curr(v):= следующий элемент list(v). 3. If exf (v) > 0 then go to 1.

Слайд 49


Процедура Разгрузки Лемма 7.15 Процедура Discharge вызывает процедуру Relabel только, если v активна и нет допустимых ребер в +(v).
Описание слайда:
Процедура Разгрузки Лемма 7.15 Процедура Discharge вызывает процедуру Relabel только, если v активна и нет допустимых ребер в +(v).

Слайд 50


Процедура Разгрузки Discharge(v) Set e:= curr(v). If e допустимо then Push(e) else do: If e последнее ребро в list(v) then Relabel(v), curr(v):=...
Описание слайда:
Процедура Разгрузки Discharge(v) Set e:= curr(v). If e допустимо then Push(e) else do: If e последнее ребро в list(v) then Relabel(v), curr(v):= первый элемент list(v), return, else curr(v):= следующий элемент list(v). 3. If exf (v) > 0 then go to 1.

Слайд 51


Доказательство Вершина v всегда активна перед выполнением шага 2 процедуры Discharge(v).  Процедура Discharge вызывает процедуру Relabel только,...
Описание слайда:
Доказательство Вершина v всегда активна перед выполнением шага 2 процедуры Discharge(v).  Процедура Discharge вызывает процедуру Relabel только, если v активна. Осталось показать, что в момент вызова Relabel  (v) ≤  (w) . Рассмотрим произвольную дугу e =(v,w) E(Gf). С момента предыдущего вызова Relabel для вершины v весь список ее дуг был просмотрен. В частности, указатель curr (v) указывал и на дугу e. Поскольку, он ее покинул, то либо  (v) <  (w) + 1 либо e  E(Gf) и появилась в Gf позднее, когда проталкивался поток по дуге =(w,v) и  (w) =  (v) + 1 >  (v).

Слайд 52


Число ненасыщающих проталкиваний Лемма 7.16 Число ненасыщающих проталкиваний не превышает 4n3.
Описание слайда:
Число ненасыщающих проталкиваний Лемма 7.16 Число ненасыщающих проталкиваний не превышает 4n3.

Слайд 53


Доказательство Так как γ:= min{exf (v), uf (e)}, то на каждой итерации шага 5 может быть не более одного ненасыщающего проталкивания для каждой...
Описание слайда:
Доказательство Так как γ:= min{exf (v), uf (e)}, то на каждой итерации шага 5 может быть не более одного ненасыщающего проталкивания для каждой вершины. Покажем, что число итераций шага 5 ≤ 4n2. Разделим все итерации на итерации с запуском Relabel и без запуска. Лемма 7.13 с)  не более 2n2 итераций с Relabel

Слайд 54


Число итераций шага 5 без Relabel Пусть Ψ = max{ (v) : v - активная} Ψ = 0, если нет активных вершин. На каждой итерации без Relabel Ψ уменьшается...
Описание слайда:
Число итераций шага 5 без Relabel Пусть Ψ = max{ (v) : v - активная} Ψ = 0, если нет активных вершин. На каждой итерации без Relabel Ψ уменьшается минимум на 1. Пусть w – активная вершина после шага 5 без Relabel. Так как шаг 5 выполнялся для всех активных на тот момент вершин, то w стала активной в процессе этой итерации шага 5 по причине проталкивания потока по дуге (v,w). v была активной и  (v) =  (w) + 1 В начале и в конце алгоритма Ψ = 0  число итераций без Relabel не больше суммарной величины Δ на которое Ψ увеличивается в течение работы алгоритма. Так как увеличение Ψ соответствует увеличению  (v) в результате Relabel, то Δ ≤ 2n2 (по Лемме 7.13 ).

Слайд 55


Алгоритм Голдберга-Тарьяна Теорема 7.17 (Goldberg, Tarjan [1988]) Алгоритм Голдберга-Тарьяна определяет максимальный s-t-поток за время O(n3).
Описание слайда:
Алгоритм Голдберга-Тарьяна Теорема 7.17 (Goldberg, Tarjan [1988]) Алгоритм Голдберга-Тарьяна определяет максимальный s-t-поток за время O(n3).

Слайд 56


Задача «Разрез с минимальной пропускной способностью» Дано: Сеть (G, u, s, t). Найти s-t-разрез в G с минимальной пропускной способностью.
Описание слайда:
Задача «Разрез с минимальной пропускной способностью» Дано: Сеть (G, u, s, t). Найти s-t-разрез в G с минимальной пропускной способностью.

Слайд 57


Минимальный разрез Предложение 7.18 Задача «Разрез с минимальной пропускной способностью» может быть решена за то же самое время как и задача...
Описание слайда:
Минимальный разрез Предложение 7.18 Задача «Разрез с минимальной пропускной способностью» может быть решена за то же самое время как и задача «Максимальный Поток», в частности за время O(n3).

Слайд 58


Упражнение 7.1 Построить линейный алгоритм для задачи «Максимальный Поток», для случая когда G – t является ордеревом с корнем в s.
Описание слайда:
Упражнение 7.1 Построить линейный алгоритм для задачи «Максимальный Поток», для случая когда G – t является ордеревом с корнем в s.

Слайд 59


Упражнение 7.2 Задан ациклический орграф с весами с : E(G) → R+ , найти максимальный взвешенный ориентированный разрез в G. Показать как эта проблема...
Описание слайда:
Упражнение 7.2 Задан ациклический орграф с весами с : E(G) → R+ , найти максимальный взвешенный ориентированный разрез в G. Показать как эта проблема может быть сведена к задаче «Разрез с минимальной пропускной способностью» и решена за время O(n3).



Похожие презентации
Mypresentation.ru
Загрузить презентацию