算法分析作业
算法分析与设计(线下作业二)

算法分析与设计(线下作业⼆)《算法分析与设计》学习中⼼:专业:学号:姓名:作业练习⼆⼀、名词解释1、MST性质2、⼦问题的重叠性质递归算法求解问题时,每次产⽣的⼦问题并不总是新问题,有些⼦问题被反复计算多次,这种性质称为⼦问题的重叠性质。
⼆、简答题1、简述动态规划算法求解的基本要素。
答:动态规划算法求解的基本要素包括:1)最优⼦结构是问题能⽤动态规划算法求解的前提;2)动态规划算法,对每⼀个⼦问题只解⼀次,⽽后将其解保存在⼀个表格中,当再次需要解此⼦问题时,只是简单地⽤常数时间查看⼀下结果,即重叠⼦问题。
2、备忘录⽅法和动态规划算法相⽐有何异同简述之。
答:备忘录⽅法是动态规划算法的变形。
与动态规划算法⼀样,备忘录⽅法⽤表格保存已解决的⼦问题的答案,在下次需要解此问题时,只要简单地查看该⼦问题的解答,⽽不必重新计算。
备忘录⽅法与动态规划算法不同的是,备忘录⽅法的递归⽅式是⾃顶向下的,⽽动态规划算法则是⾃底向上递归的。
因此,备忘录⽅法的控制结构与直接递归⽅法的控制结构相同,区别在于备忘录⽅法为每个解过的⼦问题建⽴了备忘录以备需要时查看,避免了相同的⼦问题的重复求解,⽽直接递归⽅法没有此功能。
3、贪⼼算法求解的问题主要具有哪些性质简述之。
答:贪⼼算法求解的问题⼀般具有⼆个重要的性质:⼀是贪⼼选择性质,这是贪⼼算法可⾏的第⼀个基本要素;另⼀个是最优⼦结构性质,问题的最优⼦结构性质是该问题可⽤贪⼼算法求解的关键特征。
三、算法编写及算法应⽤分析题1、设计求解如下最⼤⼦段和问题的动态规划算法。
只需给出其递推计算公式即可。
最⼤⼦段和问题:给定由n 个整数(可能为负整数)组成的序列a1a2 … an,求该序列形如Σi≤k≤j ak的⼦段和的最⼤值。
当所有整数均为负整数时定义其最⼤⼦段和为0。
依次定义,所求的最优值为max{0, max1≤i≤j≤n Σi≤k≤j ak }。
2、关于多段图问题。
设G =(V ,E)是⼀个赋权有向图,其顶点集V 被划分成k>2个不相交的⼦集V i :1i k ≤≤,其中,V 1和V k 分别只有⼀个顶点s (称为源)和⼀个顶点t (称为汇),图中所有的边(u,v ),i u V ∈,1i v V +∈。
北师大2018年春算法分析与设计作业(三)答案

《算法分析与设计》作业(三)本课程作业由两部分组成。
第一部分为“客观题部分”,由15个选择题组成,每题1分,共15分。
第二部分为“主观题部分”,由简答题和论述题组成,共15分。
作业总分30分,将作为平时成绩记入课程总成绩。
客观题部分:一、选择题(每题1分,共15题)1、贪心算法解各个子问题的方法是:( B )A、自底向上B、自顶向下C、随机选择D、自底向上或自顶向下2、用回溯法解旅行售货员问题时生成的树是:( B )A、子集树B、排列树C、二叉树D、多叉树3、在n后问题中任意两个皇后能放在:( D )A、同一行B、同一列C、同一斜线D、以上都不行4、用回溯法解0-1背包问题时生成的解空间树是:( A )A、子集树B、排列树C、二叉树D、多叉树5、用贪心算法解单源最短路径问题时采用的算法是:( A )A、Dijkstra算法B、Prime算法C、Kruskal算法D、蒙特卡罗算法6、在用动态规划解流水作业调度时的最优调度法则是:( C )A、最优子结构B、重叠子问题C、Johnson法则D、最长处理时间作业优先7、算法与程序的区别在于:( C )A、输入B、输出C、指令的确定性D、指令的有限性8、从分治法的一般设计模式可以看出,用它设计的程序一般是:( D )A、顺序B、选择C、循环D、递归9、回溯法的解空间是在搜索过程中:( A )A、动态产生B、静态产生C、无解空间D、动态或者静态产生10、在用贪心法解多机调度时的贪心选择策略是:( D )A、最优子结构B、重叠子问题C、Johnson法则D、最长处理时间作业优先11、合并排序和快速排序采用的共同策略是:( A )A、分治法B、蒙特卡罗法C、拉斯维加斯法D、单纯形法12、用回溯法解最大团问题时生成的解空间树是:( D )A、子集树B、排列树C、二叉树D、多叉树13、用分支限界法解装载问题的解空间是:( B )A、子集树B、排列树C、单向链表D、多向链表14、计算定积分的算法:( A )A、随机投点法B、舍伍德法C、分治法D、回溯法15、用随机化算法解同一实例两次得到:( C )A、结果和时间都相同B、结果相同时间不相同C、结果和时间都不相同D、以上都不对主观题部分:二、改错题(每题2.5分,共2题)下面有两个二分搜索算法,请判断它们的正确性。
年月考试算法设计分析第一次作业.doc

