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.5. Tópicos<br />

D n = D ⌈log 2 n⌉ mais rápido quadrando D ⌈log 2 n⌉ vezes (ver os algoritmos<br />

<strong>de</strong> potênciação), uma abordagem que possui <strong>complexida<strong>de</strong></strong> O(n 3 log n).<br />

É uma observação importante que o algoritmo <strong>de</strong> Strassen (e algoritmos mais<br />

avançados como o algoritmo <strong>de</strong> Coppersmith-Winograd) só funcionam sobre<br />

aneis, porque eles precisam um inverso para a adição. Um algoritmo subcúbico<br />

para a multiplicação <strong>de</strong> matrizes em semi-aneis implicaria em um algoritmo<br />

sub-cúbico para o problema do caminho mínimo entre todos pares <strong>de</strong><br />

vértices e problemas similares. Para mais informações ver por exemplo Chan<br />

[11], Williams e Williams [72].<br />

Outra observação é que o algoritmo <strong>de</strong> Floyd-Warshall somento calcula as<br />

distâncias entre todos pares <strong>de</strong> vértices. Para <strong>de</strong>terminar os caminhos mais<br />

curtos, veja por exemplo [4]. ♦<br />

Exemplo<br />

5.5.2. Caixeiro viajante<br />

O problema <strong>de</strong> caixeiro viajante é um exemplo em que a programação dinâmica<br />

ajuda reduzir um trabalho exponencial. Esperadamente, o algoritmo final<br />

ainda é exponencial (o problema é NP-completo), mas significadamente menor.<br />

Problema do Caixeiro Viajante<br />

Instância Um grafo G=(V,E) com pesos d (distâncias) atribuídos aos<br />

links. V = [1, n] sem perda <strong>de</strong> generalida<strong>de</strong>.<br />

Solução Uma rota que visita todos vértices exatamente uma vez, i.e. uma<br />

permutação <strong>de</strong> [1, n].<br />

Objetivo Minimizar o custo da rota <br />

1≤i

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

Saved successfully!

Ooh no, something went wrong!