首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分而治之是否利用了最优化的子结构?

分而治之是否利用了最优化的子结构?
EN

Stack Overflow用户
提问于 2020-03-13 19:33:28
回答 1查看 129关注 0票数 1

在分而治之的方法中,子问题是相互独立的。

因此,重叠的子问题不能被利用。

最优子结构状态的CLRS定义:

“如果问题的最优解包含子问题的最优解,则该问题显示出最优子结构。”

我们知道使用分而治之的方法解决子问题是最优的吗?如果是这样的话,我猜最优子结构适用于分而治之的方法。

EN

回答 1

Stack Overflow用户

发布于 2021-04-23 04:05:40

是。它很快就能证明给自己看。

给定一个具有分而治之解决方案的算法,假设它没有最优子结构。我将编写一些简单的符号:P是总体问题,PL和PR是左右子问题。S( P )是P的解。

根据分治法的定义,要求S(P) = S(PL) + S(PR),其中+是子问题解的重组。

根据已知不存在最优子结构的问题的定义,S(P) = S(PL) + S(PR)不一定是这样的。

从定义上看,这是一个直接的矛盾。该假设与给定的假设相矛盾,因此该假设一定是错误的。

您可以切换给定和假设,以获得相同的矛盾。

因此,说一个问题有一个最优子结构相当于说这个问题有一个分而治之的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60669721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档