滑雪路线

Route

联系华体会

Contact huatihui

手机:@HASHKFK
电话:@HASHKFK
QQ:@HASHKFK
邮箱:@HASHKFK
地址:华体会- 华体会体育- 华体会体育官网
滑雪常识

>>你的位置: 首页 > 滑雪常识

华体会- 华体会体育- 体育官网第4章贪心算法

2025-04-20 10:18:04

  华体会,华体会体育,华体会体育官网,华体会靠谱吗,华体会APP(访问: hash.cyou 领取999USDT)

华体会- 华体会体育- 华体会体育官网第4章贪心算法

  首先计算每种物品单位重量的价值Vi/Wi 然后, 首先计算每种物品单位重量的价值Vi/Wi,然后,依贪 Vi/Wi, 心选择策略,将尽可能多的单位重量价值最高 单位重量价值最高的物品装入背 心选择策略,将尽可能多的单位重量价值最高的物品装入背 若将这种物品全部装入背包后, 包。若将这种物品全部装入背包后,背包内的物品总重量未 超过C 超过C,则选择单位重量价值次高的物品并尽可能多地装入 背包。依此策略一直地进行下去,直到背包装满为止。 背包。依此策略一直地进行下去,直到背包装满为止。 具体算法可描述如下页: 具体算法可描述如下页:

  由于输入的活动以其完成时间的非减序 由于输入的活动以其完成时间的非减序排列,所以算法 非减序排列,所以算法 greedySelector每次总是选择具有最早完成时间 具有最早完成时间的相容活动 greedySelector每次总是选择具有最早完成时间的相容活动 加入集合A 加入集合A中。直观上,按这种方法选择相容活动为未安排 活动留下尽可能多的时间。也就是说,该算法的贪心选择的 意义是使剩余的可安排时间段极大化 意义是使剩余的可安排时间段极大化,以便安排尽可能多的 使剩余的可安排时间段极大化,以便安排尽可能多的 相容活动。 算法greedySelector 算法greedySelector的效率极高。当输入的活动已按结 greedySelector的效率极高。当输入的活动已按结 束时间的非减序排列,算法只需O(n) 束时间的非减序排列,算法只需O(n)的时间安排n个活动, O(n)的时间安排n 使最多的活动能相容地使用公共资源。如果所给出的活动未 按非减序排列,可以用O(nlogn) 按非减序排列,可以用O(nlogn)的时间重排。 O(nlogn)的时间重排。

  贪心算法和动态规划算法都要求问题具有最优子结构 性质,这是2类算法的一个共同点。但是,对于具有最优 性质,这是2类算法的一个共同点。但是,对于具有最优 子结构的问题应该选用贪心算法还是动态规划算法求解? 子结构的问题应该选用贪心算法还是动态规划算法求解? 是否能用动态规划算法求解的问题也能用贪心算法求解? 是否能用动态规划算法求解的问题也能用贪心算法求解? 下面研究2个经典的组合优化问题 下面研究2个经典的组合优化问题,并以此说明贪心算法 组合优化问题,并以此说明贪心算法 与动态规划算法的主要差别。

  设有n个活动的集合E={1,2,…,n} 设有n个活动的集合E={1,2, ,n},其中每个活动都要 E={1,2, ,n}, 求使用同一资源,如演讲会场等, 求使用同一资源,如演讲会场等,而在同一时间内只有一 个活动能使用这一资源。每个活动i都有一个要求使用该资 个活动能使用这一资源。每个活动i 源的起始时间si和一个结束时间fi, si和一个结束时间fi,且 源的起始时间si和一个结束时间fi,且si fi 。如果选择 了活动i 则它在半开时间区间[si, fi)内占用资源 内占用资源。 了活动i,则它在半开时间区间[si, fi)内占用资源。若区 fi)与区间 与区间[sj, fj)不相交 则称活动i与活动j 不相交, 间[si, fi)与区间[sj, fj)不相交,则称活动i与活动j是 相容的。也就是说, si≥fj或sj≥fi时 活动i与活动j 相容的。也就是说,当si≥fj或sj≥fi时,活动i与活动j 相容。 相容。

  对于0 背包问题, 对于0-1背包问题,贪心选择之所以不能得到最优解 是因为在这种情况下,它无法保证最终能将背包装满, 是因为在这种情况下,它无法保证最终能将背包装满,部 分闲置的背包空间使每公斤背包空间的价值降低了。事实 分闲置的背包空间使每公斤背包空间的价值降低了。 在考虑0 背包问题时, 上,在考虑0-1背包问题时,应比较选择该物品和不选择 该物品所导致的最终方案,然后再作出最好选择。 该物品所导致的最终方案,然后再作出最好选择。由此就 导出许多互相重叠的子问题。这正是该问题可用动态规划 导出许多互相重叠的子问题。这正是该问题可用动态规划 算法求解的另一重要特征 求解的另一重要特征。 算法求解的另一重要特征。 实际上也是如此,动态规划算法的确可以有效地解0 实际上也是如此,动态规划算法的确可以有效地解0背包问题。 1背包问题。

  若被检查的活动i的开始时间Si小于最近选择的活动j 若被检查的活动i的开始时间Si小于最近选择的活动j 的结束时间fi,则不选择活动i,否则选择活动i 的结束时间fi,则不选择活动i,否则选择活动i加入集合 A中。 贪心算法并不总能求得问题的整体最优解 贪心算法并不总能求得问题的整体最优解。但对于活 整体最优解。但对于活 动安排问题,贪心算法greedySelector却总能求得的整体 动安排问题,贪心算法greedySelector却总能求得的整体 最优解,即它最终所确定的相容活动集合A 最优解,即它最终所确定的相容活动集合A的规模最大。 这个结论可以用数学归纳法证明。

  • 学习要点 • 理解贪心算法的概念。 理解贪心算法的概念。 • 掌握贪心算法的基本要素 • (1)最优子结构性质 • (2)贪心选择性质 • 理解贪心算法与动态规划算法的差异 • 理解贪心算法的一般理论 • 通过应用范例学习贪心设计策略。 通过应用范例学习贪心设计策略。 • (1)活动安排问题; 活动安排问题; • (2)最优装载问题; 最优装载问题; • (3)哈夫曼编码; 哈夫曼编码; • (4)单源最短路径; 单源最短路径; • (5)最小生成树; 最小生成树; • (6)多机调度问题。 多机调度问题。

  顾名思义,贪心算法总是作出在当前看来最好的选择。 顾名思义,贪心算法总是作出在当前看来最好的选择。 也就是说贪心算法并不从整体最优考虑, 也就是说贪心算法并不从整体最优考虑,它所作出的选择 只是在某种意义上的局部最优选择。当然, 局部最优选择 只是在某种意义上的局部最优选择。当然,希望贪心算法 得到的最终结果也是整体最优的。 得到的最终结果也是整体最优的。虽然贪心算法不能对所 有问题都得到整体最优解, 有问题都得到整体最优解,但对许多问题它能产生整体最 优解。如单源最短路经问题,最小生成树问题等。 优解。如单源最短路经问题,最小生成树问题等。在一些 情况下,即使贪心算法不能得到整体最优解, 情况下,即使贪心算法不能得到整体最优解,其最终结果 却是最优解的很好近似。 却是最优解的很好近似。

  所谓贪心选择性质 贪心选择性质是指所求问题的整体最优解 整体最优解可以通过 贪心选择性质 整体最优解 一系列局部最优 局部最优的选择,即贪心选择来达到。这是贪心算法 局部最优 可行的第一个基本要素,也是贪心算法与动态规划算法的主 要区别。 动态规划算法通常以自底向上 自底向上的方式解各子问题,而贪心 自底向上 算法则通常以自顶向下 自顶向下的方式进行,以迭代的方式作出相继 自顶向下 的贪心选择,每作一次贪心选择就将所求问题简化为规模更 小的子问题。 对于一个具体问题,要确定它是否具有贪心选择性质,必 须证明每一步所作的贪心选择最终导致问题的整体最优解。

  与0-1背包问题类似,所不同的是在选择物品i装入背 背包问题类似,所不同的是在选择物品i 包时,可以选择物品i的一部分, 包时,可以选择物品i的一部分,而不一定要全部装入背 1≤i≤n。 包,1≤i≤n。 这2类问题都具有最优子结构性质,极为相似,但背 类问题都具有最优子结构性质,极为相似, 包问题可以用贪心算法求解, 包问题可以用贪心算法求解,而0-1背包问题却不能用贪 心算法求解。 心算法求解。

【返回列表】

搜索您想要找的内容!

首页 | 关于华体会 | 华体会新闻 | 滑雪门票 | 滑雪常识 | 人才招聘 | 在线留言 | 联系华体会 | 滑雪路线 | 精彩图片 |

地址:华体会- 华体会体育- 华体会体育官网 电话:@HASHKFK 手机:@HASHKFK

Copyright © 2012-2024 华体会体育户外滑雪培训设备有限公司 版权所有 非商用版本 ICP备案编号: