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.

Conjunto in<strong>de</strong>pen<strong>de</strong>nte máximo<br />

Instância Um grafo não-direcionado G = (V, E).<br />

7.2. Branch-and-bound<br />

Solução Um conjunto in<strong>de</strong>pen<strong>de</strong>nte M ⊆ V , i.e. para todo m1, m2 ∈ V<br />

temos {m1, m2} ∈ E.<br />

Objetivo Maximiza a cardinalida<strong>de</strong> |M|.<br />

Uma abordagem similar com a cobertura por vértices resolve o problema: caso<br />

o grau máximo do grafo é dois, o problema possui uma solução em tempo<br />

linear. Caso contrário existe ao menos um vértice <strong>de</strong> grau três. Caso o vértice<br />

faz parte do conjunto in<strong>de</strong>pen<strong>de</strong>nte máximo po<strong>de</strong>mos remover {v} ∪ N(v)<br />

do grafo, para encontrar a conjunto in<strong>de</strong>pen<strong>de</strong>nte máximo no grafo restante.<br />

Caso contrário po<strong>de</strong>mos remover v. Com isso obtemos a recorrência<br />

T (n) ≤ T (n − 1) + T (n − 4)<br />

para o número <strong>de</strong> folhas da árvore <strong>de</strong> busca. A recorrência possui solução<br />

O(1.39 n ), melhor que a abordagem direta <strong>de</strong> testar os 2 n subconjuntos. ♦<br />

7.2. Branch-and-bound<br />

Branch-and-bound<br />

Ramifica-e-limite (ingl. branch-and-bound)<br />

• Técnica geral para problemas combinatoriais.<br />

Branch and Bound is by far the most wi<strong>de</strong>ly used tool for<br />

solving large scale NP-hard combinatorial optimization problems.<br />

[12]<br />

• Idéia básica:<br />

– Particiona um problema em subproblemas disjuntos e procura soluções<br />

recursivamente.<br />

– Evite percorrer toda árvore <strong>de</strong> busca, calculando limites e cortando<br />

sub-árvores.<br />

• Particularmente efetivo para programas inteiras: a relaxação linear fornece<br />

os limites.<br />

163

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

Saved successfully!

Ooh no, something went wrong!