最优子结构(optimal substructure)

Posted siwnhwxh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最优子结构(optimal substructure)相关的知识,希望对你有一定的参考价值。

最优子结构是依赖特定问题子问题的分割方式而成立的条件。各子问题具有最优解,就能求出整个问题的最优解,此时条件成立。

比如求广州北京的最短距离,假设这个路径必经过中间的南京,那么先把路径分割为(广州,南京)和(南京,北京)。分别求出子路径的最短距离然后再连接,就可以得到广州到北京的最短路径。

因此,寻求最短路径的问题可以利用子路径的最优解获得整个问题的最优解。这样就可以证明,最短路径具有最优子结构。

  • 当然最长递增(LIS)

反之,如果不能利用子问题的最优解获得整个问题的最优解,那么这种问题就不具有最优子结构。

很多问题的最优子结构都表现出非常直观的形式,以至于都不需要另外的证明过程。不过,遇到结构不是很直观的问题时,则需要用反证法证明(假设子问题的最优解不是整个问题的最优解 ⇒ ?)。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

以上是关于最优子结构(optimal substructure)的主要内容,如果未能解决你的问题,请参考以下文章

[Stanford Algorithms: Design and Analysis, Part 2] c28 Sequence Alignment Optimal Substructure

以计算斐波那契数列为例说说动态规划算法(Dynamic Programming Algorithm Overlapping subproblems Optimal substructure Memoi

分而治之是不是利用了最优子结构?

README3动态规划之“找零钱”说明最优子结构怎么解决

动态规划(dynamic programming)(最优子问题与重叠子问题,以及与贪心的区别)

动态规划-第一节3:动态规划之使用“找零钱”问题说明最优子结构如何解决