13.04.2013 Views

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

10. <strong>Algoritmos</strong> <strong>de</strong> aproximação<br />

Algoritmo 10.2 (KCM)<br />

Entrada Grafo G = (V, A, c).<br />

Saida Um k-corte.<br />

1. Calcula uma AGH T em G.<br />

2. Forma a união dos k − 1 cortes mais leves <strong>de</strong>finidos por k − 1<br />

arestas em T .<br />

Teorema 10.7<br />

Algoritmo 10.2 é uma 2 − 2/k-aproximação.<br />

Prova. Seja C ∗ = <br />

uma corte mínimo, <strong>de</strong>composto igual à prova<br />

1≤i≤k C∗ i<br />

anterior. O nosso objetivo e <strong>de</strong>monstrar que existem k − 1 cortes <strong>de</strong>finidos<br />

por uma aresta em T que são mais leves que os C∗ i .<br />

Removendo C∗ <strong>de</strong> G gera componentes V1, . . . , Vk: Define um grafo sobre esses<br />

componentes i<strong>de</strong>ntificando vértices <strong>de</strong> uma componente com arcos da AGH T<br />

entre os componentes, e eventualmente removendo arcos até obter uma nova<br />

árvore T ′ . Seja C∗ k o corte <strong>de</strong> maior peso, e <strong>de</strong>fine Vk como raiz da árvore.<br />

Desta forma, cada componente V1, . . . , Vk−1 possui uma aresta associada na<br />

direção da raiz. Para cada <strong>de</strong>ssas arestas (u, v) temos<br />

w(C ∗ i ) ≥ w ′ (u, v)<br />

porque C ∗ i isola o componente Vi do resto do grafo (particularmente separa u<br />

e v), e w ′ (u, v) é o peso do menor corte que separa u e v. Logo<br />

w(C) ≤ <br />

w ′ (a) ≤ <br />

w(C ∗ i ) ≤ (1−1/k) <br />

a∈T ′<br />

10.4. Exercícios<br />

1≤i

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

Saved successfully!

Ooh no, something went wrong!