Лекция 5. Графы. Примеры применений графов. Транспортная задача. Поток в сети, теорема Форда и Фалкерсона о величине максимального потока в сети. Алгоритм построения максимального потока в сети. Лектор - доцент Селезнева Светлана Николаевна Лекции по “Дискретным моделям”. Магистратура, 1-й курс, факультет ВМК МГУ имени М.В. Ломоносова Лекции на сайте http://mathcyb.cs.msu.su Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Определение графа Графом G называется пара (V , E ), где V = {v1 , v2 , . . . } – множество вершин; E = {e1 , e2 , . . . } – множество ребер, в котором каждое ребро ei есть пара вершин (vi1 , vi2 ), где vi1 , vi2 ∈ V . Если множества V и E – конечны, то граф называется конечным. Иначе, граф называется бесконечным. В множестве ребер E могут присутствовать ребра, составленные из одной и той же вершины: ei = (vi1 , vi1 ). Такие ребра называются петлями. В множестве ребер E могут присутствовать разные ребра, которым сопоставлена одна и та же пара вершин: ei = (vi1 , vi2 ) и ej = (vi1 , vi2 ), i 6= j. Такие ребра называются кратными. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Вершины, ребра и дуги Пусть ei = (vi1 , vi2 ) – ребро из множества ребер E . Говорят, что ребро ei соединяет вершины vi1 и vi2 , или вершины vi1 и vi2 инцидентны ребру ei . Если пара (vi1 , vi2 ) – не упорядочена, то ребро ei называется неориентированным. В этом случае, вершины vi1 и vi2 называются концами неориентированного ребра ei , или смежными (соседними) по ребру ei . Если пара (vi1 , vi2 ) – упорядочена, то ребро ei называется ориентированным, или дугой. В этом случае говорят, что дуга ei исходит из вершины vi1 и входит в вершину vi2 . Вершина vi1 называется началом, вершина vi2 называется концом дуги ei . Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Ориентированные и неориентированные графы Если в множестве ребер E все ребра не ориентированны, то граф G = (V , E ) называется неориентированным. Если в множестве ребер E все ребра ориентированны, то граф G = (V , E ) называется ориентированным. Можно рассматривать частично ориентированные графы, в которых часть ребер – ориентированна, а часть – нет. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Диаграмма графа Графы можно наглядно изображать в виде диаграмм. Вершины изображаются точками (или кружочками). Ребро ei = (vi1 , vi2 ) изображается линией, соединяющей вершины (точки) vi1 и vi2 . Если ei = (vi1 , vi2 ) – дуга, то на линиии указывается стрелка от vi1 к vi2 . Пусть G = (V , E ), где V = {1, 2, 3}, E = {e1 , e2 , e3 }, где e1 = (1, 2) – дуга, e2 = (1, 2) и e3 = (1, 3) – неориентированные ребра. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Диаграмма графа Графы можно наглядно изображать в виде диаграмм. Вершины изображаются точками (или кружочками). Ребро ei = (vi1 , vi2 ) изображается линией, соединяющей вершины (точки) vi1 и vi2 . Если ei = (vi1 , vi2 ) – дуга, то на линиии указывается стрелка от vi1 к vi2 . Пусть G = (V , E ), где V = {1, 2, 3}, E = {e1 , e2 , e3 }, где e1 = (1, 2) – дуга, e2 = (1, 2) и e3 = (1, 3) – неориентированные ребра. 3 u u 2 G : e3 1 u e1 e2 Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Путь в графе Путем (неориентированным) в графе G = (V , E ) из вершины vi0 в вершину vil называется последовательность вершин и ребер графа G вида vi0 ei1 vi1 ei2 vi2 . . . vil−1 eil vil , в которой для каждого j = 1, . . . , l или eij = (vij−1 , vij ) ∈ E , или eij = (vij , vij−1 ) ∈ E . При этом вершина vi0 называется началом пути, вершина vil называется концом пути. Число l ребер в пути называется его длиной. Если все ребра пути ориентированы правильно (то есть для всех j = 1, . . . , l верно eij = (vij−1 , vij ) ∈ E ), то путь называется ориентированным. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример В графе G последовательность 1e1 2e2 1e3 3 является ориентированным путем из вершины 1 в вершину 3 длины 3. Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример В графе G последовательность 1e1 2e2 1e3 3 является ориентированным путем из вершины 1 в вершину 3 длины 3. 3 u G: 1 u u 2 Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример В графе G последовательность 1e1 2e2 1e3 3 является ориентированным путем из вершины 1 в вершину 3 длины 3. 3 u u G: 1 u 2 Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример В графе G последовательность 1e1 2e2 1e3 3 является ориентированным путем из вершины 1 в вершину 3 длины 3. 3 u u G: 1 u 2 Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример В графе G последовательность 1e1 2e2 1e3 3 является ориентированным путем из вершины 1 в вершину 3 длины 3. 3 u u G: 1 u 2 Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Применение графов Графы находят многочисленные применения в приложениях и других областях знаний. В химии – в органической химии молекула вещества определяется не только атомным составом, но и строением, которое задает граф. В физике – физические свойства вещества зависят не только от его атомного состава, но и от строения кристаллической решетки, которое определяет граф. В психологиии – отношения между группами людей или отдельными индивидуумами определяются бинарными отношениями, которые удобно описывать в виде графов. В программировании – выполнение программы можно рассматривать как переход от одного состояния памяти к другому, что можно описывать при помощи графов переходов. И т.д. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Применение графов Графы находят самое широкое применение при построении математических моделей для решения различных прикладных задач. Мы рассмотрим их применение к транспортной задаче. Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Транспортная задача Рассмотрим транспортную задачу. Она может возникать в физике, экономике и т.д. Основные ее составляющие: есть транспортная сеть (сеть железнодорожных, автомобильных и т.д. путей; сеть трубопроводов и т.д.). При этом на отдельные компоненты сети наложены ограничения – их максимально допустимая нагрузка. Необходимо определить максимально возможное количество пассажиров, товара, продукта и т.д., которое можно провезти по этой сети. Требуется также определить, каким образом можно организовать перевозку этого максимально возможного количества. Мы построим графовую дискретную модель этой транспортной задачи и решим ее в этой модели. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Определение транспортной сети Пусть G = (V , E ) – ориентированный граф. Для каждой вершины v ∈ V определим множества A(v ) ( After v“) и B(v ) ( Before v“): ” ” A(v ) = {(v , w ) ∈ E }, то есть A(v ) – множество всех дуг, исходящих из вершины v ; B(v ) = {(w , v ) ∈ E }, то есть B(v ) – множество всех дуг, входящих в вершину v . Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Определение транспортной сети Если B(v ) = ∅, то есть в вершину v дуги не входят, то вершина v называется источником. Если A(v ) = ∅, то есть из вершины v дуги не исходят, то вершина v называется стоком. В графе S вершина 1 является источником, вершины 2 и 3 – стоками. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Определение транспортной сети Если B(v ) = ∅, то есть в вершину v дуги не входят, то вершина v называется источником. Если A(v ) = ∅, то есть из вершины v дуги не исходят, то вершина v называется стоком. В графе S вершина 1 является источником, вершины 2 и 3 – стоками. 3 u 6 S: 1 u u 2 Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Определение транспортной сети Сетью называется ориентированный граф S = (V , E ) с одним источником s ∈ V и одним стоком t ∈ V , s 6= t. Сеть S называется связной, если найдется ориентированный путь от ее источника s к ее стоку t. Транспортной сетью называется связная сеть S = (V , E ) с функцией τ : E → R+ , сопоставляющей каждой ее дуге e ∈ E неотрицательное действительное число τ (e) ≥ 0, называющееся его пропускной способностью. Транспортная сеть S с функцией пропускных способностей дуг τ обозначается (S; τ ). Графы Применение Транспортная задача Пример транспортной сети Транспортная сеть T = (S; τ ): Теорема Форда и Фалкерсона Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример транспортной сети Транспортная сеть T = (S; τ ): 3 T : sr r 6 5 -r @ 5 @ 6 4 @ @ 5@ 7 @ R @r 2 -? r @ @ Rr t @ Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Поток в транспортной сети Потоком в транспортной сети T = (S, τ ) называется такая функция π : E → R+ , приписывающая каждой дуге сети e ∈ E неотрицательное число π(e) ≥ 0, называемое потоком по этой дуге, для которой верны свойства: 1) для каждой дуги сети e ∈ E верно π(e) ≤ τ (e), то есть поток по дуге не превышает пропускную способность этой дуги; 2) для каждой вершины сети v ∈ V верно v 6= s, t; 0, X X p(π), v = s; π(v , w ) − π(w , v ) = −p(π), v = t; (w ,v )∈B(v ) (v ,w )∈A(v ) где неотрицательное число p(π) называется величиной потока. То есть весь поток p(π) вытек из источника s, в промежуточных вершинах не задержался и притек к стоку t. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример потока в транспортной сети Поток π в транспортной сети T = (S; τ ): Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример потока в транспортной сети Поток π в транспортной сети T = (S; τ ): 3 T : sr r 6 5 4 -r @ 5 @ 6 @ @ 5@ 7 @ R @r 2 -? r @ @ Rr t @ Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример потока в транспортной сети Поток π в транспортной сети T = (S; τ ): 3 T : sr r 6 5 4 -r @ 5 @ 6 @ @ 5 @(3) @ R @r 7 2 -? r @ @ Rr t @ Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример потока в транспортной сети Поток π в транспортной сети T = (S; τ ): 3 T : sr r 6 5 4 (1) -r @ 5 @ 6 @ @ 5 @(3) @ R @r 7 2 (2) -? r @ @ Rr t @ Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример потока в транспортной сети Поток π в транспортной сети T = (S; τ ): 3 T : sr r 6 5 (1) 4 (1) @ @ 5 @(3) @ R @r -r @ 5 (1) @ @ @ Rr t @ 6 7 2 (2) -? r Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример потока в транспортной сети Поток π в транспортной сети T = (S; τ ): 3 T : sr r 6 5 (1) 4 (1) @ @ 5 @(3) @ R @r -r @ 5 (1) @ @ @ Rr t @ 6 7 (2) 2 (2) Величина потока p(π) равна 3. -? r Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Можно построить другой поток π 0 в этой же транспортной сети T = (S; τ ): Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Можно построить другой поток π 0 в этой же транспортной сети T = (S; τ ): 3 T : sr r 6 5 4 -r @ 5 @ 6 @ @ 5@ 7 @ R @r 2 -? r @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Можно построить другой поток π 0 в этой же транспортной сети T = (S; τ ): r 6 5 3 (2) T : sr 4 -r @ 5 @ 6 @ @ 5 @(3) @ R @r 7 2 -? r @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Можно построить другой поток π 0 в этой же транспортной сети T = (S; τ ): r 6 5 3 (2) T : sr 4 (1) -r @ 5 @ 6 @ @ 5 @(3) @ R @r 7 2 (2) -? r @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Можно построить другой поток π 0 в этой же транспортной сети T = (S; τ ): r 6 5 (3) 3 (2) T : sr 4 (1) -r @ 5 @ 6 @ @ 5 @(3) @ R @r 7 2 (2) -? r @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Можно построить другой поток π 0 в этой же транспортной сети T = (S; τ ): r 6 5 (3) 3 (2) T : sr 4 (1) @ @ 5 @(3) @ R @r -r @ 5 (2) @ @ Rr t @ 6 (1) @ 7 2 (2) -? r Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Можно построить другой поток π 0 в этой же транспортной сети T = (S; τ ): r 6 5 (3) 3 (2) T : sr 4 (1) @ @ 5 @(3) @ R @r -r @ 5 (2) @ @ Rr t @ 6 (1) @ 7 (3) 2 (2) Величина потока p(π 0 ) равна 5. -? r Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Попытаемся построить поток π 00 в этой же транспортной сети T = (S; τ ): Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Попытаемся построить поток π 00 в этой же транспортной сети T = (S; τ ): 3 T : sr r 6 5 4 -r @ 5 @ 6 @ @ 5@ 7 @ R @r 2 -? r @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Попытаемся построить поток π 00 в этой же транспортной сети T = (S; τ ): r 6 5 3 (3) T : sr 4 -r @ 5 @ 6 @ @ 5 @(5) @ R @r 7 2 -? r @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Попытаемся построить поток π 00 в этой же транспортной сети T = (S; τ ): r 6 5 3 (3) T : sr 4 (3) -r @ 5 @ 6 @ @ 5 @(5) @ R @r 7 2 (2) -? r @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример потока в транспортной сети Попытаемся построить поток π 00 в этой же транспортной сети T = (S; τ ): r 6 5 (6) 3 (3) T : sr 4 (3) -r @ 5 @ 6 @ @ 5 @(5) @ R @r 7 2 (2) @ @ Rr t @ -? r Такой поток p(π 00 ) построить не удалось. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Постановка задачи Постановка транспортной задачи. Дана транспортная сеть T = (S, τ ). Требуется найти такой поток π в этой транспортной сети T , на котором достигается максимальное значение величины потока p(π). Графы Применение Транспортная задача Теорема Форда и Фалкерсона Сечения Пусть T = (S, τ ) – транспортная сеть, где S = (V , E ) – сеть. Если X ⊆ V , s ∈ X , t ∈ / X и Y = V \ X, то множество дуг D ⊆ E , таких что D = {(v , w ) ∈ E | v ∈ X , w ∈ Y }, называется сечением сети S и обозначается D = (X , Y ). Если удалить из сети S все дуги из сечения D, то получится сеть S 0 , не являющаяся связной. То есть в сети S 0 нет на одного ориентированного пути из источника s в сток t. Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пропускная способность сечения Пропускной способностью сечения D ⊆ E называется неотрицательное число X τ (D) = τ (e), e∈D то есть равное сумме пропускных способностей дуг, в него входящих. Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример сечения Рассмотрим сечение D в транспортной сети T , X = {s}: Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Пример сечения Рассмотрим сечение D в транспортной сети T , X = {s}: 3 T : sr r 6 5 4 -r @ 5 @ 6 @ @ 5@ 7 @ R @r 2 @ @ Rr t @ -? r Пропускная способность сечения D равна: τ (D) = 5 + 3 = 8. Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример сечения Рассмотрим сечение D 0 в транспортной сети T , X = {s, a, b}: Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Пример сечения Рассмотрим сечение D 0 в транспортной сети T , X = {s, a, b}: b 3 T : sr r 6 5 4 -r @ 5 @ 6 @ @ 5@ 7 @ R @r a 2 @ @ Rr t @ -? r Пропускная способность сечения D 0 равна: τ (D 0 ) = 2 + 5 = 7. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Теорема Форда, Фалкерсона Теорема 5.1 [Форда, Фалкерсона]. Пусть T = (S, τ ) – транспортная сеть. Величина максимального потока в транспортной сети T равна минимальной из пропускных способностей его сечений. Доказательство Пусть T = (S, τ ) – транспортная сеть, где S = (V , E ) – сеть, Dmin = (X , Y ) – сечение сети с минимальной пропускной способностью, и pmax – величина максимального потока в этой сети. Нам надо доказать, что pmax = τ (Dmin ). 1. Вначале докажем, что величина любого потока в транспортной сети не превосходит пропускную способность любого сечения в этой сети, то есть что pmax ≤ τ (Dmin ). Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Теорема Форда, Фалкерсона Доказательство (продолжение). Пусть π : E → R+ – поток, а D = (X , Y ) ⊆ E – сечение транспортной сети T , где X ⊆ V , s ∈ X, t ∈ / X , Y = V \ X . Тогда X X p(π) = π(s, w ) − π(w , s) = (s,w )∈A(s) = X X π(v , w ) − v ∈X ,(v ,w )∈A(v ) ≤ (w ,s)∈B(s) v ∈X ,(w ,v )∈B(v ) X π(v , w ) = v ∈X ,w ∈X / ,(v ,w )∈E X ≤ v ∈X ,(v ,w )∈D Значит, p(π) ≤ τ (D). π(w , v ) ≤ X v ∈X ,(v ,w )∈D τ (v , w ) = τ (D). π(v , w ) ≤ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Теорема Форда, Фалкерсона Доказательство (продолжение). 2. Теперь докажем, что для такого потока π : E → R+ , что p(π) = pmax , верно p(π) = τ (Dmin ). Индуктивно определим множество вершин X ⊆ V . Базис индукции: s ∈ X , то есть источник содержится в множестве X . Индуктивный переход: 1) если v ∈ X , (v , w ) ∈ E и π(v , w ) < τ (v , w ), то w ∈ X ; 2) если v ∈ X , (w , v ) ∈ E и π(w , v ) > 0, то w ∈ X ; То есть X – это множество вершин, в которые можно перейти из источника по дугам в правильном направлении с ненасыщенным потоком (который меньше пропускной способности дуги) и по дугам с обратным направлением с ненулевым потоком. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Теорема Форда, Фалкерсона Доказательство (продолжение). 1) Если t ∈ / X , то D = (X , V \ X ) – сечение, и аналогично предыдущим рассуждениям p(π) = τ (D). Так как τ (Dmin ) ≤ τ (D) и p(π) ≤ τ (Dmin ), получаем p(π) = τ (Dmin ). Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Теорема Форда, Фалкерсона Доказательство (продолжение). 2) Если t ∈ X , то в сети S найдется (неориентированный) путь P из источника s в сток t, состоящий только из дуг с правильным направлением с ненасыщенным потоком и из дуг с обратным направлением с ненулевым потоком: P = s = vi0 e1 vi1 vi1 . . . vil−1 eil vil = t, где для каждого j = 1, . . . , l 1) если eij = (vij−1 , vij ) ∈ E , то π(eij ) < τ (eij ); 2) если eij = (vij , vij−1 ) ∈ E , то π(eij ) > 0. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Теорема Форда, Фалкерсона Доказательство (продолжение). Положим min β= eij =(vij−1 ,vij )∈E γ= τ (eij ) − π(eij ) > 0, min eij =(vij ,vij−1 )∈E π(eij ) > 0, и α = min(β, γ). Алгоритм Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Теорема Форда, Фалкерсона Доказательство (продолжение). Тогда построим новый поток π 0 в сети T , изменив потоки по дугам пути P: для каждого j = 1, . . . , l 1) если eij = (vij−1 , vij ) ∈ E , то π 0 (eij ) = π(eij ) + α; 2) если eij = (vij , vij−1 ) ∈ E , то π 0 (eij ) = π(eij ) − α. Тогда p(π 0 ) = p(π) + α > pmax . Получаем противоречие. Значит, второй случай t ∈ X невозможен, и pmax = τ (Dmin ). Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Доказательство теоремы Форда и Фалкерсона предлагает идею алгоритма построения максимального потока в транспортной сети. Он называется алгоритмом расстановки пометок. Рассмотрим транспортную сеть T , пусть π0 – нулевой поток. b 3 T : sr r 6 5 4 d -r @ 5 @ 6 @ @ 5@ 7 @ R @r a 2 -? r c @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Доказательство теоремы Форда и Фалкерсона предлагает идею алгоритма построения максимального потока в транспортной сети. Он называется алгоритмом расстановки пометок. Рассмотрим транспортную сеть T , пусть π0 – нулевой поток. b 3 T : sr r 6 5 4 @ @ @ @ 5@ @ @ @ R @ @r a d -r @ @5 @ @ @ @ @ @ R @ @r t 6 7 2 -? r c Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли путь P1 = s(s, a)a(a, b)b(b, d)d(d, t)t. Тогда α = β = min(5, 4, 5, 5) = 4, и поток π0 можно увеличить до нового потока π1 , p(π1 ) = 4. b 3 T : sr r 6 5 d -r @ 5 @ 6 4 @ @ 5@ 7 @ R @r a 2 -? r c @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли путь P1 = s(s, a)a(a, b)b(b, d)d(d, t)t. Тогда α = β = min(5, 4, 5, 5) = 4, и поток π0 можно увеличить до нового потока π1 , p(π1 ) = 4. b 3 T : sr r 6 5 (4) 4 (4) @ @ 5 @(4) @ R @r a d -r @ 5 (4) @ @ @ Rr t @ 6 7 2 -? r c Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли путь P1 = s(s, a)a(a, b)b(b, d)d(d, t)t. Тогда α = β = min(5, 4, 5, 5) = 4, и поток π0 можно увеличить до нового потока π1 , p(π1 ) = 4. b 3 T : sr r 6 5 (4) 4 (4) @ @ 5 @(4) @ R @r a d -r @ 5 (4) @ @ @ Rr t @ 6 7 2 -? r c Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли новый путь P2 = s(s, b)b(a, b)a(a, c)c(c, t)t. Тогда β = min(3, 2, 7) = 2, γ = min(4) = 4, α = min(2, 4) = 2, и поток π1 можно увеличить до нового потока π2 , p(π2 ) = 4 + 2 = 6. b 3 T : sr r 6 5 4 d -r @ 5 @ 6 @ @ 5@ 7 @ R @r a 2 -? r c @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли новый путь P2 = s(s, b)b(a, b)a(a, c)c(c, t)t. Тогда β = min(3, 2, 7) = 2, γ = min(4) = 4, α = min(2, 4) = 2, и поток π1 можно увеличить до нового потока π2 , p(π2 ) = 4 + 2 = 6. b 3 T : sr r 6 5 (4) 4 @ @ 5 @(4) @ R @r a d -r @ 5 (4) @ @ @ Rr t @ 6 7 2 -? r c Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли новый путь P2 = s(s, b)b(a, b)a(a, c)c(c, t)t. Тогда β = min(3, 2, 7) = 2, γ = min(4) = 4, α = min(2, 4) = 2, и поток π1 можно увеличить до нового потока π2 , p(π2 ) = 4 + 2 = 6. b r 6 5 (4) 3 (2) T : sr 4 (2) @ @ 5 @(4) @ R @r a d -r @ 5 (4) @ @ @ Rr t @ 6 7 (2) 2 (2) -? r c Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли новый путь P2 = s(s, b)b(a, b)a(a, c)c(c, t)t. Тогда β = min(3, 2, 7) = 2, γ = min(4) = 4, α = min(2, 4) = 2, и поток π1 можно увеличить до нового потока π2 , p(π2 ) = 4 + 2 = 6. b r 6 5 (4) 3 (2) T : sr 4 (2) @ @ 5 @(4) @ R @r a d -r @ 5 (4) @ @ @ @ @ @ @ @r t R @ 6 7 (2) 2 (2) -? r c Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли еще один путь P3 = s(s, b)b(b, d)d(d, t)t. Тогда α = β = min(1, 1, 1) = 1, и поток π2 можно увеличить до нового потока π3 , p(π3 ) = 6 + 1 = 7. b 3 T : sr r 6 5 d -r @ 5 @ 6 4 @ @ 5@ 7 @ R @r a 2 -? r c @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли еще один путь P3 = s(s, b)b(b, d)d(d, t)t. Тогда α = β = min(1, 1, 1) = 1, и поток π2 можно увеличить до нового потока π3 , p(π3 ) = 6 + 1 = 7. b 3 T : sr r 6 5 d -r @ 5 @ 6 4 @ @ 5 @(4) @ R @r a 7 2 -? r c @ @ Rr t @ Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли еще один путь P3 = s(s, b)b(b, d)d(d, t)t. Тогда α = β = min(1, 1, 1) = 1, и поток π2 можно увеличить до нового потока π3 , p(π3 ) = 6 + 1 = 7. b 3 T : sr r 6 5 d -r @ 5 @ @ @ Rr t @ 6 4 (2) @ @ 5 @(4) @ R @r a 7 (2) 2 (2) -? r c Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок Нашли еще один путь P3 = s(s, b)b(b, d)d(d, t)t. Тогда α = β = min(1, 1, 1) = 1, и поток π2 можно увеличить до нового потока π3 , p(π3 ) = 6 + 1 = 7. b r 6 5 (5) 3 (3) T : sr 4 (2) @ @ 5 @(4) @ R @r a d -r @ 5 (5) @ @ @ Rr t @ 6 7 (2) 2 (2) -? r c Графы Применение Транспортная задача Теорема Форда и Фалкерсона Алгоритм Алгоритм расстановки пометок b r 6 5 (5) 3 (3) T : sr 4 (2) @ @ 5 @(4) @ R @r a d -r @ 5(5) @ @ @ Rr t @ 6 7 (2) 2 (2) r -? c Получаем, X = {s, a, b}, и t ∈ / X. Тогда D 0 = (X , V \ X ) – сечение, τ (D 0 ) = 2 + 5 = 7, D 0 = Dmin . Откуда, pmax = p(π3 ) = τ (Dmin ) = 7. Графы Применение Транспортная задача Теорема Форда и Фалкерсона Конец лекции 5 Алгоритм