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.3. <strong>Algoritmos</strong> <strong>de</strong> aproximação para cortes<br />

Figura 10.5.: Exemplo <strong>de</strong> um grafo em que o algoritmo 10.1 retorne uma 2 −<br />

2/k-aproximação.<br />

Solução <strong>de</strong> k-CM Problema: Como saber a on<strong>de</strong> cortar?<br />

Fato 10.2<br />

Existem somente n−1 cortes diferentes num grafo. Eles po<strong>de</strong>m ser organizados<br />

numa árvore <strong>de</strong> Gomory-Hu (AGH) T = (V, T ). Cada aresta <strong>de</strong>ssa árvore<br />

<strong>de</strong>fine um corte associado em G pelos dois componentes após a sua remoção.<br />

1. Para cada u, v ∈ V o menor corte u–v em G é igual a o menor corte u–v<br />

em T (i.e. a aresta <strong>de</strong> menor peso no caminho único entre u e v em T ).<br />

2. Para cada aresta a ∈ T , w ′ (a) é igual a valor do corte associado.<br />

Por conseqüência, a AGH codifica o valor <strong>de</strong> todos cortes em G.<br />

Ele po<strong>de</strong> ser calculado com n − 1 cortes s–t mínimos:<br />

1. Define um grafo com um único vértice que representa todos vértices do<br />

grafo original. Chama um vértice que representa mais que um vértice<br />

do grafo original gordo.<br />

2. Enquanto existem vértices gordos:<br />

a) Escolhe um vértice e dois vértices do grafo original representados<br />

por ela.<br />

b) Caclulca um corte mínimo entre esses vértices.<br />

c) Separa o vértice gordo <strong>de</strong> acordo com o corte mínimo encontrado.<br />

Observação: A união dos cortes <strong>de</strong>finidos por k − 1 arestas na AGH separa G<br />

em ao menos k componentes. Isso leva ao seguinte algoritmo.<br />

235

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

Saved successfully!

Ooh no, something went wrong!