Algoritmos e complexidade Notas de aula - Arquivo Escolar
Algoritmos e complexidade Notas de aula - Arquivo Escolar Algoritmos e complexidade Notas de aula - Arquivo Escolar
8. Algoritmos de aproximação Aproximação melhor? • Tese doutorado D. S. Johnson, 1973, 70 pág • Baker, 1985 8.4. Esquemas de aproximação Novas considerações ϕPiCD(x) ≤ 11 OPT(x) + 4 9 ϕPiCD(x) ≤ 11 OPT(x) + 3 9 • Freqüentemente uma r-aproximação não é suficiente. r = 2: 100% de erro! • Existem aproximações melhores? p.ex. para SAT? problema do mochila? • Desejável: Esquema de aproximação em tempo polinomial (EATP); polynomial time approximation scheme (PTAS) – Para cada entrada e taxa de aproximação r: – Retorne r-aproximação em tempo polinomial. Um exemplo: Mochila máxima (Knapsack) • Problema de mochila (veja página 185): • Algoritmo MM-PD com programação dinâmica (pág. 108): tempo O(n i vi). • Desvantagem: Pseudo-polinomial. Denotamos uma instância do problema do mochila com I = ({vi}, {ti}). 1 MM−PTAS(I ,r ) := 2 3 vmax := maxi{vi} t := log r−1 vmax r n 4 v ′ i := ⌊vi/2t⌋ para i = 1, . . . , n 5 Define nova i n s t â n c i a I ′ = ({v ′ i 6 return MM PD(I ′ ) }, {ti}) Teorema 8.1 MM-PTAS é uma r-aproximação em tempo O(rn 3 /(r − 1)). 192
8.4. Esquemas de aproximação Prova. A complexidade da preparação nas linhas 1–3 é O(n). A chamada para MM-PD custa O n v i ′ i = O n vi ((r − 1)/r)(vmax/n) i r r = O n2 vi/vmax = O r − 1 r − 1 n3 . Seja S = MM-PTAS(I) a solução obtida pelo algoritmo e S∗ uma solução ótima. ϕMM-PTAS(I, S) = vi ≥ 2 t vi/2 t definição de ⌊·⌋ Portanto i∈S i∈S ≥ 2 t vi/2 t i∈S ∗ ≥ i∈S ∗ = i∈S ∗ vi − 2 t vi ≥ OPT(I) − 2 t n i − 2 t |S ∗ | otimalidade de MM-PD sobre v ′ i (A.10) OPT(I) ≤ ϕMM-PTAS(I, S) + 2 t n ≤ ϕMM-PTAS(I, S) + OPT(x) 2 vmax t n ⇐⇒ OPT(I) 1 − 2t n ≤ ϕMM-PTAS(I, S) vmax e com 2 t n/vmax ≤ (r − 1)/r ⇐⇒ OPT(I) ≤ rϕMM-PTAS(I, S). Considerações finais Um EATP frequentemente não é suficiente para resolver um problema adequadamente. Por exemplo temos um EATP para • o problema do caixeiro viajante euclidiano com complexidade O(n 3000/ɛ ) (Arora, 1996); 193
- Page 143 and 144: 6.3. Algoritmos usando divisão e c
- Page 145 and 146: 6.3. Algoritmos usando divisão e c
- Page 147 and 148: 6.3. Algoritmos usando divisão e c
- Page 149 and 150: 6.3. Algoritmos usando divisão e c
- Page 151 and 152: unidade. Em total a avaliação pro
- Page 153: 3. T (n) = 3T (n/4) + n log n 4. T
- Page 156 and 157: 7. Árvores de busca, backtracking
- Page 158 and 159: 7. Árvores de busca, backtracking
- Page 160 and 161: 7. Árvores de busca, backtracking
- Page 162 and 163: 7. Árvores de busca, backtracking
- Page 164 and 165: 7. Árvores de busca, backtracking
- Page 166 and 167: 7. Árvores de busca, backtracking
- Page 168 and 169: 7. Árvores de busca, backtracking
- Page 170 and 171: 7. Árvores de busca, backtracking
- Page 172 and 173: 7. Árvores de busca, backtracking
- Page 174 and 175: 7. Árvores de busca, backtracking
- Page 176 and 177: 7. Árvores de busca, backtracking
- Page 178 and 179: 7. Árvores de busca, backtracking
- Page 180 and 181: 8. Algoritmos de aproximação Clas
- Page 182 and 183: 8. Algoritmos de aproximação Exem
- Page 184 and 185: 8. Algoritmos de aproximação - Te
- Page 186 and 187: 8. Algoritmos de aproximação O qu
- Page 188 and 189: 8. Algoritmos de aproximação Como
- Page 190 and 191: 8. Algoritmos de aproximação decr
- Page 192 and 193: 8. Algoritmos de aproximação •
- Page 196 and 197: 8. Algoritmos de aproximação 12(l
- Page 199 and 200: 9. Algoritmos em grafos 197
- Page 201 and 202: 9.1. Fluxos em redes A circulação
- Page 203 and 204: + + − + Figura 9.3.: Manter a con
- Page 205 and 206: Prova. Seja f um fluxo s-t. Temos 9
- Page 207 and 208: 9.1. Fluxos em redes aumentou nessa
- Page 209 and 210: 9.1. Fluxos em redes Figura 9.5.: R
- Page 211 and 212: V ′ = V ∪ {s ∗ , t ∗ } 9.1.
- Page 213 and 214: s 30 19 12 i 10 10 j 10 10 10 1010
- Page 215 and 216: Solução Um fluxo s-t f com valor
- Page 217 and 218: Objetivo Minimiza o valor c(M) de M
- Page 219 and 220: 9.2. Emparelhamentos Teorema 9.4 (B
- Page 221 and 222: 9.2. Emparelhamentos V1 e V2 com fl
- Page 223 and 224: 9.2. Emparelhamentos não sabemos c
- Page 225 and 226: 9.2. Emparelhamentos Sobre a implem
- Page 227 and 228: 9.2. Emparelhamentos reduzir o prob
- Page 229 and 230: v10 v9 v1 v8 v2 v3 v7 v6 v4 v5 v10
- Page 231 and 232: 10. Algoritmos de aproximação (As
- Page 233 and 234: 2 2 10.2. Aproximações para o PCV
- Page 235 and 236: 10.3. Algoritmos de aproximação p
- Page 237 and 238: 10.3. Algoritmos de aproximação p
- Page 239: Parte IV. Teoria de complexidade 23
- Page 242 and 243: 11. Do algoritmo ao problema Modelo
8. <strong>Algoritmos</strong> <strong>de</strong> aproximação<br />
Aproximação melhor?<br />
• Tese doutorado D. S. Johnson, 1973, 70 pág<br />
• Baker, 1985<br />
8.4. Esquemas <strong>de</strong> aproximação<br />
Novas consi<strong>de</strong>rações<br />
ϕPiCD(x) ≤ 11<br />
OPT(x) + 4<br />
9<br />
ϕPiCD(x) ≤ 11<br />
OPT(x) + 3<br />
9<br />
• Freqüentemente uma r-aproximação não é suficiente. r = 2: 100% <strong>de</strong><br />
erro!<br />
• Existem aproximações melhores? p.ex. para SAT? problema do mochila?<br />
• Desejável: Esquema <strong>de</strong> aproximação em tempo polinomial (EATP);<br />
polynomial time approximation scheme (PTAS)<br />
– Para cada entrada e taxa <strong>de</strong> aproximação r:<br />
– Retorne r-aproximação em tempo polinomial.<br />
Um exemplo: Mochila máxima (Knapsack)<br />
• Problema <strong>de</strong> mochila (veja página 185):<br />
• Algoritmo MM-PD com programação dinâmica (pág. 108): tempo O(n <br />
i vi).<br />
• Desvantagem: Pseudo-polinomial.<br />
Denotamos uma instância do problema do mochila com I = ({vi}, {ti}).<br />
1 MM−PTAS(I ,r ) :=<br />
2<br />
3<br />
vmax := maxi{vi}<br />
t := log r−1<br />
vmax<br />
r n<br />
4 v ′ i := ⌊vi/2t⌋ para i = 1, . . . , n<br />
5 Define nova i n s t â n c i a I ′ = ({v ′ i<br />
6 return MM PD(I ′ )<br />
}, {ti})<br />
Teorema 8.1<br />
MM-PTAS é uma r-aproximação em tempo O(rn 3 /(r − 1)).<br />
192