2013年4月考试算法设计分析第一次作业一、单项选择题(本大题共30分,共15小题,每小题2分)1.算法分析的两个主要方面是()。
A.空间复杂度和时间复杂度B,正确性和简单性C,可读性和文档性D.数据复杂度和程序复杂度2.计算机算法指的是()。
A.计算方法B.排序方法C.解决问题的方法和过程D.调度方法3.多阶段决策问题,就是要在可以选择的那些策略中间,选取一个()策略,使在预定的标准下达到最好的效果。
A.最优B.最差C.平衡D.任意4.根据排序元素所在位置的不同,排序分()。
A.内排序和外排序B.首排序和尾排序C.顺序排序和逆序排序D.堆排序和栈排序5.算法必须具备输入、输出和()等5个特性。
A.可执行性、可移植性和可扩充性B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性6.与分治法不同的是,适合于用动态规划求解的问题()A.经分解得到子问题往往不是互相独立的B.经分解得到子问题往往是互相独立的C.经分解得到子问题往往是互相交叉的D.经分解得到子问题往往是任意的7.二分搜索算法的基本思想是将n个元素分成个数大致相同的两半,取a[n/2] 与x进行比较:如果(),则只要在数组a的左半部继续搜索X。
A.x<a[n/2]B.x=a[n/2]C.x>a[n/2]D.x>=a[n/2]8.活动安排问题就是在所给的活动集合中,选出()的相容活子集。
A.最小B.任意C.最大D.一个9.在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是()A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题10.适用动态规划的问题必须满足()A,最优化原理B.无前效性C,最优化原理和后效性D.最优化原理和无后效性11.算法的每种运算必须要有确切的定义,不能有二义性,以下符合算法确定性运算的是()A.5/0B.将6或7与x相加C.未赋值变量参与运算D.f(n)=f(n-l)+2,F(l)=10,n 为自然数12.直接或间接的调用自身的算法称为()。
算法分析与设计作业及参考答案样本

