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.

2. Análise <strong>de</strong> <strong>complexida<strong>de</strong></strong><br />

2.1. Introdução<br />

Para analisar a eficiência <strong>de</strong> algoritmos faz pouco sentido medir os recursos<br />

gastos em computadores específicos, porque <strong>de</strong>vido a diferentes conjuntos<br />

<strong>de</strong> instruções, arquiteturas e <strong>de</strong>sempenho dos processadores, as medidas são<br />

difíceis <strong>de</strong> comparar. Portanto, usamos um mo<strong>de</strong>lo <strong>de</strong> uma máquina que reflita<br />

as características <strong>de</strong> computadores comuns, mas é in<strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> uma<br />

implementação concreta. Um mo<strong>de</strong>lo comum é a máquina <strong>de</strong> RAM com as<br />

seguintes características:<br />

• um processador com um ou mais registros, e com apontador <strong>de</strong> instruções,<br />

• uma memória infinita <strong>de</strong> números inteiros e<br />

• um conjunto <strong>de</strong> instruções elementares que po<strong>de</strong>m ser executadas em<br />

tempo O(1) (por exemplo funções básicas sobre números inteiros e <strong>de</strong><br />

ponto flutuante, acesso à memória e transferência <strong>de</strong> dados); essas operações<br />

refletem operações típicas <strong>de</strong> máquinas concretas.<br />

Observe que a escolha <strong>de</strong> um mo<strong>de</strong>lo abstrato não é totalmente trivial. Conhecemos<br />

vários mo<strong>de</strong>los <strong>de</strong> computadores, cuja po<strong>de</strong>r computacional não é equivalente<br />

em termos <strong>de</strong> <strong>complexida<strong>de</strong></strong> (que não viola a tese <strong>de</strong> Church-Turing).<br />

Mas todos os mo<strong>de</strong>los encontrados (fora da computação quântica) são polinomialmente<br />

equivalentes, e portanto, a noção <strong>de</strong> eficiência fica a mesma. A<br />

tese que todos mo<strong>de</strong>los computacionais são polinomialmente equivalentes as<br />

vezes está chamado tese <strong>de</strong> Church-Turing estendida.<br />

O plano<br />

Uma hierarquia <strong>de</strong> abstrações:<br />

Tempo <strong>de</strong><br />

execução [s]<br />

Custos <strong>de</strong> execuções<br />

Número <br />

<strong>de</strong><br />

operações<br />

<br />

Operações no<br />

caso pessimista<br />

Complexida<strong>de</strong><br />

<br />

pessimista<br />

assintótica<br />

• Seja E o conjunto <strong>de</strong> sequências <strong>de</strong> operações fundamentais.<br />

31

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

Saved successfully!

Ooh no, something went wrong!