Algoritmos e complexidade Notas de aula - Arquivo Escolar
Algoritmos e complexidade Notas de aula - Arquivo Escolar Algoritmos e complexidade Notas de aula - Arquivo Escolar
9. Algoritmos em grafos 9.2. Emparelhamentos Dado um grafo não-direcionado G = (V, E), um emparelhamento é uma seleção de arestas M ⊆ E tal que todo vértice tem no máximo grau 1 em G ′ = (V, M). (Notação: M = {u1v1, u2v2, . . .}.) O nosso interesse em emparelhamentos é maximizar o número de arestas selecionados ou, no caso as arestas possuem pesos, maximizar o peso total das arestas selecionados. Para um grafo com pesos c : E → Q, seja c(M) = e∈M ce o valor do emparelhamento M. Emparelhamento máximo (EM) Entrada Um grafo G = (V, E) não-direcionado. Solução Um emparelhamento M ⊆ E, i.e. um conjunto de arcos, tal que para todos vértices v temos |N(v) ∩ M| ≤ 1. Objetivo Maximiza |M|. Emparelhamento de peso máximo (EPM) Entrada Um grafo G = (V, E, c) não-direcionado com pesos c : E → Q nas arestas. Solução Um emparelhamento M ⊆ E. Objetivo Maximiza o valor c(M) de M. Um emparelhamento se chama perfeito se todo vértice possui vizinho em M. Uma variação comum do problema é 214 Emparelhamento perfeito de peso mínimo (EPPM) Entrada Um grafo G = (V, E, c) não-direcionado com pesos c : E → Q nas arestas. Solução Um emparelhamento perfeito M ⊆ E, i.e. um conjunto de arcos, tal que para todos vértices v temos |N(v) ∩ M |= 1.
Objetivo Minimiza o valor c(M) de M. 9.2. Emparelhamentos Observe que os pesos em todos problemas podem ser negativos. O problema de encontrar um emparelhamento de peso mínimo em G = (V, E, c) é equivalente com EPM em −G := (V, E, −c) (por quê?). Até EPPM pode ser reduzido para EPM. Teorema 9.3 EPM e EPPM são problemas equivalentes. Prova. Seja G = (V, E, c) uma instância de EPM. Define um conjunto de vértices V ′ que contém V e mais |V | novos vértices e um grafo completo G ′ = (V ′ , V ′ × V ′ , c ′ ) com c ′ e = −ce caso e ∈ E 0 caso contrário . Dado um emparelhamento M em G podemos definir um emparelhamento perfeito M ′ em G ′ : M ′ inclui todas arestas em M. Além disso, um vértice em V não emparelhado em M será emparelhado com o novo vértice correspondente em V ′ com uma aresta de custo 0 em M ′ . Similarmente, os restantes vértices não emparelhados em V ′ são emparelhados em M ′ com arestas de custo 0 entre si. Pela construção, o valor de M ′ é c ′ (M ′ ) = −c(M). Dado um emparelhamento M ′ em G ′ podemos obter um emparelhamento M em G com valor −c(M ′ ) removendo as arestas que não pertencem a G. Portanto, um EPPM em G ′ é um EPM em G. Conversamente, seja G = (V, E, c) uma instância de EPPM. Define C := 1 + e∈E |ce|, novos pesos c ′ e = C − ce e um grafo G ′ = (V, E, c ′ ). Para emparelhamentos M1 e M2 arbitrários temos c(M2) − c(M1) ≤ ce − ce = |ce| < C. e∈E ce>0 e∈E ce
- 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 194 and 195: 8. Algoritmos de aproximação Apro
- 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: Solução Um fluxo s-t f com valor
- 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
- Page 244 and 245: 11. Do algoritmo ao problema - entr
- Page 246 and 247: 11. Do algoritmo ao problema Lingua
- Page 248 and 249: 11. Do algoritmo ao problema Observ
- Page 250 and 251: 11. Do algoritmo ao problema Decibi
- Page 253 and 254: 12. Classes de complexidade 12.1. D
- Page 255 and 256: 12.2. Hierarquias básicas Prova. (
- Page 257 and 258: 12.2. Hierarquias básicas 1. Temos
- Page 259: 12.3. Exercícios 12.3. Exercícios
- Page 262 and 263: 13. Teoria de NP-completude • Int
- Page 264 and 265: 13. Teoria de NP-completude C-≤-d
Objetivo Minimiza o valor c(M) <strong>de</strong> M.<br />
9.2. Emparelhamentos<br />
Observe que os pesos em todos problemas po<strong>de</strong>m ser negativos. O problema <strong>de</strong><br />
encontrar um emparelhamento <strong>de</strong> peso mínimo em G = (V, E, c) é equivalente<br />
com EPM em −G := (V, E, −c) (por quê?). Até EPPM po<strong>de</strong> ser reduzido<br />
para EPM.<br />
Teorema 9.3<br />
EPM e EPPM são problemas equivalentes.<br />
Prova. Seja G = (V, E, c) uma instância <strong>de</strong> EPM. Define um conjunto <strong>de</strong><br />
vértices V ′ que contém V e mais |V | novos vértices e um grafo completo<br />
G ′ = (V ′ , V ′ × V ′ , c ′ ) com<br />
c ′ e =<br />
<br />
−ce caso e ∈ E<br />
0 caso contrário .<br />
Dado um emparelhamento M em G po<strong>de</strong>mos <strong>de</strong>finir um emparelhamento perfeito<br />
M ′ em G ′ : M ′ inclui todas arestas em M. Além disso, um vértice em<br />
V não emparelhado em M será emparelhado com o novo vértice correspon<strong>de</strong>nte<br />
em V ′ com uma aresta <strong>de</strong> custo 0 em M ′ . Similarmente, os restantes<br />
vértices não emparelhados em V ′ são emparelhados em M ′ com arestas <strong>de</strong><br />
custo 0 entre si. Pela construção, o valor <strong>de</strong> M ′ é c ′ (M ′ ) = −c(M). Dado<br />
um emparelhamento M ′ em G ′ po<strong>de</strong>mos obter um emparelhamento M em G<br />
com valor −c(M ′ ) removendo as arestas que não pertencem a G. Portanto,<br />
um EPPM em G ′ é um EPM em G.<br />
Conversamente, seja G = (V, E, c) uma instância <strong>de</strong> EPPM. Define C :=<br />
1 + <br />
e∈E |ce|, novos pesos c ′ e = C − ce e um grafo G ′ = (V, E, c ′ ). Para<br />
emparelhamentos M1 e M2 arbitrários temos<br />
c(M2) − c(M1) ≤ <br />
ce − <br />
ce = <br />
|ce| < C.<br />
e∈E<br />
ce>0<br />
e∈E<br />
ce