《算法分析与设计》作业( 一)本课程作业由两部分组成。
第一部分为”客观题部分”, 由15个选择题组成, 每题1分, 共15分。
第二部分为”主观题部分”,由简答题和论述题组成, 共15分。
作业总分30分, 将作为平时成绩记入课程总成绩。
客观题部分:一、选择题( 每题1分, 共15题)1、递归算法: ( C )A、直接调用自身B、间接调用自身C、直接或间接调用自身 D、不调用自身2、分治法的基本思想是将一个规模为n的问题分解为k个规模较小的字问题, 这些子问题: ( D )A、相互独立B、与原问题相同C、相互依赖D、相互独立且与原问题相同3、备忘录方法的递归方式是:( C )A、自顶向下B、自底向上C、和动态规划算法相同D、非递归的4、回溯法的求解目标是找出解空间中满足约束条件的:( A )A、所有解B、一些解C、极大解D、极小解5、贪心算法和动态规划算法共有特点是: ( A )A、最优子结构B、重叠子问题C、贪心选择D、形函数6、哈夫曼编码是: ( B)A、定长编码B、变长编码C、随机编码D、定长或变长编码7、多机调度的贪心策略是: ( A)A、最长处理时间作业优先B、最短处理时间作业优先C、随机调度D、最优调度8、程序能够不满足如下性质: ( D )A、零个或多个外部输入B、至少一个输出C、指令的确定性D、指令的有限性9、用分治法设计出的程序一般是: ( A )A、递归算法B、动态规划算法C、贪心算法D、回溯法10、采用动态规划算法分解得到的子问题:( C )A、相互独立B、与原问题相同C、相互依赖D、相互独立且与原问题相同11、回溯法搜索解空间的方法是: ( A )A、深度优先B、广度优先C、最小耗费优先D、随机搜索12、拉斯维加斯算法的一个显著特征是它所做的随机选性决策有可能导致算法: ( C )A、所需时间变化B、一定找到解C、找不到所需的解D、性能变差13、贪心算法能得到: ( C )A、全局最优解B、 0-1背包问题的解C、背包问题的解 D、无解14、能求解单源最短路径问题的算法是: ( A )A、分支限界法B、动态规划C、线形规划D、蒙特卡罗算法15、快速排序算法和线性时间选择算法的随机化版本是:( A )A、舍伍德算法B、蒙特卡罗算法C、拉斯维加斯算法D、数值随机化算法主观题部分:二、写出下列程序的答案( 每题2.5分, 共2题)1、请写出批处理作业调度的回溯算法。
《算法分析与设计》课后作业

