算法设计与分析复习资料

上传人:cl****1 文档编号:508073451 上传时间:2024-01-26 格式:DOC 页数:3 大小:20.50KB
返回 下载 相关 举报
算法设计与分析复习资料_第1页
第1页 / 共3页
算法设计与分析复习资料_第2页
第2页 / 共3页
算法设计与分析复习资料_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《算法设计与分析复习资料》由会员分享,可在线阅读,更多相关《算法设计与分析复习资料(3页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上算法:指解决问题的一种方法或者一个过程,更严格的讲,算法是由若干条指令组成的有穷序列。它具有输入,输出,确定性,可行性,有穷性5个性质。递归算法:一个直接或者间接地调用自身的算法。可行解:满足某线性规划所有的约束条件(指全部前约束条件和后约束条件)的任意一组决策变量的取值,都称为该线性规划的一个可行解。解空间: 如果1,2,.s是一般的s个解,则它们的任一线性组合c11+c22+.+css 也是该齐次线性方程组的.由此可知若齐次线性方程组有非零解,则其解有无穷多个,而齐次线性方程组所有解的集合构成一个向量空间,这个向量空间就称为解空间. 解空间也就是一个集合。目标函数

2、:(objective function)是指所关心的目标(某一变量)与相关的因素(某些变量)的函数关系。简单的说,就是你求解后所得出的那个函数。在求解前函数是未知的,按照你的思路将已知条件利用起来,去求解未知量的函数关系式,即为目标函数。最优解:使某的目标函数达到(最大值或最小值)的任一,都称为该线性规划的一个最优解。最优化问题:最优化问题,主要是指以下形式的问题: 给定一个函数,寻找一个元素使得对于所有A中的,(最小化);或者(最大化)。这类定式有时还称为“”(譬如,)。许多现实和理论问题都可以建模成这样的一般性框架。,是的一个分支。子问题:一个原问题分解后得到的问题,规模更小。分治法:求

3、解一个复杂问题可以将其分解成若干个子问题,子问题还可以进一步分解成更小的问题,直到分解所得的小问题是一些基本问题,并且其求解方法是已知的,可以直接求解为止,这便是分治法。分治法作为一种算法设计策略,要求分解所得的子问题是同类问题,并要求原问题的解能够通过组合子问题的解来获取。贪心法:贪心法是一种极为直接的算法设计技术,可应用于多种问题的求解。贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。动态规划:在多阶段决策问题中,各个阶段采取的策略,一般来说是与时间有关的,决策依赖于当前状态,又随即引起

4、状态的转移,一个决策序列就是在变化的状态中产生出来的,固有动态之说,称这种解决多阶段决策最优化的过程为动态规划方法。备忘录算法:备忘录方法是动态规划方法的变形。与动态规划算法不同的是,备忘录方法的递归方式是自顶向下的,而动态规划算法则是自底向上的。回溯法:又称试探法,该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺寻逐一枚举和检验。回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个的点称为“回溯点”。贪心选择性质:事先可能给定一

5、些以函数形式表示出来的判定标准,这种在贪心法的每一步上用做决策依据的选择准则被称为最优度量标准,额称为贪心选择性质。最优子结构性质:对于一个问题,如果能从较小规模子问题的最优解求得较大规模同类子问题的最优解,最终得到给定问题的最优解,这就是问题最优解的最优子结构特性。重叠子问题: 适合于动态规划法求解的问题,将待求解的问题分解成若干个子问题,经分解得到的子问题往往不是相互独立的,他们可能共享更小的子问题,被称为重叠子问题。分治法所能解决的问题的特征:(基本要素)该问题的规模缩小到一定程度就可以解决;该问题可以分解成若干规模小的相同问题,即该问题具有最优子结构性质;利用该问题分解出的子问题的解能

6、合并为该问题的解;分解的各个子问题的解是相互独立的。如具备了前面两条,而不具备第三条,可以考虑贪心算法和动态规划。理解什么是程序,程序与算法的区别和内在联系程序(Program),程序是算法用某种程序设计语言的具体实现。程序可以不满足算法的性质(4)。例如操作系统,是一个在无限循环中执行的程序,因而不是一个算法。操作系统的各种任务可看成是单独的问题,每一个问题由操作系统中的一个子程序通过特定的算法来实现。该子程序得到输出结果后便终止。算法是指解决问题的一种方法或一个过程。算法是若干指令的有穷序列,满足性质:(1)输入:有外部提供的量作为算法的输入。(2)输出:算法产生至少一个量作为输出。(3)

7、确定性:组成算法的每条指令是清晰,无歧义的。(4)有穷性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。(5)可行性:算法中每条指令的执行指令都有明确的定义,是可行的,可在有限的时间内做完掌握算法的计算复杂性:算法的复杂度是算法运行所需要的计算机资源的量,需要时间资源的量被称为时间复杂度,需要的空间资源的量被称为空间复杂度。N问题的规模 I算法的输入A算法本身,C表示复杂度,C=F(N,I,A),算法复杂性 = 算法所需要的计算机资源算法的时间复杂性T(n,I);算法的空间复杂性S(n,I)。算法三态性:最好性态TMIN(N),最坏性态TMAX(N),平均性态TAVG(N)。

8、算法时间复杂度,渐进复杂度略。计算见书6,7,8.递归技术:常把问题分为N个子问题,子问题又继续细分,知道规模足够小,直接解决,然后逐层返回。递归技术的基本思想:人们在解决一些复杂问题时,为了降低问题的复杂程度,一般总是将问题逐层分解,最后归结为一些最简单的问题。这种将问题逐层分解的过程,实际上并没有对问题进行求解,而只是在解决了最后那些最简单的问题后,再沿着原来分解的逆过程逐步进行综合,这就是递归的基本思想。怎么解决递归:采用一个用户定义的栈来模拟系统的递归调用工作栈;用递推法来实现递归函数;通过变换。(递推法,生成函数法,特征方程法,数学归纳法,不规则法)优点:结构清晰,可读性强。缺点:运

9、行效率低,占用存储空间大,计算时间多。分治法的算法框架(1)将一个难以直接解决的原问题分解为若干个规模更小但结构与原问题相似的子问题,这些子问题相互独立(2)递归地解这些子问题,然后将这些子问题的解组合为原问题的解,此外为了得到原始问题的解,必须找到一种途径能够将各个子问题的解组合成原始问题和一个完整的答案贪心法的步骤(1) 从问题的某一初始解出发(2)当能够向给定目标前进一步则求出可行解的一个解元素(3)由所有解元素组合成问题的可行解贪心法的基本思想从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的求的更好的解。当达到某算法中的某一步不能再继续前进时,算法停止。贪心法的基本要素1.最优

10、度量标准:指可以根据该度量标准,实行多步地决策进行求解,虽然在该量度意义下所做的这些选择都是局部最优的,但最终得到的解却不一定是全局最优的。2.最优子结构:指局部最优解能够决定全局最优解。动态规划的步骤(1) 找出最优解的性质并刻画最优解的结构特性(2)递归定义最优解值(3)以自底向上方式计算最优解值(4)根据计算得到的信息构造一个最优解动态规划的基本思想1将待求解问题分解成若干个子问题,与分治法不同的是,适合于用动态规划法求解2经分解得到的子问题往往不是互相独立的,它们可能共享更小的子问题,被成为重叠子问题3如果能够保存已经解决的子问题的答案,而在需要时再找出已求得的答案,就可以避免大量重复

11、计算,从而得到多项式时间算法。为了达到这个目的,实施自底向上计算。动态规划的基本要素1最优子结构特性。对于一个问题,如果能从较小规模子问题的最优解求得较大规模同类子问题的最优解,最终得到给定问题的最优解,这就是问题最优解的最优子结构特性。较小子问题的最优解与较大子问题的最优解之间存在数值关系,这就是最优子结构。 2.子问题重叠性质。在用递归算法自顶向下求解问题时,每次产生的子问题并不总是新问题,有些子问题被反复计算多次。用这一性质,对每一个自问题只解一次,而后就其解保存在一个表格中,当再次需要解次子问题时,只是简单地用常数时间查看一下结果。贪心法与动态规划的比较贪心法就是通过对每一个子问题采取

12、最优决策,最后达到全局最优的一种策略。动态规划也是一种求解最优化问题的算法设计策略,它先求解若干子问题,再根据子问题的解来做出决策,共同点是两者所解决的问题都有很强的步骤性,都要经过各步决策最终得到最优解。区别在于贪心法要求针对问题设计最优度量标准,动态规划则是利用最优子结构,自底向上从子问题的最优解逐步构造出整个问题的最优解。备忘录算法与动态规划算法的比较动态规划算法的最大特性是:局部最优中产生整体最优,具体方法是逐层迭代,从局部开始,一步一步达到整体。备忘录算法思想跟动态规划是一样的,不同的是,它采用一个递归的形式,开始不计算子问题的解,而且将这些子问题标记为特殊值,然后如果求解时需要用到子问题的解,就对其进行计算。专心-专注-专业

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号