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.

5. Programação dinâmica<br />

Depen<strong>de</strong>ndo do tamanho dos matrizes, um <strong>de</strong>sses produtos tem o menor<br />

número <strong>de</strong> adições é multiplicações. O produto <strong>de</strong> duas matrizes p × q e<br />

q × r precisa prq multiplicações e pr(q − 1) adições. No exemplo acima, caso<br />

temos matrizes do tamanho 3 × 1, 1 × 4, 4 × 1 e 1 × 5 as or<strong>de</strong>ns diferentes<br />

resultam em<br />

Número <strong>de</strong> multiplicações para cada sequência<br />

20 + 20 + 15 = 55<br />

4 + 5 + 15 = 24<br />

12 + 20 + 60 = 92<br />

4 + 5 + 15 = 24<br />

12 + 12 + 15 = 39<br />

operações, respectivamente. Logo, antes <strong>de</strong> multiplicar as matrizes vale a<br />

pena <strong>de</strong>terminar a or<strong>de</strong>m ótima (caso o tempo para <strong>de</strong>terminar ela não é<br />

proibitivo). Dada uma or<strong>de</strong>m, po<strong>de</strong>mos computar o número <strong>de</strong> adições e<br />

multiplicações em tempo linear. Mas quantas or<strong>de</strong>ns tem? O produto final<br />

consiste em duas matrizes que são os resultados dos produtos <strong>de</strong> i e n − i<br />

matrizes; o ponto <strong>de</strong> separação i po<strong>de</strong> ser <strong>de</strong>pois qualquer matriz 1 ≤ i < n.<br />

Por isso o número <strong>de</strong> possibilida<strong>de</strong>s Cn satisfaz a recorrência<br />

Cn = <br />

1≤i

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

Saved successfully!

Ooh no, something went wrong!