Dynamic programming

cosmos 27th March 2019 at 7:22pm
Algorithms Software engineering

aka memoization

https://en.wikipedia.org/wiki/Dynamic_programming

Properties we need

  • Overlapping subproblems -> memorization: record value 1st time it's computed, then look it up subsequently. Table lookup
  • Optimal substructure: global optimal solution can be constructed from optimal solutions to sub-problems.

video


One of the main applications is to Model-based reinforcement learning (also where the name originally arised, by Bellman)