Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo&...
Transcript of Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo&...
![Page 1: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/1.jpg)
Fluxo em Redes
Luciana Assis
![Page 2: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/2.jpg)
Sumário
• Árvore Geradora Mínima • Caminho Mínimo • Fluxo Máximo
![Page 3: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/3.jpg)
ÁRVORE GERADORA MÍNIMA
![Page 4: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/4.jpg)
Árvore Geradora Mínima
• Árvore: grafo conexo sem ciclo. • Árvore Geradora de G(V,A): é uma árvore contendo todos os vérAces do grafo G
• Árvore Geradora Mínima de G(V,A): árvore geradora de G, cuja soma dos pesos de suas arestas é mínima.
• Aplicação: problemas de comunicação e conexão
![Page 5: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/5.jpg)
Árvore Geradora Mínima
• Teoremas: – T1: Todo grafo conexo tem pelo menos uma árvore geradora. Um grafo desconexo é composto por uma floresta de árvores geradoras.
– T2: Dado o grafo G(V,A), sendo n = |V|. Seja a árvore geradora AG(V,A’), então |A’|=n-‐1.
– T3: Dado o grafo G(V,A), A(V’,A’) é uma árvore de G se a remoção de qualquer aresta torna o grafo desconexo
– T4: Dado o grafo G(V,A), A(V’,A’) é uma árvore de G se a inserção de qualquer aresta de A em A’ acrescenta um único ciclo em A.
![Page 6: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/6.jpg)
Árvore Geradora Mínima
• Exemplo: Fundação Zoo-‐Botânica – Problema: Criação de postos de informações em todos os setores a fundação. Onde passar as linhas telefônicas de forma que todos os postos fiquem conectados?
![Page 7: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/7.jpg)
Árvore Geradora Mínima
Fig.2 – Fundação Zoo-‐Botânica Disponível em:www.pbh.gov.br/zoobotanica
![Page 8: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/8.jpg)
6
5
5
6
3
7
6 4
4
3
3 5
4
3
Árvore Geradora Mínima
![Page 9: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/9.jpg)
9 Algoritmos em Grafos
Árvore Geradora de Peso Mínimo
Exemplo:
9 D
A
E
B
C
F 3
4
8 4
7
2
2
5 9
árvore geradora peso = 15
D
A B
C
E F
árvore geradora peso = 24
D
A
E
B
C
F
3
4
8 4 5
3
4
4
2
2
![Page 10: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/10.jpg)
Árvore Geradora Mínima
• Sabemos que uma árvore geradora mínima resolve o problema da fundação zoo-‐botânica, mas como encontrar uma árvore geradora mínima?
• Algoritmos: – Algoritmo de Kruskal – Algoritmo de Prim
![Page 11: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/11.jpg)
11 Algoritmos em Grafos
Árvore Geradora de Peso Mínimo
Dados: G = (V,E) grafo não-‐orientado, com |V|=n e |E|=m
peso c(e), ∀e ∈ E
Problema Obter F ⊆ E tal que:
o grafo G’=(V,F) é acíclico e conexo (G’ é gerador de G) c(F) = Σe∈Ec(e) é mínimo
![Page 12: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/12.jpg)
12 Algoritmos em Grafos
Árvore Geradora de Peso Mínimo
Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso mínimo.
Algoritmo de Kruskal
Prova: Suponha que a aresta de peso mínimo não pertença à solução
ótima. Inserindo-se a aresta de peso mínimo nesta solução ótima,
obtém-se um ciclo. Pode-se obter uma nova árvore geradora removendo-se a
aresta de maior peso. Esta nova árvore geradora teria peso menor do que a anterior,
portanto aquela solução não poderia ser ótima.
![Page 13: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/13.jpg)
13 Algoritmos em Grafos
Árvore Geradora de Peso Mínimo
Criar uma lista L com as arestas ordenadas em ordem crescente de pesos. Criar |V| subárvores contendo cada uma um nó isolado. F ← ∅ contador ← 0 Enquanto contador < |V|-1 e L ≠ ∅ faça Seja (u,v) o próximo arco de L. L ← L – {(u,v)} Se u e v não estão na mesma subárvore então F ← F ∪ {(u,v)} Unir as subárvores que contêm u e v. contador ← contador + 1 fim-se fim-enquanto
Algoritmo de Kruskal
![Page 14: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/14.jpg)
14 Algoritmos em Grafos
Exemplo:
Árvore Geradora de Peso Mínimo
8 3
9 D
A
E
B
C
F
4
4
7
2 2
5 9 e c(e)
(C,F) 2
(E,F) 2
(A,D) 3
(C,E) 3
(A,B) 4
(A,E) 4
(B,F) 5
(D,F) 7
(B,C) 8
(B,E) 9
(C,D) 9
Lista L
Subárvores
{ A } { B } { C } { D } { E } { F } { A } { B } { C, F } { D } { E }
c(F) = 2
{ A } { B } { C, E, F } { D }
c(F) = 4
{ A, D } { B } { C, E, F }
c(F) = 7
{ A, B, D } { C, E, F }
c(F) = 11
{ A, B, C, D, E, F }
c(F) = 15
3
X
![Page 15: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/15.jpg)
15 Algoritmos em Grafos
Exemplo:
Árvore Geradora de Peso Mínimo
H
A
B
J
C
e c(e) (D,E) 1
(D,L) 2
(F,J) 2
(G,J) 2
(C,D) 3
(E,F) 3
(H,I) 3
(A,B) 4
(B,C) 4
… …
Lista L
Subárvores c(F) = 1
E
M L
G
D
I
F
4
7
4
3
7
5
6
2 2
3
1
4
2
3
8
6
4
{ A } { B } { C } { D } { E } { F }
{ G } { H } { I } { J } { L } { M }
{ A } { B } { C } { D, E } { F }
{ G } { H } { I } { J } { L } { M }
c(F) = 3
{ A } { B } { C } { D, E, L } { F }
{ G } { H } { I } { J } { M }
{ A } { B } { C } { D, E, L }
{ F, J } { G } { H } { I } { M }
c(F) = 5
{ A } { B } { C } { D, E, L }
{ F, G, J } { H } { I } { M }
c(F) = 7
{ A } { B } { C, D, E, L }
{ F, G, J } { H } { I } { M }
c(F) = 10
{ A } { B } { C, D, E, L, F, G, J }
{ H } { I } { M }
c(F) = 13
{ A } { B } { C, D, E, L, F, G, J }
{ H, I } { M }
c(F) = 16
{ A, B } { C, D, E, L, F, G, J }
{ H, I } { M }
c(F) = 20
{ A, B, C, D, E, F, G, J, L }
{ H, I } { M }
c(F) = 24
![Page 16: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/16.jpg)
16 Algoritmos em Grafos
Exemplo:
Árvore Geradora de Peso Mínimo
H
A
B
J
C Lista L
Subárvores
E
M L
G
D
I
F
4
7
4
3
7
5
6
2 2
3
1
4
2
3
8
6
4
{ A, B, C, D, E, F, G, J, L }
{ H, I } { M }
c(F) = 24
e c(e) ... ...
(A,I) 4
(J,L) 4
(G,M) 5
(C,M) 6
(I,J) 6
(A,M) 7
(G,H) 7
(B,L) 8 { A, B, C, D, E, F, G, H, I, J, L }
{ M }
c(F) = 28
X
{ A, B, C, D, E, F, G, H, I, J, L, M }
c(F) = 33
![Page 17: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/17.jpg)
17 Algoritmos em Grafos
Árvore Geradora de Peso Mínimo
Começar com uma árvore formada apenas por um nó qualquer do grafo, ou pela aresta de peso mínimo.
Algoritmo de Prim
A cada iteração, adicionar a aresta de menor peso que conecta um nó já conectado a um nó não-conectado.
![Page 18: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/18.jpg)
18 Algoritmos em Grafos
Árvore Geradora de Peso Mínimo
Seja (u,v) a aresta de menor peso. F ← {(u,v)} Para i = 1,...,n faça Se c(i,u) < c(i,v) então prox(i) ← u Senão prox(i) ← v fim-para prox(u), prox(v) ← 0, contador ← 0 Enquanto contador < n-2 faça Seja j tal que prox(j)≠0 e c(j,prox(j)) é mínimo. F ← F ∪ {(j,prox(j))} prox(j) ← 0 Para i = 1,...,n faça Se prox(i) ≠ 0 e c(i,prox(i)) > c(i,j) então prox(i) ← j fim-para contador ← contador + 1 fim-enquanto
Algoritmo de Prim
![Page 19: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/19.jpg)
19 Algoritmos em Grafos
Árvore Geradora de Peso Mínimo
Exemplo:
9 D
A
E
B
C
F 3
4
8 4
7
2 2
5 9
c(F) = 2 c(F) = 4 c(F) = 7 c(F) = 11 c(F) = 15
3
![Page 20: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/20.jpg)
20 Algoritmos em Grafos
Árvore Geradora de Peso Mínimo
Exemplo:
c(F) = 1
H
A
B
J
C
E
M L
G
D
I
F
4
7
4
3
7
5
6
2 2
3
1
4
2
3
8
6
4
c(F) = 3 c(F) = 6 c(F) = 9 c(F) = 11 c(F) = 13 c(F) = 17 c(F) = 21 c(F) = 25 c(F) = 28 c(F) = 33
![Page 21: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/21.jpg)
CAMINHO MÍNIMO
![Page 22: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/22.jpg)
Caminho Mínimo
• Caminho: seqüência de arcos (a1,a2,a3,...,an) tais que, cada arco ai, com exceção do primeiro e do úlAmo, é ligado ao arco ai-‐1 por um extremidade e ai+1 por outra.
• “Caminho mínimo entre u e v é uma seqüência de arestas que, passando por vérAces disAntos, liga u e v de forma a acumular o menor comprimento .” (Goldberg,2000)
![Page 23: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/23.jpg)
Caminho Mínimo
• Exemplo: Fundação Zoo-‐Botânica – Problema: Como idenAficar o caminho mais curto entre as portarias da fundação zoo-‐botânica?
![Page 24: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/24.jpg)
Árvore Geradora Mínima
Fig.3 – Fundação Zoo-‐Botânica Disponível em:www.pbh.gov.br/zoobotanica
![Page 25: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/25.jpg)
Caminho Mínimo
Origem
DesAno
Transbordo
T
O
D
T
D
T T
T
T
T
T
T
T
O T
T
T
T 1
1
2
3
3 3
3
4 4
4
4 4
4
4
5
4
5
5 2
5
5
4 5
6
5
6
7
7
2
1
T
![Page 26: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/26.jpg)
Caminho Mínimo • Um motorista procura o caminho mais curto entre DiamanAna e Ouro Preto. Possui mapa com as distâncias entre cada par de interseções adjacentes.
• Modelagem: – G = (V;A): grafo direcionado ponderado, mapa rodoviário.
– V : interseções. – A: segmentos de estrada entre interseções – p(u; v): peso de cada aresta, distância entre interseções.
![Page 27: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/27.jpg)
Caminho Mínimo • Caminhos mais curtos a parAr de uma origem:
– dado um grafo ponderado G = (V;A), desejamos obter o caminho mais curto a parAr de um dado vérAce origem s ∈ V até cada v ∈ V .
• Muitos problemas podem ser resolvidos pelo algoritmo para o problema origem única: – Caminhos mais curtos com desXno único: reduzido ao problema origem única invertendo a direção de cada aresta do grafo.
– Caminhos mais curtos entre um par de vérXces: o algoritmo para origem única é a melhor opção conhecida.
– Caminhos mais curtos entre todos os pares de vérXces: resolvido aplicando o algoritmo origem única |V | vezes, uma vez para cada vérAce origem.
![Page 28: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/28.jpg)
Caminho Mínimo
• Como encontrar um caminho mínimo em um grafo?
• Algoritmos:
– Algoritmo Dijkstra
![Page 29: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/29.jpg)
Algoritmo de Dijkstra
• Mantém um conjunto S de vérAces cujos caminhos mais curtos até um vérAce origem já são conhecidos.
• Produz uma árvore de caminhos mais curtos de um vérAce origem s para todos os vérAces que são alcançáveis a parAr de s.
![Page 30: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/30.jpg)
30
Exemplo
• Encontrar o caminho mais curto entre s e t
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
![Page 31: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/31.jpg)
31
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
∞
∞ ∞
∞
∞
∞
∞
0
distance label
S = { } PQ = { s, 2, 3, 4, 5, 6, 7, t }
![Page 32: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/32.jpg)
32
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
∞
∞ ∞
∞
∞
∞
∞
0
distancia
S = { } PQ = { s, 2, 3, 4, 5, 6, 7, t }
menor
![Page 33: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/33.jpg)
33
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9 ∞
∞
∞
14
∞
0
distance label
S = { s } PQ = { 2, 3, 4, 5, 6, 7, t }
Decrementa
∞ X
∞
∞ X
X
![Page 34: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/34.jpg)
34
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9 ∞
∞
∞
14
∞
0
distance label
S = { s } PQ = { 2, 3, 4, 5, 6, 7, t }
∞ X
∞
∞ X
X
menor
![Page 35: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/35.jpg)
35
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9 ∞
∞
∞
14
∞
0
S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t }
∞ X
∞
∞ X
X
![Page 36: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/36.jpg)
36
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9 ∞
∞
∞
14
∞
0
S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t }
∞ X
∞
∞ X
X
Decrementa
X 33
![Page 37: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/37.jpg)
37
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9 ∞
∞
∞
14
∞
0
S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t }
∞ X
∞
∞ X
X
X 33
menor
![Page 38: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/38.jpg)
38
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9 ∞
∞
∞
14
∞
0
S = { s, 2, 6 } PQ = { 3, 4, 5, 7, t }
∞ X
∞
∞ X
X
X 33
44 X
X
32
![Page 39: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/39.jpg)
39
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 6 } PQ = { 3, 4, 5, 7, t }
∞ X
∞
∞ X
X
44 X
menor
∞ X 33 X
32
![Page 40: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/40.jpg)
40
Outro Exemplo
s
3
t
2
6
7
4
5
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 6, 7 } PQ = { 3, 4, 5, t }
∞ X
∞
∞ X
X
44 X
35 X
59 X
24
∞ X 33 X
32
![Page 41: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/41.jpg)
41
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 6, 7 } PQ = { 3, 4, 5, t }
∞ X
∞
∞ X
X
44 X
35 X
59 X
menor
∞ X 33 X
32
![Page 42: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/42.jpg)
42
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 3, 6, 7 } PQ = { 4, 5, t }
∞ X
∞
∞ X
X
44 X
35 X
59 X X 51
X 34
∞ X 33 X
32
![Page 43: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/43.jpg)
43
Outro Exemplo
s
3
t
2
6
7
4
5
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 3, 6, 7 } PQ = { 4, 5, t }
∞ X
∞
∞ X
X
44 X
35 X
59 X X 51
X 34
menor
∞ X 33 X
32
24
![Page 44: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/44.jpg)
44
Outro Exemplo
s
3
t
2
6
7
4
5
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 3, 5, 6, 7 } PQ = { 4, t }
∞ X
∞
∞ X
X
44 X
35 X
59 X X 51
X 34
24
X 50
X 45
∞ X 33 X
32
![Page 45: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/45.jpg)
45
Outro Exemplo
s
3
t
2
6
7
4
5
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 3, 5, 6, 7 } PQ = { 4, t }
∞ X
∞
∞ X
X
44 X
35 X
59 X X 51
X 34
24
X 50
X 45
menor
∞ X 33 X
32
![Page 46: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/46.jpg)
46
Outro Exemplo
s
3
t
2
6
7
4
5
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 3, 4, 5, 6, 7 } PQ = { t }
∞ X
∞
∞ X
X
44 X
35 X
59 X X 51
X 34
24
X 50
X 45
∞ X 33 X
32
![Page 47: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/47.jpg)
47
Outro Exemplo
s
3
t
2
6
7
4
5
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 3, 4, 5, 6, 7 } PQ = { t }
∞ X
∞
∞ X
X
44 X
35 X
59 X X 51
X 34
X 50
X 45
menor
∞ X 33 X
32
24
![Page 48: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/48.jpg)
48
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 3, 4, 5, 6, 7, t } PQ = { }
∞ X
∞
∞ X
X
44 X
35 X
59 X X 51
X 34
X 50
X 45
∞ X 33 X
32
![Page 49: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/49.jpg)
49
Outro Exemplo
s
3
t
2
6
7
4
5
24
18
2
9
14
15 5
30
20
44
16
11
6
19
6
15
9
∞
∞
14
∞
0
S = { s, 2, 3, 4, 5, 6, 7, t } PQ = { }
∞ X
∞
∞ X
X
44 X
35 X
59 X X 51
X 34
X 50
X 45
∞ X 33 X
32
![Page 50: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/50.jpg)
Exemplo
![Page 51: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/51.jpg)
Exemplo
![Page 52: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/52.jpg)
FLUXO MÁXIMO
![Page 53: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/53.jpg)
Introdução
• Mapa rodoviário à grafo orientado à encontrar o menor caminho de um ponto a outro.
• Grafo orientado pode representar também um “fluxo em rede” à fluxo de materiais.
• Ex: Material percorrendo um sistema desde uma origem, onde o material é produzido, até um sorvedor, onde ele é consumido. – Origem produz material em alguma taxa fixa e o sorvedor consome o material na mesma taxa.
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 53
![Page 54: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/54.jpg)
Aplicações
• O fluxo em redes pode ser usado para modelar líquidos fluindo por tubos, peças de linha de montagem, corrente por redes elétricas, informações por redes de comunicação e assim por diante.
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 54
![Page 55: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/55.jpg)
Exemplo
![Page 56: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/56.jpg)
Exemplo
Solução ÓAma
![Page 57: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/57.jpg)
Modelagem • Cada aresta orientada em um fluxo de rede representa um canal para o material.
• Cada canal tem uma capacidade estabelecida. • VérAces são junções de canais e, exceto origem e sorvedor, a taxa na qual o material entra no vérAce deve ser igual a taxa em que ele deixa o vérAce à Conservação de Fluxo
• ObjeAvo: Calcular a maior taxa na qual o material pode ser enviado desde a origem até o sorvedor sem violar quaisquer restrições de capacidade dos canais (arestas).
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 57
![Page 58: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/58.jpg)
Fluxo em Redes
• Grafo orientado em que cada aresta tem uma capacidade não negaAva.
• DisAnguimos dois vérAces em um fluxo em rede: – Origem (s) – Sorvedor (t)
• Consideramos que existe um caminho s àvà t.
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 58
![Page 59: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/59.jpg)
Fluxo • Fluxo em G saAsfaz às três propriedades seguintes: – Restrição de capacidade: Nenhuma aresta pode transportar mais que sua capacidade à f(u,v) ≤ c(u,v)
– AnA-‐simetria oblíqua: Se existe um fluxo de u até v, então existe um fluxo inverso de v até u à f(u,v)=-‐ f(v,u)
– Conservação de fluxo: Fluxo de entrada = Fluxo de saída à Σu∈V f(u,v) = 0.
• Isso garante que: – não existe acumulo nos nós interiores; – os nós interiores não produzem o item transportado; – Eles apenas repassam... (roteamento)
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 59
![Page 60: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/60.jpg)
Redes Residuais
• A rede residual Gf consiste em arestas que podem admiAr mais fluxo.
• Seja f um fluxo em G, e considere um par de vérAces u,v ∈ V: – A quanAdade de fluxo adicional que podemos “empurrar” de u para v antes de exceder a capacidade c(u,v) é a capacidade residual.
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 60
![Page 61: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/61.jpg)
Capacidade residual
• Capacidade Residual (cf): – cf (u, v) = c(u,v) -‐ f (u, v)
• Exemplo: – Capacidade de a para b é de 10Kbps; – Estamos uAlizando 2Kbps; – Então, a capacidade residual é 8Kbps...
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 61
![Page 62: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/62.jpg)
Aresta Residual • Aresta da rede residual, ou seja, pode admiAr ainda algum fluxo maior que 0.
• Aresta de Gf
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 62
Fluxo
Capacidade
![Page 63: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/63.jpg)
Caminhos Aumentantes • Caminho aumentante p é um caminho simples desde s até t na rede residual Gf.
• Pela definição de rede residual, cada aresta (u,v) em um caminho aumentante admite algum fluxo posiAvo adicional de u até v sem violar a restrição de capacidade sobre a aresta.
• A quanAdade máxima pela qual podemos aumentar o fluxo em cada aresta de um caminho aumentante p de capacidade residual de p, dada por: – cf(p) = min{cf(u,v) | (u,v) ∈p}
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 63
![Page 64: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/64.jpg)
Problema de Fluxo Máximo
• fonte s e depósito t. • c(u,v) = capacidade máxima do arco
• f(u,v) = fluxo entre vérAces u e v.
Rede G(V,E)
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 64
![Page 65: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/65.jpg)
Problema de Fluxo Máximo
• cf:Capacidade residual • Rf: Rede residual • Caminhos Aumentantes
2
2
3
1
1
1
0
0
cf(d,t) = 2
Rede G(V,E)
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 65
![Page 66: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/66.jpg)
Corte de Fluxo em Redes
• Corte (S,T) de um fluxo em rede G=(V,E) é uma parAção de V em S e T, tal que s ∈ S e t ∈ T.
• Se f é um fluxo, então o fluxo líquido pelo corte (S,T) é definido como f(S,T). – Somatório do fluxo (posiAvo e negaAvo) do corte
• Capacidade do corte (S,T) é c(S,T) – somatório das capacidades posiAvas do corte.
• Corte Mínimo: Capacidade mínima dentre todos os cortes possíveis.
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 66
![Page 67: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/67.jpg)
Problema de Fluxo Máximo
• Corte • Fluxo Líquido • Capacidade do Corte • Teorema de Fluxo Máximo e Corte Mínimo
Rede G(V,E) 17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 67
2
2
3
1
1
1
0
0
f(S,T) = 3 – 1 –0 + 1 = 3 c(S,T) = 3 + 3 = 6 c(S,T) = 2 + 3 = 5
![Page 68: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/68.jpg)
Teorema de Fluxo Máximo e Corte Mínimo
• Em qualquer grafo direcionado (digrafo) capacitado com vérAce inicial e vérAce final, a intensidade de um fluxo máximo que respeita as capacidades é igual à capacidade de um corte mínimo que separa o vérAce inicial do final.
![Page 69: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/69.jpg)
Problema de Fluxo Máximo
• Esse problema consiste em calcular o maior volume de itens que podem ser transportados entre duas localizações sem violar as restrições de capacidades dos canais de comunicação da rede.
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 69
![Page 70: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/70.jpg)
Algoritmo Corte Mínimo
• Enumerar todos os cortes possíveis. • O corte com menor capacidade indica o maior fluxo possível na rede.
• Problema: A enumeração de todos os cortes é inviável para problemas de grande magnitude.
![Page 71: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/71.jpg)
Problema de Fluxo Máximo
• Algoritmo Ford e Fulkerson (1962): Enquanto exisAr caminho aumentante s-‐>t Encontra caminho aumentante “p” Encontra capacidade residual mínima de p Cf(p) = Min{Cf(u,v), ∀ (u,v) ∈ p} f(u,v) += Cf (p), ∀ (u,v) ∈ p Fim.
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 71
![Page 72: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/72.jpg)
Exemplo
2
2
2
2 2
2
2
3
2
2
2
2
3
1
2
2
1
0
0
0
1
1
1
0
1
2
2
0
3
0
![Page 73: Fluxo&em&Redes& - lucianaassis.pro.br · Algoritmos&em&Grafos& 12 Árvore&Geradorade&Peso& Mínimo& Princípio: a aresta de menor peso sempre pertence à árvore geradora de peso](https://reader030.fdocumentos.tips/reader030/viewer/2022021621/5c45cbeb93f3c34c643f9bae/html5/thumbnails/73.jpg)
Referências • [1] CORMEN T.H., LEISERSON C.E., RIVEST R.L., STEIN C., Algoritmos:
Teoria e Prática, Campus, 2002. • [2] MALHOTRA V.M., PRAMODTH M., MAHESHWARI S.N., “An o(v3)
algorithm for finding maximum flows in networks,” Information Processing Latters, vol. 7, no. 6, Outubro 1978.
• [3] GOLDBARG Marco Cesar LUNA Henrique Pacca, Otimização Combinatória e Programação Linear, Campus, 2000.
• [4] BAZARAA Mokhtar S., JARVIS John J., SHERALI Hanif D., Linear Programming and Network Flows, Wiley.
17/04/18 Luciana Assis – Algoritmos e Estrutura de Dados III -‐ UFVJM 73