Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar Algoritmos e complexidade Notas de aula - Arquivo Escolar

arquivoescolar.org
from arquivoescolar.org More from this publisher
13.04.2013 Views

9. Algoritmos em grafos Ano Referência Complexidade Obs 1951 Dantzig O(n 2 mC) Simplex 1955 Ford & Fulkerson O(nmC) Cam. aument. 1970 Dinitz O(n 2 m) Cam. min. aument. 1972 Edmonds & Karp O(m 2 log C) Escalonamento 1973 Dinitz O(nm log C) Escalonamento 1974 Karzanov O(n 3 ) Preflow-Push 1977 Cherkassky O(n 2 m 1/2 ) Preflow-Push 1980 Galil & Naamad O(nm log 2 n) 1983 Sleator & Tarjan O(nm log n) 1986 Goldberg & Tarjan O(nm log(n 2 /m)) Push-Relabel 1987 Ahuja & Orlin O(nm + n 2 log C) 1987 Ahuja et al. O(nm log(n √ log C/m)) 1989 Cheriyan & Hagerup O(nm + n 2 log 2 n) 1990 Cheriyan et al. O(n 3 / log n) 1990 Alon O(nm + n 8/3 log n) 1992 King et al. O(nm + n 2+ɛ ) 1993 Phillips & Westbrook O(nm(log m/n n + log 2+ɛ n)) 1994 King et al. O(nm log m/(n log n) n) 1997 Goldberg & Rao O(m 3/2 log(n 2 /m) log C) O(n 2/3 m log(n 2 /m) log C) Tabela 9.1.: Complexidade para diversos algoritmos de fluxo máximo [60]. 206

9.1. Fluxos em redes Figura 9.5.: Reduções entre variações do problema do fluxo máximo. Esquerda: Fontes e destinos múltiplos. Direita: Limite inferior e superior para a capacidade de arcos. O problema (9.3) pode ser reduzido para um problema de fluxo máximo simples em G ′ = (V ′ , E ′ , c ′ ) (veja Fig. 9.5(a)) com V ′ = V ∪ {s ∗ , t ∗ } E ′ = E ∪ {(s ∗ , s) | s ∈ S} ∪ {(t, t ∗ ) | t ∈ T } (9.4) c ′ e = ⎧ ⎪⎨ ce c({s}, ⎪⎩ e ∈ E ¯ {s}) e = (s∗ c( , s) ¯ {t}, {t}) e = (t, t∗ ) Lema 9.10 Se f ′ é solução máxima de (9.4), f = f ′ |E é uma solução máxima de (9.3). Conversamente, se f é uma solução máxima de (9.3), f ′ e = é uma solução máxima de (9.4). ⎧ ⎪⎨ fe e ∈ E f(s) ⎪⎩ e = (s∗ −f(t) , s) e = (t, t∗ ) Prova. Supõe f é solução máxima de (9.3). Seja f ′ uma solução de (9.4) com valor f ′ (s ∗ ) maior. Então f ′ |E é um fluxo válido para (9.3) com solução f ′ |E(S) = f ′ (s ∗ ) maior, uma contradição. Conversamente, para cada fluxo válido f em G, a extensão f ′ definida acima é um fluxo válido em G ′ com o mesmo valor. Portanto o valor do maior fluxo em G ′ é maior ou igual ao valor do maior fluxo em G. 207

9. <strong>Algoritmos</strong> em grafos<br />

Ano Referência Complexida<strong>de</strong> Obs<br />

1951 Dantzig O(n 2 mC) Simplex<br />

1955 Ford & Fulkerson O(nmC) Cam. aument.<br />

1970 Dinitz O(n 2 m) Cam. min. aument.<br />

1972 Edmonds & Karp O(m 2 log C) Escalonamento<br />

1973 Dinitz O(nm log C) Escalonamento<br />

1974 Karzanov O(n 3 ) Preflow-Push<br />

1977 Cherkassky O(n 2 m 1/2 ) Preflow-Push<br />

1980 Galil & Naamad O(nm log 2 n)<br />

1983 Sleator & Tarjan O(nm log n)<br />

1986 Goldberg & Tarjan O(nm log(n 2 /m)) Push-Relabel<br />

1987 Ahuja & Orlin O(nm + n 2 log C)<br />

1987 Ahuja et al. O(nm log(n √ log C/m))<br />

1989 Cheriyan & Hagerup O(nm + n 2 log 2 n)<br />

1990 Cheriyan et al. O(n 3 / log n)<br />

1990 Alon O(nm + n 8/3 log n)<br />

1992 King et al. O(nm + n 2+ɛ )<br />

1993 Phillips & Westbrook O(nm(log m/n n + log 2+ɛ n))<br />

1994 King et al. O(nm log m/(n log n) n)<br />

1997 Goldberg & Rao O(m 3/2 log(n 2 /m) log C)<br />

O(n 2/3 m log(n 2 /m) log C)<br />

Tabela 9.1.: Complexida<strong>de</strong> para diversos algoritmos <strong>de</strong> fluxo máximo [60].<br />

206

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!