算法课程总结.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法课程总结

算法分析与设计课程总结 课程主讲 计算机科学学院 王小明 (博士/教授/博士生导师) Email:wangxm@snnu.edu.cn 算法分析与设计课程总结 第一部分 课程回顾 第二部分 算法比较 第一部分:课程回顾 算法课程总结 最优子结构 课程思维导图 定义:用变量的旧值不断递推出新值的解决问题的方法。通常用于数值计算。 实现:递推法(利用问题本身所具有的一种递推关系求问题解的一种方法) 倒推法(倒推法是对某些特殊问题所采用的违反通常习惯的,从后向前推解问题的方法,如猴子偷桃问题) 课程回顾 迭代法(iteration): 定义:把问题的所有情况或所有过程交给计算机去一一尝试,从中找出问题的解。如狱吏问题。 如枚举法(enumerate) 应用:顺序查找,选择排序,冒泡排序,插入排序都是采用的蛮力法 课程回顾 蛮力法: 应用:折半查找,快速排序,二叉树遍历,等等。 定义:把一个难于直接解决的大问题分解为若干个“相似”的小问题,再解所有小问题,然后把小问题的解“合并”,从而得到大问题的解。 课程回顾 分治法: 思想:把问题分解为大小相当(或相等)的独立子问题,然后解决子问题,最后把子问题的解合并,得到原问题的解。 实现: 二分法:每次把问题一分为二。如二分法求金块分配问题 减治法:只需解决子问题的一部分,合并这部分子问题的解即可得到原问题的解。 *递归方法是具体实现分治算法的一种技术。 *分治法是递归设计方法的一种具体策略。 定义:贪心算法总是作出在当前看来最好的选择。即贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。如背包问题、工资发放问题 应用:活动安排问题、最优装载、哈夫曼编码、单源最短路径、最小生成树、多机调度问题 *对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所作的贪心选择最终导致问题的整体最优解。 哪些问题适合用“贪心法”获得的最优解? 满足:贪心选择性质、最优子结构性质的问题适合用“贪心法”求最优解 1.贪心选择性质所求问题的整体最优解可以通过一系列局部最优解的选择,即“贪心选择”来得到。 2.最优子结构性质当一个问题的最优解包含其所有子问题的最优解时,称此问题具有最优子结构性质。 课程回顾 贪心法: 定义:我们把这种通过多阶段决策以最优化解决问题的过程称为动态规划。 问题特征:适合用动态规划算法解决的问题及决策应该具有三个性质:最优化原理、无后向性、子问题重叠(子问题之间是不独立的)性质。 基本思想:把求解的问题分成许多阶段或多个子问题,然后按顺序求解各子问题。最后一个子问题的解就是初始问题的解。 实例:0-1背包问题、最短路径问题、数塔问题、n矩阵连乘问题 应用:资源分配问题、n矩阵连乘问题 课程回顾 动态规划: 定义:实际是一个类似枚举的搜索尝试方法,它的主题思想是在搜索尝试中找问题的解,当不满足求解条件就“回溯”(返回),尝试别的路径。回溯算法是尝试搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”的思想,作为其控制结构。如八皇后问题 课程回顾 回溯(Backtravking)算法: 定义:一种在问题解空间上进行尝试搜索算法。所谓“分支”是采用广度优先的策略,依次生成结点(扩展节点)的所有分支,也就是所有的儿子结点。和回溯法一样,在生成的节点中,抛弃那些不满足约束条件(或者说不可能导出最优解)的结点,其余节点加入活节点表。然后按一定规则(如后进先出、先进先出、优先队列)从表中选择一个节点作为下一个活节点。如装载问题。 实现:分支搜索、分支限界搜索、优先队列分支限界搜索 课程回顾 分支搜索法: 概率算法:是指选择下一步执行步骤时,用随机(概率)方法进行选择,而不是用逻辑上确定的方法进行选择. 概率算法特点:随机决策、不可再现性(在同一实例上执行两次其结果可能不同;在同一实 例上执行两次的时间亦可能不太相同。)、分析困难(要求有概率论,统计学和数论的知识。) 课程回顾 概率算法及智能优化算法: 智能优化算法:模拟自然过程“优胜略劣汰”的算法一般称之为智能算法。例如,根据动植物繁衍过程原理、物理或化学现象原理等设计的解决困难计算问题的算法,都可以称为智能优化算法。如蚁群算法、模拟退火算法、遗传算法等。 蚁群算法:模拟自然界蚂蚁觅食过程的一种分布式、启发式群体智能算法。 (蚂蚁一开始选择觅食路径的概率是一样的,但经过一段时间后更优路径上的信息素(算子)增多,蚂蚁选择更优路径的概率随之增大。) *迭代思想在实现蚁群算法时有很好的应用。 要点:信息素控制计算函数设计、随机选择概率函数设计、经验参数选取 主要应用领域:组合优化(如TSP问题等)、机器学习(如神经网络的优化设计等) 遗传算法:在每一代中,根据个体适应度大小选挑个体,并

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档