Logic 你如何判断一个练习是否有动态规划解决方案?如果有,那么您如何开发算法来解决它?

Logic 你如何判断一个练习是否有动态规划解决方案?如果有,那么您如何开发算法来解决它?,logic,dynamic-programming,Logic,Dynamic Programming,一个规划问题需要满足哪些条件才能通过动态规划得到解决?为了找出答案,你做了什么推理 一旦您得出结论,它确实有一个DP解决方案,那么您将如何继续创建一个解决该问题的DP算法?创建这样的算法背后的逻辑是什么?一个问题必须满足两个条件才能通过动态规划解决。引用第15章: 最优子结构如果问题的最优解包含子问题的最优解 当递归算法重复访问同一个问题时,我们说优化问题有重叠的子问题 在第8章中,作者描述了通过动态规划解决问题所涉及的三个步骤: 将答案表述为递归关系或递归算法 证明你的循环所采用的不同参数值的

一个规划问题需要满足哪些条件才能通过动态规划得到解决?为了找出答案,你做了什么推理


一旦您得出结论,它确实有一个DP解决方案,那么您将如何继续创建一个解决该问题的DP算法?创建这样的算法背后的逻辑是什么?

一个问题必须满足两个条件才能通过动态规划解决。引用第15章:

最优子结构如果问题的最优解包含子问题的最优解

当递归算法重复访问同一个问题时,我们说优化问题有重叠的子问题

在第8章中,作者描述了通过动态规划解决问题所涉及的三个步骤:

  • 将答案表述为递归关系或递归算法
  • 证明你的循环所采用的不同参数值的数量是由一个(希望是小的)多项式限定的
  • 指定递归的求值顺序,以便在需要时始终可以获得所需的部分结果
  • 如往常一样,如果你想更深入地挖掘,本书包含了关于该主题的广泛讨论