算法设计与分析第四章作业

计科2101郑森锋 2022-11-21 22:08:27

一、请说明作业三”程序存储问题“的贪心策略,并用反证法证明满足贪心选择性质,并给出时间复杂度分析

7-2 程序存储问题

设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。

贪心策略:先把程序放在磁带上的长度进行从小到大的排序,然后依次放入程序,直至磁带上放不下。

反证法:设利用贪心算法得出的最优解为 [n1, n2, n3, ... , nx] ,若不选n1,选m(因为n1 的长度已是最短的,故 m > n1),设存在更优解 [m, n2, n3, ... , nx, ny] (更优比最优解至少多一个程序 )。因为更优解一定大于最优解,在更优解中第一个程序长度大于最优解第一个程序长度,还多了一个程序ny 都没超过磁带长度,所以最优解加上ny也一定不会超过 磁带长度,所以最优解应该为 [n1, n2, n3, ... , nx,ny], 这与假设相悖,所以不存在更优解,所以此策略满足贪心选择性质。

时间复杂度:只用了一个for循环,因此时间复杂度为O(n)。

二、你对贪心算法的理解
       贪心算法就是在递归子结构中不断地寻找局部最优解达到一个全局的伪最优解的过程,需要证明。正是由于贪心算法是在局部中不断寻找最优解,没有用全局的视野找全局最优解,因此得到的解不一定是最优解,需要证明。

 

...全文
57 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文聚焦风电出力的不确定性问题,采用拉丁超立方抽样(Latin Hypercube Sampling, LHS)方法生成具有统计代表性的风电出力初始场景集,有效克服传统蒙特卡洛抽样存在的样本冗余与收敛速度慢的缺陷。为进一步降低场景数量以提升电力系统优化调度的计算效率,研究结合K-means聚类、快速前向选择等场景缩减技术,对生成的高维场景进行聚合与概率修正,保留最具代表性的典型场景及其对应概率分布。整个建模流程在Matlab平台上编程实现,形成一套完整的“抽样—生成—缩减—验证”的不确定性建模框架,为含高比例风电的电力系统提供高质量、低冗余的输入场景集,显著增强随机优化、鲁棒优化等模型的求解效率与工程实用性。; 适合人群:具备电力系统分析、概率统计基础及Matlab编程能力,从事新能源并网、电力系统优化调度、不确定性建模与风险评估等方向的科研人员、工程技术人员及研究生。; 使用场景及目标:①应用于风电主导的电力系统随机优化调度、机会约束规划、鲁棒经济调度等场景,提升模型对不确定性的刻画能力;②帮助研究者深入掌握拉丁超立方抽样与场景缩减的核心原理与实现方法,构建高精度的不确定性输入模型;③为复杂电力系统仿真提供经过科学约简的典型场景集,平衡计算精度与效率,支撑实际工程决策。; 阅读建议:建议读者结合提供的Matlab代码逐模块调试与运行,重点理解LHS在多维空间中的分层抽样机制、场景距离度量方式及聚类缩减过程中的概率守恒原则,关注缩减前后场景集的分布保真性与计算效率提升效果,以全面掌握风电不确定性建模的关键技术路径。

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