A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 / 13 Felipe L. SeverinoAnálise de algoritmos Adventures in Moving – Part IV Felipe L. Severino Análise e Desenvolvimento de algoritmos paralela e.

Apresentações semelhantes


Apresentação em tema: "1 / 13 Felipe L. SeverinoAnálise de algoritmos Adventures in Moving – Part IV Felipe L. Severino Análise e Desenvolvimento de algoritmos paralela e."— Transcrição da apresentação:

1 1 / 13 Felipe L. SeverinoAnálise de algoritmos Adventures in Moving – Part IV Felipe L. Severino Análise e Desenvolvimento de algoritmos paralela e

2 2 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Sumário Descrição do problema Método de resolução Pseudocódigo Análise Equação de recorrência Considerações

3 3 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Descrição do problema Calcular o menor gasto possível no deslocamento de uma cidade origem (A) até uma cidade destino (B); Restrições: Início de viagem com 100 litros; Fim de viagem com 100 litros ou mais; Capacidade máxima: 200 litros; Distância máxima entre A e B: km; Quantidade máxima de postos: 100; Custo máximo do litro do combustível: 2000 (dezenas de cents).

4 4 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Método de resolução Similar ao problema da mochila; Utilizar programação dinâmica para calcular o custo mínimo para chegar em cada distância considerando cada posto; Utilização de uma matriz: (Distância entre A e B) X (Postos); Vetor de informações sobre postos;

5 5 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Método de resolução Posto1Posto2Posto3Posto4Posto5 Distância Custo510235

6 6 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Método de resolução Posto1 (50)Posto2 (100) Posto3 (300) Posto4 (400)Posto5 (500) 15Min(, 10)INF 210 ( +5)Min(, +10)INF 315 ( +5)Min(, +10)INF INF Min(, +3)Min(, +5) 500INF Min(, +3)Min(, +5)

7 7 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Pseudocódigo input(); casos_impossiveis(); inicializa_matriz(); calculo(); output();

8 8 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Pseudocódigo for s=1 até N //numero de postos for i=1 até D //distância entre A e B if(i = distancia(s)+100) cost[i][s] = cost[i][s-1]; else if(cost[i-1][s]+preco(s) > cost[i][s-1]) cost[i][s] = cost[i][s-1]; else cost[i][s] = cost[i-1][s]+preco(s);

9 9 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Análise for s=1 até N N for i=1 até D D if(i = distancia(s)+100) cost[i][s] = cost[i][s-1]; else if(cost[i-1][s]+preco(s) > cost[i][s-1]) cost[i][s] = cost[i][s-1]; else cost[i][s] = cost[i-1][s]+preco(s);

10 10 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Análise input(); casos_impossiveis(); - Pode ser otimizado para input(); inicializa_matriz(); calculo(); - O(ND) output();

11 11 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Equação de recorrência cost[i][s-1], se (i=dist(s)+100) cost[i][s] = cost[i][s-1], se (cost[i-1][s]+preco(s) > cost[i][s-1]) cost[i-1][s]+preco(s), se (cost[i-1][s]+preco(s) <= cost[i][s-1]) 0, se i=0 INF, se s=0

12 12 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Considerações

13 13 / 13 Adventures in Moving – Part IV Felipe L. SeverinoAnálise de algoritmos Considerações Dificuldade para estimar casos extremos baseando- se apenas no texto Texto confuso (especificação do problema junto com input) Programa disponível para testes no toolkit com erros Problemas ao testar valores como 2000 no preço para todos os postos (apenas se todos os valores forem menores do que 1677)


Carregar ppt "1 / 13 Felipe L. SeverinoAnálise de algoritmos Adventures in Moving – Part IV Felipe L. Severino Análise e Desenvolvimento de algoritmos paralela e."

Apresentações semelhantes


Anúncios Google