ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【重叠子问题定义】-你真的懂重叠子问题吗?!

2020-06-06 14:37:49  阅读:290  来源: 互联网

标签:粗略 重叠 子结构 问题 算法 最优 定义


如果你对其他算法知识感兴趣的话,可以考虑阅读我的专栏:

算法设计与分析【专栏】

重叠子问题

事情经过

  今天,我在做动态规划算法相关实验的时候,考虑到了动态规划的两大特性: 最优子结构和重叠子问题。

  最优子结构的话,没什么好说的,就是原问题的最优解包含子问题的最优解。如果大家不理解的话,我就粗略的介绍一下我的理解:一个国家中有一名最强力的士兵(也就是问题的最优解),那么他必须是他所在军营中最强力的士兵(也是子问题的最优解),这样他才可能是这个国家最强力的士兵。

  其中重叠子问题引起了我的注意,以前我对于这个概念就是一知半解的,经过我在网上粗略的查询了一下,网上大部分人对这个概念的理解为:子问题之间计算重复太多次,可以通过填表来解决这个问题。

  此时我就纳闷了,这么说的话,那么动态规划就还应该有一个特性啊,也就是子问题之间不独立(这个是区分分治算法的关键,我认为很重要)。

  于是我便去粗略的查找了书籍,发现书上并没有对此的专门解释(也有可能有,我没找到),于是我便自己总结了一下:

重复子问题:子问题的计算出现重复,填表解决。
重叠子问题:子问题之间不独立。

  然后就是沉醉在:我好厉害啊!我都会自己定义名词了!以后就叫小王定理吧!

  抽完风之后,我便开始在网上认真寻找重叠子问题的概念了,皇天不负有心人,终于让我在有道上找到了专门的解释(也就是下图)。
在这里插入图片描述
  那这么说的话,动态规划的特性就可以总结为:最优子结构性质和重叠子问题。(小王定理没了!)

  虽然结果和我当初想的不太一样,但这次经历还是让我欣喜半天(尤其是我自己定义名词的时候),我也对这个名词有了更加深刻的印象,也希望大多数人也不要想我当初一样,在理解的时候被误导了。

  这时我又产生了新的疑问,导致重复计算的原因会不会是子问题之间的不独立呢(我脑溢血想出来的)?希望大家可以发表一下自己的观点,以上都是本人的粗略看法,希望大神勿喷。

后话

  1. 首先给大家说一下,博主经常在线,如果有什么问题或者想法,可以在下方评论,我会积极反馈的。
  2. 其次还是要请大家能够多多指出问题,我也会在评论区等候大家!
    在这里插入图片描述 .
    还有就是不够2000字不能参加原力计划,好烦!

标签:粗略,重叠,子结构,问题,算法,最优,定义
来源: https://blog.csdn.net/vangoudan/article/details/106577901

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有