最优子结构是依赖特定问题和子问题的分割方式而成立的条件。各子问题具有最优解,就能求出整个问题的最优解,此时条件成立。
比如求广州到北京的最短距离,假设这个路径必经过中间的南京,那么先把路径分割为(广州,南京)和(南京,北京)。分别求出子路径的最短距离然后再连接,就可以得到广州到北京的最短路径。
因此,寻求最短路径的问题可以利用子路径的最优解获得整个问题的最优解。这样就可以证明,最短路径具有最优子结构。
- 当然最长递增(LIS)
反之,如果不能利用子问题的最优解获得整个问题的最优解,那么这种问题就不具有最优子结构。
很多问题的最优子结构都表现出非常直观的形式,以至于都不需要另外的证明过程。不过,遇到结构不是很直观的问题时,则需要用反证法证明(假设子问题的最优解不是整个问题的最优解 ⇒ ?)。
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow
最优子结构是指在特定问题中,通过解决子问题的最优解能够导出整体问题的最优解。以广州到北京的最短路径为例,路径经过南京时,可以将问题拆分为(广州,南京)和(南京,北京)两个子问题,分别求解最短距离即可。最长递增子序列(LIS)也体现了这一特性。不具最优子结构的问题则无法直接利用子问题的最优解。理解并证明最优子结构在一些问题中直观,而在其他问题中可能需要反证法。推荐学习人工智能教程,帮助初学者入门。
1369

被折叠的 条评论
为什么被折叠?



