grafos - aula 16
TRANSCRIPT
![Page 1: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/1.jpg)
Figueiredo – 2021
Grafos - Aula 16
RoteiroRedes de fluxoProblema do fluxo máximoProblema do corte mínimoDualidade fracaDualidade forte
![Page 2: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/2.jpg)
Figueiredo – 2021
Malha RodoviáriaMapa das estradas brasileiras
capacidade da estrada: “carros por hora”
Problema: capacidade de escoamento da produção nacional
ex. centro-oeste para portos
![Page 3: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/3.jpg)
Figueiredo – 2021
Backbone da RNPRNP: Rede Nacional de Pesquisa em Ensino
ligação entre instutições nacionais
presença em todas as capitais
capacidade dos enlaces (“bits por segundo”)
![Page 4: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/4.jpg)
Figueiredo – 2021
Redes de FluxosGrafo direcionado
Arestas possuem capacidademaior quantidade de fluxo que pode passar pela aresta
3 tipos de vérticesOrigem, onde fluxo entra na rede
Destino, onde fluxo sai da rede
Interno, onde fluxo passa
Fluxo: abstração de algo que possa “escoar” pelo grafo da origem ao destino
carros, bits, etc
![Page 5: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/5.jpg)
Figueiredo – 2021
Origem/Destino ÚnicosRede de fluxos simples
1 vértice origem, 1 vértice destino
todos os outros vértices são internos
Origem não possui arestas de entrada
Destino não possui arestas de saída
s 5
1
3
5
3
2
3
4
24
4
5
t
2
5
12
![Page 6: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/6.jpg)
Figueiredo – 2021
Fluxo na RedeFluxo que está escoando pela rede, entrando na origem e saindo no destino
determinar o fluxo de cada arestas
Função f : E R , com restrições→
1) Capacidade
Fluxo em uma aresta é menor que sua capacidade
2) Conservação
Fluxo que entra no vértice interno igual ao fluxo que sai do vértice interno
Fluxo que sai da origem igual fluxo que entra no destino
Valor do fluxo f
quantidade de fluxo saindo da origem
![Page 7: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/7.jpg)
Figueiredo – 2021
Exemplos
s 5
1
3
5/1
3/2
2/0
3/1
4
24/0
4/3
5/0
t
2/0
5/3
1/02/2
Fluxo válido?
Valor?
s 5
1
3
5/4
3/2
2/0
3/4
4
24/1
4/1
5/0
t
2/0
5/1
1/02/2
Fluxo válido?
fluxo
![Page 8: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/8.jpg)
Figueiredo – 2021
Problema do Fluxo MáximoDado G=(V,E) com capacidade nas arestas
e vértices s (origem) e t (destino)
Problema: Determinar fluxo máximo entre s e t
s 5
1
3
5
3
2
3
4
24
4
5
t
2
5
12
Fluxo máximo?
![Page 9: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/9.jpg)
Figueiredo – 2021
Limitantes para Fluxo MáximoCapacidade de saída de s, Cs
soma das capacidades das arestas de saída
Capacidade de entrada em t, Ct
soma das capacidades das arestas de entrada
Fluxo máximo <= min{Cs, Ct}
s 5
1
3
5
3
2
3
4
24
4
5
t
2
5
12
Cs = 8, Ct =7
Fluxo máximo <= 7
![Page 10: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/10.jpg)
Figueiredo – 2021
Corte em Redes de FluxoVariação da definição de corte em grafos
Corte s-t (A, B) é uma partição dos vértices nos conjuntos A e B tal que s está em A e t está em B
Capacidade do corte (ou custo do corte)
soma das capacidades da arestas do corte orientadas de A para B
c A , B= ∑e=a , b , a∈ A, b∈B
c e
![Page 11: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/11.jpg)
Figueiredo – 2021
Exemplos
c(A,B) = 8s 5
1
3
5
32
34
24
4
5
t
2
5
12
s 51
3
5
32
34
24
4
5
t
2
5
12
c(A,B) = 9
![Page 12: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/12.jpg)
Figueiredo – 2021
Problema do Corte MínimoDado G=(V,E) com capacidade nas arestas
E dois vértices s e t
Problema: Determinar corte s-t de menor capacidade
s 5
1
3
5
3
2
3
4
24
4
5
t
2
5
12
Corte mínimo?
![Page 13: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/13.jpg)
Figueiredo – 2021
Limitantes para Corte MínimoCapacidade de saída de s, Cs
soma das capacidades das arestas de saída
Capacidade de entrada em t, Ct
soma das capacidades das arestas de entrada
Corte mínimo <= min{Cs, Ct}
s 5
1
3
5
3
2
3
4
24
4
5
t
2
5
12
Cs = 8, Ct =7
Corte mínimo<= 7
![Page 14: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/14.jpg)
Figueiredo – 2021
Corte Mínimo
s 5
1
3
5
3
2
3
4
24
4
5
t
2
5
12
A = {s, 1} , B = {2,3,4,5,t}
c(A,B) = 6
Não há outro corte com menor capacidade
![Page 15: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/15.jpg)
Figueiredo – 2021
Fluxo Máximo e Corte Mínimo
Problemas duais: Fluxo máximo é igual ao corte mínimo em qualquer rede de fluxos
resolver um problema implica em resolver o outro
diferentes algoritmos
Mostrar essa dualidade
![Page 16: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/16.jpg)
Figueiredo – 2021
Fluxo Total no Corte
s 5
1
3
5/3
3/2
2/0
3/3
4
24/0
4/4
5/0
t
2/1
5/4
1/12/2
Fluxo total (A,B) = 5
Fluxo total (A,B) = 5
Seja f um fluxo na rede e (A, B) um corte s-t
então o fluxo total entre A e B é igual ao fluxo saindo de s
∑e saindo de A
f (e)− ∑e entrando em A
f (e)
![Page 17: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/17.jpg)
Figueiredo – 2021
Lema do Fluxo TotalSeja f um fluxo, e (A, B) um corte s-t
Então o fluxo total entre A e B é igual ao fluxo saindo de s
∑e saindo de A
f e − ∑e entrando em A
f e =v f
Prova v f = ∑e saindo des
f e
v f =∑v∈ A ∑
e saindo de v
f e− ∑e entrando em v
f ev f = ∑
e saindo de A
f e − ∑e entrando em A
f e
Conservação de fluxo: todos os termos são zero menos s e t
Todas arestasdentro de A se cancelam
![Page 18: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/18.jpg)
Figueiredo – 2021
Relação de Fluxo e CorteSeja f um fluxo qualquer e (A, B) um corte s-t qualquer
Então o valor do fluxo v(f), é no máximo a capacidade do corte
v f c A , B
Exemplo
v(f) = 5
c(A,B) = 9
c(A,B) = 11s 5
1
3
5/3
3/2
2/0
3/3
4
24/0
4/4
5/0
t
2/1
5/4
1/12/2
![Page 19: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/19.jpg)
Figueiredo – 2021
Dualidade FracaSeja f um fluxo qualquer e (A, B) um corte s-t qualquer, então v ( f )⩽c( A ,B)
Provav ( f )= ∑
e saindo de Af (e)− ∑
e entrando em Af (e)
⩽ ∑e saindo de A
f (e)
⩽ ∑e saindo de A
c (e)
=c ( A , B)
Implica que fluxo máximo é menor ou igual ao corte mínimo
v(f) <= c*(A,B), onde c*(A,B) é o corte mínimo
![Page 20: Grafos - Aula 16](https://reader036.vdocuments.site/reader036/viewer/2022063020/62bc179836d41b17011424ef/html5/thumbnails/20.jpg)
Figueiredo – 2021
Dualidade FortePara qualquer rede de fluxos
Temos que v(f) <= c*(A,B), o corte mínimo
Seja v*(f) o valor do fluxo máximo
Pode-se mostrar que c*(A,B) <= v*(f)
detalhes no livro texto
Logo temos que c*(A,B) = v*(f)
Fluxo Máximo = Corte Mínimo