title: Is dynamic programming backtracking with cache
body: <p>I've always wondered about this. And no books state this explicitly.</p>
  <p>Backtracking is exploring all possibilities until we figure out one possibility cannot lead us to a possible solution, in that case we drop it.</p>
  <p>Dynamic programming as I understand it is characterized by overlapping sub-problems. So, can dynamic programming can be stated as backtracking with cache (for previously explored paths) ?</p>
  <p>Thanks</p>