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.

4. <strong>Algoritmos</strong> gulosos<br />

4.1. Introdução<br />

(Veja [64, cap. 5.1.3].)<br />

<strong>Algoritmos</strong> gulosos<br />

Radix omnium malorum est cupiditas.<br />

• <strong>Algoritmos</strong> gulosos se aplicam a problemas <strong>de</strong> otimização.<br />

• Idéia principal: Deci<strong>de</strong> localmente.<br />

• Um algoritmo guloso constrói uma solução <strong>de</strong> um problema<br />

– Começa com uma solução inicial.<br />

– Melhora essa solução com uma <strong>de</strong>cisão local (gulosamente!).<br />

– Nunca revisa uma <strong>de</strong>cisão.<br />

(Seneca)<br />

• Por causa da localida<strong>de</strong>: <strong>Algoritmos</strong> gulosos freqüentemente são apropriados<br />

para processamento online.<br />

Trocar moedas<br />

Troca mínima<br />

Instância Valores (<strong>de</strong> moedas ou notas) v1 > v2 > · · · > vn = 1, uma<br />

soma s.<br />

Solução Números c1, . . . , cn tal que s = <br />

1≤i≤n civi<br />

Objetivo Minimizar o número <strong>de</strong> unida<strong>de</strong>s <br />

1≤i≤n ci.<br />

75

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

Saved successfully!

Ooh no, something went wrong!