最优子结构条件

  • 证明每次的局部最优解必须在全局最优解序列中,否则不可能到达全局最优
    局部最优选择策略的选择很重要

最优化原理,证明该问题具有拟阵结构则贪心算法对该问题的求解是最优解

  • 定理:设 M = ( S , I ) M = (S,\mathfrak{I}) M=(S,I)是赋权w的拟阵,则贪心算法Greedy(M,w)返回的子集A是M的最优独立集
  • 证明有序对 M = ( S , I ) M = (S,\mathfrak{I}) M=(S,I)具有拟阵结构:
    1. S是一个有限非空集合
    2. 独立集的子集属于独立集,即 B ∈ I , A ⊆ B ⇒ A ∈ I B \in \mathfrak{I}, A \subseteq B \Rightarrow A \in \mathfrak{I} B∈I,A⊆B⇒A∈I
    3. 大独立集中存在一个元素并到小独立集中,小独立集仍为独立集
      A , B ∈ I , ∣ A ∣ < ∣ B ∣ ⇒ ∃ x ∈ B / A , A sup ⁡ { x } ∈ I A,B \in \mathfrak{I},|A|<|B| \Rightarrow \exists x \in B/ A,A \sup \{x\} \in \mathfrak{I} A,B∈I,∣A∣<∣B∣⇒∃x∈B/A,Asup{x}∈I

贪心算法的最优解条件相关推荐

  1. 三十六、贪心算法--集合覆盖问题

    一.贪心算法介绍 1.贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 2.贪心算法不是对所有问题都 ...

  2. Leetcode学习之贪心算法

    贪心算法理论基础 题目分类大纲如下: 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优. 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎 ...

  3. 相关算法---贪心算法

    贪心算法 1. 理论基础 贪心的本质就是选择每一阶段的局部最优,从而达到全局最优. 使用贪心最好的策略就是举反例,如果想不到反例,就试一试贪心. 刷题或者面试的时候,手动模拟一下感觉可以局部最优推出整 ...

  4. 【算法学习】贪心算法

    参考算导第三版第16章 贪心算法 文章目录 1. 活动选择问题 1.1 活动选择问题的最优子结构 1.2 贪心选择 1.3 递归贪心算法 1.4 迭代贪心算法 2. 贪心算法原理 2.1 贪心选择性质 ...

  5. 三大算法之三:贪心算法及其例题详解

    目录 零.前言 1.区分贪心算法和动态规划 1.动态规划 2.贪心算法 3.共通点 2.贪心算法得到最优解的条件 1.具有优化子结构 2.具有贪心选择性 3.任务安排问题 1.问题定义 2.优化子结构 ...

  6. 最高效的近似算法——贪心算法

    在解决一些问题的时候,有的问题要得到最优解是非常困难的.这个时候我们就不要再执着于最优解了,因为即便得到了最优解也可能是得不偿失的.采用贪心算法求解这个问题是一种折中的好方法. 所谓贪心算法就是在对问 ...

  7. CLRS 16.2贪心算法的原理

    16.2-1 此处证明的思想是假设有一个最优解,然后可以由贪心算法得到此最优解. 设 S={1,2,...,n} S=\{1,2,...,n\} 个商品,并已经按平均价值从高到底排序,即 viwi≥v ...

  8. 算法设计与分析 实验二 贪心算法

    实验2.<贪心算法实验> 一.实验目的 了解贪心算法思想 掌握贪心法典型问题,如背包问题.作业调度问题等. 二.实验内容 编写一个简单的程序,实现单源最短路径问题. 编写一段程序,实现找零 ...

  9. _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II 、55.跳跃游戏、45.跳跃游戏II

    _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II .55.跳跃游戏.45.跳跃游戏II 题目列表 122.买卖股票的最佳时机II 55.跳跃游戏 45 ...

最新文章

  1. i基准指令集 mips_mips addiu
  2. 时间较宽裕的时候,选择有挑战性的路
  3. python简单项目-Python小项目:快速开发出一个简单的学生管理系统
  4. WinAPI: GetSystemPowerStatus - 获取系统电源状态的信息
  5. 手把手教你写一份优质的前端技术简历
  6. Silverlight网络寻奇 at 090413
  7. 采购订单暂存和持有相关的问题?
  8. Hulu机器学习问题与解答系列 | 二十九:WGANs:抓住低维的幽灵
  9. Smartbi电子表格创建查询条件
  10. NetSuite 库存盘点
  11. 【面试宝典】Mysql面试题大全
  12. Mockito verify Junit5集成 Mockito
  13. 关于springmvc项目一加入validation-api包就报错的解决方法
  14. java怎么实现购物车_java实现网上购物车程序
  15. Oracle索引梳理系列(十)- 直方图使用技巧及analyze table操作对直方图统计的影响(谨慎使用)...
  16. cocos2d-x 横板游戏触屏人物和背景移动 方法1
  17. 如何在chrome设置主页
  18. 腾讯云-服务临时密钥
  19. 淘宝联盟分享赚怎么赚钱?
  20. 【思科模拟器实验】VTP协议配置

热门文章

  1. 4步教你学会使用matlab模糊控制工具箱
  2. t检验中的t值和p值是什么关系_t检验和p值的关系
  3. 如何运用Knald烘焙纹理来快速呈现材质纹理细节!
  4. npm audit fix命令使用
  5. 软件测试常用术语总结
  6. argc, argv 到底是干啥用的?
  7. java double 出现e_JAVA中double类型运算结果异常的解决
  8. android应用 数量,谷歌Android应用数量超40万 免费应用占总数2/3
  9. 显示12306服务器处理中正在排队,12306称能够解决技术问题 不与企业合作
  10. java new jsonparser_java – JSONParser无法解析为某种类型