A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ESCOLA DE ENGENHARIA C++ Ford-Fulkerson. C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Fonte, Sumidouro, Capacidade e Fluxo 23 16 45 20, 5 11, 8 5,

Apresentações semelhantes


Apresentação em tema: "ESCOLA DE ENGENHARIA C++ Ford-Fulkerson. C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Fonte, Sumidouro, Capacidade e Fluxo 23 16 45 20, 5 11, 8 5,"— Transcrição da apresentação:

1 ESCOLA DE ENGENHARIA C++ Ford-Fulkerson

2 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Fonte, Sumidouro, Capacidade e Fluxo , 5 11, 8 5, 2 7, 4 4, 3 3, 3 13, 6 10, 4 Fonte ( s ) Sumidouro ( t ) Capacidade ( c ) Fluxo ( f ) exemplos: c 52 = 4 f 52 = 3 c 36 = 13 f 36 = 6 2/14

3 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Condições 0 f ij c ij (fluxo não supera capacidade) 0 < c ij (capacidade não negativa) nos arcos: i j c ij, f ij nos vértices: i f ij (sai) f ki (entra) (conservação) soma dos que saem soma dos que entram 3/14

4 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Cortes , 5 11, 8 5, 2 7, 4 4, 3 3, 3 13, 6 10, 4 corte (A, B) c(A, B) = = 18 f(A, B) = = 0 (A, B) A = {2, 3} B = {1, 4, 5, 6} c(C, D) = 7 f(C, D) = = 0 (C, D) C = {4} D = {1, 2, 3, 5, 6} este sim x este não não contém a fonte e nem o sumidouro x x x x capacidade do corte (A, B) fluxo do corte (A, B) 4/14

5 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Cortes (continuação) , 5 11, 8 5, 2 7, 4 4, 3 3, 3 13, 6 10, 4 contém o sumidouro c(E, F) = = 27 f(E, F) = = 9 (G, H) G = {5, 6} H = {1, 2, 3, 4} contém a fonte (E, F) E = {1, 4} F = {2, 3, 5, 6} c(G, H) = 4 f(G, H) = = -9 5/14

6 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Cortes (continuação) , 5 11, 8 5, 2 7, 4 4, 3 3, 3 13, 6 10, 4 c(I, J) = = 30 f(I, J) = = 0 contém a fonte e o sumidouro (I, J) I = {1, 6} J = {2, 3, 4, 5} x este sim x este não x x x 6/14

7 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Cortes do Tipo (S, T) , 5 11, 8 5, 2 7, 4 4, 3 3, 3 13, 6 10, 4 c(S 1, T 1 ) = = 30 f (S 1, T 1 ) = = 9 contém a fonte contém o sumidouro S1S1S1S1 S3S3S3S3 S4S4S4S4 c(S 2, T 2 ) = = 21 f (S 2, T 2 ) = 8 – = 9 c(S 3, T 3 ) = = 16 f (S 3, T 3 ) = = 9 c(S 4, T 4 ) = = 18 f (S 4, T 4 ) = = 9 S2S2S2S2 7/14

8 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Cortes (S, T) e não (S, T) , 5 11, 8 5, 2 7, 4 4, 3 3, 3 13, 6 10, 4 fonte sumidouro 8/14

9 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Caminhos de Aumento de Fluxo , 5 11, 8 5, 2 7, 4 4, 3 3, 3 13, 6 10, 4 No contra-fluxo considere apenas o fluxo 12 = 20 – 5 = = 20 – 5 = = 11 – 8 = 3 23 = 11 – 8 = 3 36 = 13 – 6 = 7 36 = 13 – 6 = 7 14 = 10 – 4 = 6 14 = 10 – 4 = 6 45 = 7 – 4 = 3 45 = 7 – 4 = 3 35 = 2 35 = 2 36 = 13 – 9 = 4 36 = 13 – 9 = 4 20, 8 11, 11 13, 9 10, 6 7, 6 5, 0 13, 11 fluxo máximo = = 14? 9/14

10 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Alguns Resultados para o Algoritmo de Ford-Fulkerson #1: qualquer fluxo em uma rede é sempre um fluxo de um corte (S, T); um corte (S, T); #2: um fluxo em uma rede não excede a capacidade de qualquer corte (S, T); de qualquer corte (S, T); #3: um fluxo da fonte ao sumidouro em uma rede é máximo se, e somente se, não existe um caminho máximo se, e somente se, não existe um caminho de aumento de fluxo; de aumento de fluxo; #4: o fluxo máximo em uma rede é igual à capacidade mínima dentre os cortes (S, T). mínima dentre os cortes (S, T). 10/14

11 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Δ= – A=0 S=+ Algoritmo de Ford-Fulkerson Δ= – A=0 S=+ 20, 5 11, 8 13, 6 5, 2 3, 3 7, 4 10, 4 4, 3 fluxo inicial Δ= A=0 S=+ Δ=15 A=1 S=+ Δ=6 A=1 S=+ Δ=3 A=2 S=+ Δ=3 A=2 S= – atingiu o sumidouro Δ= – A=0 S=+ Δ=3 A=3 S=+ Δ= – A=0 S=+ 13, 9 11, 11 20, 8 Δ=12 A=1 S=+ Δ=6 A=1 S=+ Δ=0 A=2 S=+ Δ=3 A=2 S= – Δ=2 A=5 S= – Δ=0 A=5 S=+ Δ=2 A=3 S=+ atingiu o sumidouro 13, 11 5, 0 4, 1 20, 10 Δ= – A=0 S=+ Δ=10 A=1 S=+ Δ=6 A=1 S=+ Δ=0 A=2 S= + Δ=1 A=2 S= – Δ=3 A=4 S=+ Δ=0 A=5 S=+ atingiu o sumidouro o fluxo não pode ser mais aumentado fluxo máximo = 14 11/14 capacidade

12 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Exercícios #1: Encontre o fluxo máximo para a rede seguinte fluxo máximo = 7 12/14

13 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Exercícios #2: Encontre o fluxo máximo para a rede seguinte fluxo máximo = compare com outras respostas da classe respostas da classe 13/14

14 C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Ford-Fulkerson início Estabeleça os fluxos iniciais (zeros, por exemplo). (zeros, por exemplo). 1 Marque os outros vértices Δ= - A=0 S= +. Expanda o vértice com maior Δ. 1 O Δ do sumidouro é nulo? sim fim Um corte que contenha a fonte fornecerá o fluxo máximo.sim 2 2não Retire as (menos da fonte), volte uti- lizando os As e re- calcule os fluxos. Atingiu o Atingiu osumidouro? não Marque a fonte Δ= A=0 S= +,. 14/14


Carregar ppt "ESCOLA DE ENGENHARIA C++ Ford-Fulkerson. C++ - Ford-Fulkerson Prof. Lincoln Cesar Zamboni Fonte, Sumidouro, Capacidade e Fluxo 23 16 45 20, 5 11, 8 5,"

Apresentações semelhantes


Anúncios Google