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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

9.2. Emparelhamentos<br />

Teorema 9.4 (Berge, 1951)<br />

Em grafos bi-partidos o tamanho da menor cobertura por vértices é igual ao<br />

tamanho do emparelhamento máximo.<br />

9.2.1. Aplicações<br />

Alocação <strong>de</strong> tarefas Queremos alocar n tarefas a n trabalhadores, tal que<br />

cada tarefa é executada, e cada trabalhador executa uma tarefa. O custos <strong>de</strong><br />

execução <strong>de</strong>pen<strong>de</strong>m do trabalhar e da tarefa. Isso po<strong>de</strong> ser resolvido como<br />

problema <strong>de</strong> emparelhamento perfeito mínimo.<br />

Particionamento <strong>de</strong> polígonos ortogonais<br />

Teorema 9.5<br />

[58, cap. 11,th. 1] Um polígono ortogonal com n vértices <strong>de</strong> reflexo (ingl. reflex<br />

vertex, i.e., com ângulo interno maior que π), h buracos (ingl. holes) po<strong>de</strong> ser<br />

minimalmente particionado em n − l − h + 1 retângulos. A variável l é o<br />

número máximo <strong>de</strong> cordas (diagonais) horizontais ou verticais entre vértices<br />

<strong>de</strong> reflexo sem intersecção.<br />

O número l é o tamanho do conjunto in<strong>de</strong>pen<strong>de</strong>nte máximo no grafo <strong>de</strong> intersecção<br />

das cordas: cada corda é representada por um vértice, e uma aresta<br />

representa a duas cordas com interseção. Um conjunto in<strong>de</strong>pen<strong>de</strong>nte máximo<br />

é o complemento <strong>de</strong> uma cobertura por vértices mínima, o problema dual<br />

(9.15) <strong>de</strong> um emparelhamento máximo. Portanto, o tamanho <strong>de</strong> um emparelhamento<br />

máximo é igual n − h. Po<strong>de</strong>mos obter o conjunto in<strong>de</strong>pen<strong>de</strong>nte<br />

que procuramos usando “a meta<strong>de</strong>” do emparelhamento (os vértices <strong>de</strong> uma<br />

parte só) e os vértices não emparelhados. Po<strong>de</strong>mos achar o emparelhamento<br />

em tempo O(n 5/2 ) usando o algoritmo <strong>de</strong> Hopcroft-Karp, porque o grafo <strong>de</strong><br />

intersecção é bi-partido (por quê?).<br />

9.2.2. Grafos bi-partidos<br />

Na formulação como programa inteira a solução do caso bi-partido é mais fácil.<br />

Isso também é o caso para algoritmos combinatoriais, e portanto começamos<br />

estudar grafos bi-partidos.<br />

Redução para o problema do fluxo máximo<br />

Teorema 9.6<br />

Um EM em grafos bi-partidos po<strong>de</strong> ser obtido em tempo O(mn).<br />

♦<br />

217

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

Saved successfully!

Ooh no, something went wrong!