Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar Algoritmos e complexidade Notas de aula - Arquivo Escolar

arquivoescolar.org
from arquivoescolar.org More from this publisher
13.04.2013 Views

9. Algoritmos em grafos Bi-partido O(n Cardinalidade Ponderado q mn log n ) [5] O(nm + n 2 log n) [44, 54] O(m √ n log(n2 /m) ) [24] log n Geral O(m √ n log(n2 /m) ) [31, 26] O(n log n 3 ) [21] O(mn + n 2 log n) [29] Tabela 9.2.: Resumo emparelhamentos 9.2.4. Exercícios Exercício 9.1 É possível somar uma constante c ∈ R para todos custos de uma instância do EPM ou EPPM, mantendo a otimalidade da solução? 228

10. Algoritmos de aproximação (As notas seguem Vazirani [67].) Um algoritmo de aproximação calcula uma solução aproximada para um problema de otimização. Diferente de uma heurística, o algoritmo garante a qualidade da aproximação no pior caso. Dado um problema e um algoritmo de aproximação A, escrevemos A(x) = y para a solução aproximada da instância x, ϕ(x, y) para o valor dessa solução, y ∗ para a solução ótimo e OPT(x) = ϕ(x, y ∗ ) para o valor da solução ótima. Lembramos que uma aproximação absoluta garante que D(x, y) = |OPT(x) − ϕ(x, y)| ≤ D para uma constante D e todo x, enquanto uma aproximação relativa garante que o erro relativo E(x, y) = D(x, y)/ max{OPT(x), ϕ(x, y)} ≤ E para uma constante E e todos x. Definição 10.1 Uma redução preservando a aproximação entre dois problemas de minimização Π1 e Π2 consiste em um par de funções f e g (computáveis em tempo polinomial) tal que para instância x1 de Π1, x2 := f(x1) é instância de Π2 com OPTΠ2 (x2) ≤ OPTΠ1 (x1) (10.1) e para uma solução y2 de Π2 temos uma solução y1 := g(x1, y2) de Π1 com ϕΠ1(x1, y1) ≤ ϕΠ2(x2, y2) (10.2) Uma redução preservando a aproximação fornece uma α-aproximação para Π1 dada uma α-aproximação para Π2, porque ϕΠ1 (x1, y1) ≤ ϕΠ2 (x2, y2) ≤ αOPTΠ2 (x2) ≤ αOPTΠ1 (x1). Observe que essa definição é somente para problemas de minimização. A definição no caso de maximização é semelhante. 10.1. Aproximação para o problema da árvore de Steiner mínima Seja G = (V, A) um grafo completo, não-direcionado com custos ca ≥ 0 nos arcos. O problema da árvore Steiner mínima (ASM) consiste em achar o 229

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

(As notas seguem Vazirani [67].)<br />

Um algoritmo <strong>de</strong> aproximação calcula uma solução aproximada para um problema<br />

<strong>de</strong> otimização. Diferente <strong>de</strong> uma heurística, o algoritmo garante a<br />

qualida<strong>de</strong> da aproximação no pior caso. Dado um problema e um algoritmo<br />

<strong>de</strong> aproximação A, escrevemos A(x) = y para a solução aproximada<br />

da instância x, ϕ(x, y) para o valor <strong>de</strong>ssa solução, y ∗ para a solução ótimo e<br />

OPT(x) = ϕ(x, y ∗ ) para o valor da solução ótima. Lembramos que uma aproximação<br />

absoluta garante que D(x, y) = |OPT(x) − ϕ(x, y)| ≤ D para uma<br />

constante D e todo x, enquanto uma aproximação relativa garante que o erro<br />

relativo E(x, y) = D(x, y)/ max{OPT(x), ϕ(x, y)} ≤ E para uma constante E<br />

e todos x.<br />

Definição 10.1<br />

Uma redução preservando a aproximação entre dois problemas <strong>de</strong> minimização<br />

Π1 e Π2 consiste em um par <strong>de</strong> funções f e g (computáveis em tempo polinomial)<br />

tal que para instância x1 <strong>de</strong> Π1, x2 := f(x1) é instância <strong>de</strong> Π2 com<br />

OPTΠ2 (x2) ≤ OPTΠ1 (x1) (10.1)<br />

e para uma solução y2 <strong>de</strong> Π2 temos uma solução y1 := g(x1, y2) <strong>de</strong> Π1 com<br />

ϕΠ1(x1, y1) ≤ ϕΠ2(x2, y2) (10.2)<br />

Uma redução preservando a aproximação fornece uma α-aproximação para Π1<br />

dada uma α-aproximação para Π2, porque<br />

ϕΠ1 (x1, y1) ≤ ϕΠ2 (x2, y2) ≤ αOPTΠ2 (x2) ≤ αOPTΠ1 (x1).<br />

Observe que essa <strong>de</strong>finição é somente para problemas <strong>de</strong> minimização. A<br />

<strong>de</strong>finição no caso <strong>de</strong> maximização é semelhante.<br />

10.1. Aproximação para o problema da árvore <strong>de</strong> Steiner<br />

mínima<br />

Seja G = (V, A) um grafo completo, não-direcionado com custos ca ≥ 0 nos<br />

arcos. O problema da árvore Steiner mínima (ASM) consiste em achar o<br />

229

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

Saved successfully!

Ooh no, something went wrong!