grafos - aula 16

20
Figueiredo – 2021 Grafos - Aula 16 Roteiro Redes de fluxo Problema do fluxo máximo Problema do corte mínimo Dualidade fraca Dualidade forte

Upload: others

Post on 29-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grafos - Aula 16

Figueiredo – 2021

Grafos - Aula 16

RoteiroRedes de fluxoProblema do fluxo máximoProblema do corte mínimoDualidade fracaDualidade forte

Page 2: Grafos - Aula 16

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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