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.

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

12(log 1/ɛ)/e8<br />

• o problema do mochila múltiplo com <strong>complexida<strong>de</strong></strong> O(n )<br />

(Chekuri, Kanna, 2000);<br />

• o problema do conjunto in<strong>de</strong>pen<strong>de</strong>nte máximo em grafos com <strong>complexida<strong>de</strong></strong><br />

O(n (4/π)(1/ɛ2 +1) 2 (1/ɛ 2 +2) 2<br />

) (Erlebach, 2001).<br />

Para obter uma aproximação com 20% <strong>de</strong> erro, i.e. ɛ = 0.2 obtemos algoritmos<br />

com <strong>complexida<strong>de</strong></strong> O(n 15000 ), O(n 375000 ) e O(n 523804 ), respectivamente!<br />

8.5. Exercícios<br />

Exercício 8.1<br />

Um aluno propõe a seguinte heurística para Binpacking: Or<strong>de</strong>ne os itens em<br />

or<strong>de</strong>m crescente, coloca o item com peso máximo junto com quantas itens <strong>de</strong><br />

peso mínimo que é possível, e <strong>de</strong>pois continua com o segundo maior item, até<br />

todos itens foram colocados em bins. Temos o algoritmo<br />

1 or<strong>de</strong>ne i t e n s em or<strong>de</strong>m c r e s c e n t e<br />

2 m := 1 ; M := n<br />

3 while (m < M ) do<br />

4 abre novo container , c o l o c a vM , M := M − 1<br />

5 while (vm cabe e m < M ) do<br />

6 c o l o c a vm no c o n t a i n e r a t u a l<br />

7 m := m + 1<br />

8 end while<br />

9 end while<br />

Qual a qualida<strong>de</strong> <strong>de</strong>sse algoritmo? É um algoritmo <strong>de</strong> aproximação? Caso<br />

sim, qual a taxa <strong>de</strong> aproximação <strong>de</strong>le? Caso não, por quê?<br />

Exercício 8.2<br />

Prof. Rapi<strong>de</strong>z propõe o seguinte pré-processamento para o algoritmo SAT-R <strong>de</strong><br />

aproximação para MAX-SAT (página 184): Caso a instância contém claúsulas<br />

com um único literal, vamos escolher uma <strong>de</strong>las, <strong>de</strong>finir uma atribuição parcial<br />

que satisfazê-la, e eliminar a variável correspon<strong>de</strong>nte. Repetindo esse procedimento,<br />

obtemos uma instância cujas claúsulas tem 2 ou mais literais. Assim,<br />

obtemos l ≥ 2 na análise do algoritmo, o po<strong>de</strong>mos garantir que E[X] ≥ 3n/4,<br />

i.e. obtemos uma 4/3-aproximação.<br />

Este análise é correto ou não?<br />

194

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

Saved successfully!

Ooh no, something went wrong!