algorithm - 证明最优子结构的不同方法?
问题描述
对于最优子结构性质,它指出通过组合其子问题的最优解可以得到给定问题的最优解。
我们可以把它写成 Opt(给定问题) = f(Opt(subproblem 1), Opt(subproblem 2), ...)。其中 f 结合了子问题的最优解。
通常,为了证明最优子结构,我们证明如果 $Opt(given problem)$ 实际上是一个最优解,那么 Opt(subproblem 1), Opt(subproblem 2), ..., 也是最优的。例如,在 Cormen (CLRS) 书中可以看到这一点。
我的问题是:我们可以证明相反的吗?也就是说,我们证明如果 Opt(subproblem 1), Opt(subproblem 2), ..., 都是最优的,那么 Opt(given problem) 也是最优的吗?
解决方案
推荐阅读
- rest - 使用请求参数或 POST 获取
- r - 在R中的增长曲线中绘制渐近线
- ios - 如何使用 Detox 测试 iOS 推送通知
- python - 在每个子文件夹中创建一个包含特定名称的空文件的文件夹
- javascript - jQuery 以对象或数组的形式获取数据
- puppet - 木偶输出到代理而不通知
- ruby-on-rails - Rails - 带有 heredoc 的 find_by_sql 引发错误
- java - 软键盘不会在焦点从 AutoCompleteTextView 更改为 EditText 时持续存在
- python - 检查另一个熊猫数据框中存在哪些日期的最快方法
- c++ - C++代码在window gcc上工作,但不在linux gcc上工作