最优子结构背后的直觉是什么?

时间:2012-10-24 05:28:37

标签: dynamic clrs

这个问题与动态规划有关,特别是CLRS Pg 362的杆切割问题

  

整体最优解决方案包含两个相关子问题的最佳解决方案。

通过找到各个子问题的最优解,然后以某种方式对它们进行调整,可以获得整体最优解。我无法理解直觉和概念。任何链接,例子?

  

感谢

1 个答案:

答案 0 :(得分:1)

您可以比较动态编程和贪婪方法。

最优子结构意味着可以通过找到子问题的最优解来找到最优解。如果不是这种情况,那么子问题的最优解的总和并不能给我们提供最优的全局解。

例如,考虑Dijkstra的算法。如果我们知道从节点A到节点C的最短路径,那么我们也可以使用这些信息来找到到另一个节点的最短路径。

如果不是这种情况,我们无法构建子问题的最优解,并获得全局最优解,而不是我们可以使用贪心方法。以change making problem为例。贪婪算法可以做出局部最优决策并找到一些解决方案,但不能保证这个解决方案是最优的。