Na nossa décima quinta aula de métodos computacionais discutimos a estratégia conhecida como Programação Dinâmica. Esses são os slides usados em sala.
Códigos usados em sala de aula
Fibonacci com Memoization ou Bottom-Up
Programação dinâmica para resolver o problema da mochila
Programação dinâmica para encontrar os menores caminhos
Referências para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Capítulo 8]
Combinatorial optimization: Algorithms and Complexity - Christos H Papadimitriou e Kenneth Steiglitz [Capítulo 18]
Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein [Capítulo 15]
Soluções da série de exercícios
Problema do troco [Questão 1]
Justificação de textos usando Programação Dinâmica [Questão 2]
Regressão linear segmentada [Questão 3]
Maximizar a soma do produto dos elementos de uma pilha [Questão 4]
Multiplicação de cadeias de matrizes [Questão 6]
Investimento ótimo [Questão 7 (n)]
Produção ótima [Questão 7 (y)]