《算法分析与设计》各章课后作业第一章 课后作业1. 设某算法在输入规模为n 时的计算时间为T(n)=10*2n。
若在甲台计算机上实现并完成该算法的时间为t 秒,现有一台运行速度是甲的64倍的另一台计算机乙,问在乙计算机上用同一算法在t 秒内能解决的问题的规模是多大?2.按照渐近阶从低到高的顺序排列以下表达式:4n 2,logn ,3n,20n ,2,n 2/3。
又n!应该排在哪一位?第二章 课后作业1. 用展开法求解下列递推关系:T(n)=⎩⎨⎧>+=1n )()2/(20n )1(n O n T O,写出T(n)的大O 记号表示。
2. 下面是实现在a[0]<=a[1]<=…<=a[n-1]中搜索x 的二分搜索算法,请根据二分 搜索技术在下划线处填充语句。
算法描述如下: template<class Type>public static int BinarySearch(int []a, int x, int n) { //在a[0]<=a[1]<=…<=a[n-1]中搜索 x // 找到x 时返回其在数组中的位置,否则返回-1 int left = 0; int right = n - 1; while ( ) {int middle = ;if(x == a[middle]) return ; if(x > a[middle]) left = middle + 1; else right= ; }return -1; // 未找到x}第三章课后作业1、选择题。
(1)下列算法中通常以自底向上的方式求解最优解的是()。
A、备忘录法B、动态规划法C、贪心法D、回溯法(2)备忘录方法是那种算法的变形。
()A、分治法B、动态规划法C、贪心法D、回溯法(3)矩阵连乘问题的算法可由()设计实现。
A、分支界限算法B、动态规划算法C、贪心算法D、回溯算法2.计算题。
算法分析作业

算法分析作业 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】算法分析练习题(一)一、选择题1、二分搜索算法是利用(A )实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是(A )。
A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3.下列算法中通常以自底向上的方式求解最优解的是(B )。
A、备忘录法B、动态规划法C、贪心法D、回溯法4、衡量一个算法好坏的标准是(C )。
A 运行速度快B 占用空间少C 时间复杂度低D 代码短5、以下不可以使用分治法求解的是(D )。
A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题6. 实现循环赛日程表利用的算法是(A )。
A、分治策略B、动态规划法C、贪心法D、回溯法7.备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法D、回溯法8.最长公共子序列算法利用的算法是(B )。
A、分支界限法B、动态规划法C、贪心法D、回溯法9.实现棋盘覆盖算法利用的算法是(A )。
A、分治法B、动态规划法C、贪心法D、回溯法10. 矩阵连乘问题的算法可由(B)设计实现。
A、分支界限算法B、动态规划算法C、贪心算法D、回溯算法11、Strassen矩阵乘法是利用(A )实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法12、使用分治法求解不需要满足的条件是(A )。
A 子问题必须是一样的B 子问题不能够重复C 子问题的解可以合并D 原问题和子问题使用相同的方法解13、下列算法中不能解决0/1背包问题的是(A )A 贪心法B 动态规划C 回溯法D 分支限界法14.实现合并排序利用的算法是(A )。
A、分治策略B、动态规划法C、贪心法D、回溯法15.下列是动态规划算法基本要素的是(D )。
A、定义最优解B、构造最优解C、算出最优解D、子问题重叠性质16.下列算法中通常以自底向下的方式求解最优解的是(B )。
【图文】算法分析与设计大作业
算法理论、教改类题目学习大量相关算法(程序),总结出对应方法的一些特点,将其写成论文形式,并以足够的例子作为佐证。
24.论分治法、动态规划、贪心法的区别 25.论递归程序向非递归程序的转换 26.论应用型本科院校算法课程的教学目标和教学方法 27.论二叉树在计算机科学与技术中的应用 28.数据库索引的算法解释 29.论贪心法的适用范围 30.解空间搜索方法的选择依据 31.分治法算法分析综述
算法应用、算法研究类题目查阅大量相关资料,对相关内容给出初步的结果。
31.基于UCCI的中国象棋对弈引擎开发技术研究 32.五子棋对弈关键技术研究33.黑白棋对弈关键技术研究 34.数独初始局面生成算法研究 35.支持按文件名搜索的索引构造技术研究 36.通用回溯算法演示系统设计 37.通用分支限界算法演示系统设计 38.通用排序算法演示系统设计 39.通用动态规划算法演示系统设计
40.论文阅读和翻译类题目• 给出一个英文文献,用准确的语言将其翻译为中文,不需要逐字逐句翻译,但主要观点、算法思想和算法过程表述清楚、准确、充分。
格式要求• 论文正文中不得出现大段代码(超过10行)• 标题样式需规范• 参考文献不低于10篇,参考文献格式和标注位置须规范。
中科院计算机算法设计与分析各章作业+历年习题
5.下面那些规则是正确的?为什么? 1). f (n) O( F (n)), g (n) O(G(n)) f (n) / g (n) O( F (n) / G(n)) ;错 2). f (n) O( F (n)), g (n) O(G(n)) f (n) / g (n) ( F (n) / G(n)) ;错 3). f (n) O( F (n)), g (n) O(G(n)) f (n) / g (n) ( F (n) / G(n)) ;错 4). f (n) ( F (n)), g (n) (G(n)) f (n) / g (n) ( F (n) / G(n)) ;错 5). f (n) ( F (n)), g (n) (G(n)) f (n) / g (n) ( F (n) / G(n)) 。错 6).
7
对顶点个数进行归纳。 当顶点数|v(D)|=2 时,因为每个点的入度和出度相等,易得构成有向 Euler 环游。 假设顶点数|v(D)|=k 时结论成立,则 当顶点数|v(D)|=k + 1 时,任取 v∈v(D).设 S={以 v 为终点的边},K={以 v 为始点的边},因为 v 的入度和出度相等,故 S 和 K 中边数相等。记 G=D-v.对 G 做如下操作: 任取 S 和 K 中各一条边 e1、e2 ,设在 D 中 e1 v1v , e2 vv2 ,则对 G 和 S 做如下操作 G G v1v2 , S S {e2} ,重复此步骤直到 S 为空。这个过程最终 得到的 G 有 k 个顶点,且每个顶点的度与在 G 中完全一样。由归纳假设,G 中 存在有向 Euler 环游,设为 C。在 G 中从任一点出发沿 C 的对应边前行,每当遇 到上述添加边 v1v2 时, 都用对应的两条边 e1, e2 代替, 这样可以获得有向 Euler 环游。 3)G 是至少有三个顶点的无向图,则 G 包含 Euler 环游等价于 G 中无奇度顶 点。 (即任意顶点的度为偶数) 。 3. 设 G 是具有 n 个顶点和 m 条边的无向图, 如果 G 是连通的, 而且满足 m = n-1, 证明 G 是树。
东师算法分析与设计21春在线作业1【标准答案】
算法分析与设计19春在线作业1-0002
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.下列算法描述所用的方法是() Begin(算法开始)输入 A,B,C IF A>B 则 A→Max 否则B→Max IF C>Max 则 C→Max Print Max End (算法结束)
A.流程图
B.N-S流程图
C.伪代码表示
D.程序设计语言
答案:C
2.某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为()。
A.n+1
B.n-1
C.2n
D.n/2
答案:A
3.下列叙述中正确的是()
A.线性链表是线性表的链式存储结构
B.栈与队列是非线性结构
C.双向链表是非线性结构
D.只有根结点的二叉树是线性结构
答案:A
4.设有如下函数定义 int fun(int k) { if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1; } 若执行调用语句:n=fun(3);,则函数fun 总共被调用的次数是()。
A.2
B.3
C.4
D.5
答案:B
5.strchr()函数用来()。
A.字符串连接
B.比较字符
C.求字符位置
D.求子串位置
答案:C
6.下面4句话中,最准确的表述是()。
A.程序=算法+数据结构
B.程序是使用编程语言实现算法
C.程序的开发方法决定算法设计。
算法设计与分析(王多强)作业参考答案.docx
第二章递归习题导论4.1-17(/?) = 27(b / 2)+ 1=> M = 2T5 /2) + 1%)习题导论4.1-6Tin) = 2T(0) + 1做代换:m=log2n另 S(m)=T(2m )则有: S(/z?) = 2S(zz? / 2) + 1 化简有:S(m)=O(m) 所以 T(n)=O(logn)习题4.2-27(/7)= T(n / 3) + 7(2/7 / 3) + 劲 注意最长分支 2n/3-*(2n/3)2 -*(2n/3)3...-*(2n^)log3/2n 习题4.3-1a) T(n) = 4T(n/2) + nb) T(n) = 4T(n/2) + n 2c 取大于1/2小于1的数即可,如珈习题4.3-4f(n )/nlogba = n 2log n/n'°g"二 log nvn所以不满足规则3直接化简即可,T(n)=O(n 2log 2n)c) T(n) = 4T(n/2) + n 3情况 3, ◎ (r?). 验证 4f(n/2)=4(n/2)3=n 3/2^cn 3,这里7X2")27(2"/彳)+情况4 0(n 2)情况 2, © (n 2logn)第三章习题4.5注意三分Z—和三分Z二分割点的计算ml = (2low+high)^m2 = (low+2high)/3习题4.20主要是验证T(n/r) + T(0)>|« n/r+O的数量级是否小于n的1次方(线性) 利用关系式:\n / r」n (/7 - r - 1) / /进行化简r=3:\r / 2~|~|_/2 / /_] / 2~| > 2 z? / r / 2 = n / r」> (/? 一2) / 3则,刀一卜/2北刀 / 厂」/ 2] < /? - (/? - 2) / 3 = 2/7 / 3 + 2 / 3 则,n〃 +羊n +厉超线性了r=7:\r / 2]\n / r\/ 2〕>/ 7」/2 = 2山 / 7」> 2(刀一6) / 7则,n - \r / i\\n / /」/ 2〕v 刀一2(刀一6) / 7 = 5刀 / 7 + 12 / 7可证,当n>48的时候,上式小于3伙则,n/7+3nA = 25n/28 <n 成立r=9:\r / 2][n / 厂」/ 2〕> 5[刀 / 9」/ 2 = (5 / 2)^/9」> 5(刀-8)/18n一\r / 2\[n / /」/ 2〕< 13/?/18 + 40/18可证,当n>20的时候,上式小于7n/8 则,n/9+7n/8 = 71n/72 <n 成立r=ll习题4.25肓接带入验证即可棋盘覆盖问题角上用一个骨牌覆盖,认为构造有特殊方格的区域,然后在四个区域上递归求解即可第四章中位数中位数习题导论9-2A)比较明显。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
பைடு நூலகம்
P123-8
• 解:①根据pi的非增排序得到(p7, p3, p4, p6, p2, p1, p5)=(30,20,18,6,5,3,1),对应的 期限为(2,4,3,1,3,1,2),按照算法5.4生成的
P123-8
• 证明思想:
– <= – => 位置a,b的作业交换顺序
• 作业ra和rb仍然可以完成任务 • 作业ra和rb之间的作业也能够完成任务
P123-8
证明:显然即使ti>0(di≥ti),如果J中的作业可以 按照的次序而又不违反任何一个期限来处理,
k
即对次序中的任一个作业k,应满足dk ≥
ERT’ -ERT’’ =(fjk+1ljk – fjkljk+1)/(fi1+..+fin)>0,既 有ERT’’ ≤ERT’,显然ERT’’也是最优解。
• 最优解中所有这样类似于反序对的程序互换位 置,每次得到的解不比原来的最优解差,所以 最终变换后得到的解也是最优解,而最终的解 恰是程序按fi/li的非增次序来存放得到的顺序。
• 证: 取{l1 , l2 , l3} = {1,3,4}
– 按l1 ≤ l2 ≤ l3次序得到A={1,4},B={3},最大值是5 – 若令A={1,3},B={4},最大值是4.这种方式更优。 – 故命题得证。
• 证明:按照l1 ≥ l2 ≥ … ≥ ln不一定产生最优解
• 证: 取{l1 , l2 , l3 , l4 , l5} = {10,9,8,6,5}
能装的进就将其装入背包。证明这种策略
不一定能得到最优解。
P122-3
• 证明: – 按照pi/wi的非增次序考虑物品放入背包,如 果从大到小连续放入且能装满背包时,显然 为最优解。 – 否则未必是最优解.
P122-3
– 可举例如下: 设n=3,M=6, (p1,p2,p3)=(3,4,8),(w1,w2,w3)=(1,2,5)
按照pi/wi 的非增序得到 (p1/w1,p2/w2,p3/w3)=(3,2,1.6), 则其解为(1,1,0),而事实上最优解是
(1,0,1) 。 问题得证。
P122- 6.
• 假定要将长为l1,l2,…,ln的n个程序存入一盘 磁带,程序i被检索的频率是fi。如果程序按 i1,i2,…,in的次序存放,则期望检索时间 (ERT)是:
• 假设该问题的一个最优解是按照j1,j2,…,jn的顺
序存放,并且其期望检索时间是ERT’,我们
只需证明ERT≤ERT’,即可证明按照fi/li的非增 次序存放得到的是最优解。
• 从前向后考察最优解序列:j1,j2,…,jn,若与 i1,i2,…,in相同,命题得证。
• 否则,不妨设程序jk是第一个与其相邻的程序 jk+1存在关系fjk/ljk<fjk+1/ljk+1,交换程序jk和程序 jk+1,得到的期望检索时间记为ERT’’。
w2 3 5 7 14 1
p/w 5 5/3 3 1 6 9/2 3
x 1 2/3 1 • n=7,m=15
11 1
• 根据贪心(x5,x1,x6,x3,x7,x2,x4)=(1,1,1,1,1,2/3,0) 即(x1,x2,x3,x4,x5,x6,x7)=(1,2/3,1,0,1,1,1 )
• FO(I)=166/3。
j
[ (fij lik)]/ fi
j
k1
• ① 证明按li的非降次序存放程序不一定得到 最小的ERT。
• ② 证明按fi的非增次序存放程序不一定得到 最小的ERT。
• ③ 证明按fi/li的非增次序来存放程序时ERT 取最小值。
P122- 6. ① 证明按li的非降次序存放程
序不一定得到最小的ERT。
P122-3.
• (0/1背包问题)如果将5.3节讨论的背包问
题修改成 极大化 约束条件
n
pixi
1
n
wi xi M 1
xi=0或1 1≤i≤n
• 这种背包问题称为0/1背包问题。它要求物
品或者整件装入背包或者整件不装入。求
解此问题的一种贪心策略是:按pi/wi的非增 次序考虑这些物品,只要正被考虑的物品
t
j1 j
,则J就是一个可行解。
下面证明如果J是可行解, =i1i2…ik使得J中的作业 可以按照di1≤di2≤…≤din 序列排列而又不违反任何 一个期限。
• J是可行解,则必k 存在’=r1r2…rn,使得对任意的
rk,都有
drk
≥
j1
trj
,
• 我们设是按照di1≤di2≤…≤din排列的作业序列。
F(0) F(1) F(2) F(3) F(4)
01234
01234
-1 -1 -1 -1 -1
空
01
34
F(0) F(1) F(2) F(3) F(4)
-1 -2
-1 -1
{7}
01134
2
1
F(0) F(1) F(2) F(3) F(4) 01133
• ① 对于5.3节的作业排序问题证明:当且仅 当子集合J中的作业可以按下述规则处理时 它表示一个可行解;如果J中的作业I还没分 配处理时间,则将它分配在时间片[a-1,a] 处理,其中a是使得1≤r≤di的最大整数r,且 时间片[a-1,a]是空的。
• ② 仿照例5.4的格式,在习题8①所提供的 数据集上执行算法5.5。
为drb≤dra,而显然二者之间的所有作业rt,都有
drb≤drt,又由于’是可行解k ,所以 ,所以作业ra
和rb交换后,仍满足
drt
≥
j1
trj
,
即所有作业可依新产生的排列’’=s1s2…sn的次
序处理而不违反任何一个期限
• 连续使用这种方法,’就可转换成且不违反任何 一个期限,定理得证。
P123-9
P123-9
• 易证如果J中的作业能按上述规则处理,显然J是 可行解;
• 如果J是可行解,根据定理5.3可知,J中的作业根 据时间期限的非降次序排列,得到i1i2…ik …in , 并且按照这个顺序,可以处理J中所有作业,而对 这一序列中的任意作业ik,如果它的时间期限是dk, 且时间片[dk-1,dk]是空的,则分配之;若时间片 [dk-1,dk]非空,则向前找最大的非空[r-1,r]时间片, 1≤r≤dk。因为J是可行解,所以一定可以找到如此 时间片。故命题得证。
• ERT(I)=2*0.6+(2+1)*0.4=2.4 • ERT(I’)=1*0.4+(1+2)*0.6=2.2
P122 - 6. ③ 证明按fi/li的非增次序来存放程序
时ERT取最小值。
• 假设i1,i2,…,in按照fi/li的非增次序存放,即 fi1/li1≥fi2/li2≥…≥fin/lin,则得到 ERT=[fi1li1+fi2(li1+li2)+…+fik(li1+li2+…+lik)+…+fin (li1+li2+…+lin)]/(fi1+..+fin)
• ERT ’ = [fj1lj1+…+fjk(lj1+lj2+…+l jk-1 +ljk) + fjk+1(lj1+lj2+…+ljk+ljk+1)+…+fjn(lj1+…+ljn)]/(fj1+..+fjn) • ERT ’ ’ = [fj1lj1+…+fjk+1(lj1+lj2+…+l jk-1 +ljk+1) + fjk(lj1+lj2+…+ljk+1+ljk)+…+fjn(lj1+…+ljn)]/(fj1+..+fjn)
– 按l1≥ l2 ≥ l3 ≥ l4 ≥ l5次序得到 A={10,6,5},B={9,8},最大值是21.
– 若令A={10,9},B={8,6,5},最大值是19. 这种方式更优。
– 故命题得证。
P123-8
• ① 当n=7,(p1 ,…, p7) =(3,5,20,18,1,6,30) 和 (d1,…,d7)=(1,3,4,3,2,1,2)时,算法5.4所生 成的解是什么?
解为:
k
J
D(J(r)),r=1..k
17
2
2 7,3
2,4
3 7,4,3
2,3,4
4 6,7,4,3
1,2,3,4
P123-8
• ② 证明即使作业有不同的处理时间定理5.3 亦真。这里,规定作业i的效益pi>0,要用 的处理时间ti>0,限期di≥ti.(P106)
• 定 J是中理一作5个业.3可:的设行一J解是种,K当排个且序作仅,它业当使的J中得集d的合i1作≤, d业i2=≤可i…1i2以≤…d按iikk是.照J 的次序又不违反任何一个期限的情况下来 处理.
• FO(I)/ FG(I)=166/141
i 1 2 3 4 56 7
p 10 5 15 7 6 18 3
w2 3 5 7 14 1
x 1 1 4/5
11 1
• 物品按wi的非降次序:n=7,m=15
• 根据贪心(x5,x7,x1,x2,x6,x3,x4)=(1,1,1,1,1,4/5,0)