算法分析与计算复杂性理论幻灯片.ppt
《算法分析与计算复杂性理论幻灯片.ppt》由会员分享,可在线阅读,更多相关《算法分析与计算复杂性理论幻灯片.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法分析与计算复杂算法分析与计算复杂性理论性理论第1页,共37页,编辑于2022年,星期一2课程简介课程简介p 课程名称课程名称 算法分析与计算复杂性理论算法分析与计算复杂性理论 Analysis of Algorithms and Theory of Computational Complexity p基本目的基本目的n掌握组合算法设计的基本技术掌握组合算法设计的基本技术n掌握算法分析的基本方法掌握算法分析的基本方法n掌握计算复杂性理论的基本概念掌握计算复杂性理论的基本概念n学习应用算法理论处理实际问题学习应用算法理论处理实际问题第2页,共37页,编辑于2022年,星期一3课程内容课程内容p
2、顺序算法顺序算法设计设计的基本技术的基本技术 分治策略分治策略 动态规划动态规划 回溯算法回溯算法 贪心法贪心法 概率算法概率算法p顺序算法顺序算法分析分析的基本方法的基本方法 评价算法的标准评价算法的标准 算法复杂性的估计算法复杂性的估计 问题复杂性的下界问题复杂性的下界 算法分析的实例算法分析的实例p计算计算复杂性复杂性理论理论 Turing机机 计算复杂性的概念计算复杂性的概念 NP完全性理论及其应用完全性理论及其应用 NP完全理论的拓广完全理论的拓广 第3页,共37页,编辑于2022年,星期一预计进度安排预计进度安排内容内容学学时时内容内容学学时时1前言前言19Turing机机22数学
3、基数学基础础210计计算复算复杂杂性理性理论论23分治策略分治策略411NP完全性理完全性理论论24动态规动态规划划412Cook定理定理15回溯与分支估界回溯与分支估界413NP完全性完全性证证明明56贪贪心法心法414NP完全理完全理论应论应用用27概率算法概率算法315NP完全理完全理论论的拓广的拓广 28算法分析技算法分析技术术616小小结结1第4页,共37页,编辑于2022年,星期一5教材与参考书教材与参考书1.Algorithm Design,Jon Kleinberg,Eva Tardos,Addison-Wesley,清华大学出版社影印版清华大学出版社影印版,2006.2.In
4、troduction to Algorithms(Second Edtion),Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,The MIT Press 2001.高教出版社影印版,高教出版社影印版,2002.3.计算机和难解性计算机和难解性:NP完全性理论导引完全性理论导引,M.R.加里加里,D.S.约翰逊约翰逊,张立昂等译,科学出版社张立昂等译,科学出版社,1987.*4.计算复杂性导论,堵丁柱,葛可一,王洁,高教出版社计算复杂性导论,堵丁柱,葛可一,王洁,高教出版社2002.*5.Limits to Parallel Comput
5、ation:P-Completeness Theory,Raymond Greenlaw,H.James Hoover,Walter L.Ruzzo,Oxford University Press,1995.第5页,共37页,编辑于2022年,星期一学习安排学习安排p成绩评定:成绩评定:n小论文:结合研究工作,小论文:结合研究工作,50%n期末笔试:期末笔试:50%第6页,共37页,编辑于2022年,星期一7引言引言:理论上的可计算与现实上的可计算理论上的可计算与现实上的可计算 p算法研究的重要性算法研究的重要性p理论上的可计算理论上的可计算 可计算性理论可计算性理论 p现实上的可计算现实上的
6、可计算 计算复杂性理论计算复杂性理论 第7页,共37页,编辑于2022年,星期一8投资问题投资问题问题:问题:m元钱,投资给元钱,投资给n个项目,效益函数个项目,效益函数 fi(x),表示第,表示第 i 个项目个项目投入投入x元钱的效益,元钱的效益,i=1,2,n.如何分配每个项目的钱数使如何分配每个项目的钱数使得总效益最大?得总效益最大?采用什么算法?效率怎样?采用什么算法?效率怎样?令令xi 是第是第 i 个项目的钱数个项目的钱数第8页,共37页,编辑于2022年,星期一9蛮力算法的代价蛮力算法的代价Stirling公式:公式:非负整数解非负整数解 的的个数估计:个数估计:蛮力算法蛮力算法
7、穷举法代价太大穷举法代价太大能否利用解之间的依赖关系找到更好的算法?能否利用解之间的依赖关系找到更好的算法?结论:需要算法设计技术结论:需要算法设计技术 第9页,共37页,编辑于2022年,星期一10 T(n)=2 T(n 1)+1,T(1)=1,A B C思考:是否存在更好的解法?思考:是否存在更好的解法?Reve难题:难题:Hanoi塔变种,柱数增加,允许盘子相等塔变种,柱数增加,允许盘子相等.其他变种其他变种:奇偶盘号分别放置奇偶盘号分别放置解得解得 T(n)=2n 1 1秒移秒移1个,个,64个盘子要多少时间?(个盘子要多少时间?(5000亿年)亿年)Hanoi塔问题塔问题第10页,共
8、37页,编辑于2022年,星期一11其他问题其他问题搜索问题搜索问题 输入:排好序的数组输入:排好序的数组 L,x 输出:输出:x 是否在是否在 L 中?如果在输出它的下标中?如果在输出它的下标排序问题排序问题 输入:输入:n个数个数 输出:按递增顺序排好的输出:按递增顺序排好的n个数个数选择问题选择问题 输入:输入:n个数的集合个数的集合S,正整数,正整数k(1 k n)输出:输出:S中第中第 k 小的数小的数需要:需要:现有的算法中哪个算法最好?现有的算法中哪个算法最好?是否存在更有效的算法?是否存在更有效的算法?第11页,共37页,编辑于2022年,星期一12Algorithm+Data
9、 Structure=Programmingp好的算法好的算法n提高求解问题的效率提高求解问题的效率n节省存储空间节省存储空间 p需要解决的问题需要解决的问题n问题问题寻找求解寻找求解算法算法 算法设计技术算法设计技术n算法算法算法的评价算法的评价 算法分析技术算法分析技术n算法类算法类问题复杂度的评价问题复杂度的评价 问题复杂性分析问题复杂性分析n问题类问题类能够求解的边界能够求解的边界 计算复杂性理论计算复杂性理论 第12页,共37页,编辑于2022年,星期一13算法研究的重要性算法研究的重要性p算法设计与分析技术在计算机科学与技术领域有着重要的应用背算法设计与分析技术在计算机科学与技术领
10、域有着重要的应用背景景 p算法设计分析与计算复杂性理论的研究是计算机科学技术的算法设计分析与计算复杂性理论的研究是计算机科学技术的核心研究领域核心研究领域 n1966-2005期间,期间,Turing奖获奖奖获奖50人,其中人,其中10人以算法人以算法设计,设计,7人以计算理论、自动机和复杂性研究领域的杰人以计算理论、自动机和复杂性研究领域的杰出贡献获奖出贡献获奖n计算复杂性理论的核心课题计算复杂性理论的核心课题“P=NP?”是本世纪是本世纪7个最个最重要的数学问题之一重要的数学问题之一p通过算法设计与分析课程的训练对提高学生的素质和分析问通过算法设计与分析课程的训练对提高学生的素质和分析问题
11、解决问题的能力有着重要的作用题解决问题的能力有着重要的作用第13页,共37页,编辑于2022年,星期一14理论上的可计算:可计算性理论理论上的可计算:可计算性理论p研究目标研究目标 确定什么问题是可计算的,即存在求解算法确定什么问题是可计算的,即存在求解算法p合理的计算模型合理的计算模型 已有的:递归函数、已有的:递归函数、Turing机、机、演算、演算、Post系统等系统等 条件:计算一个函数只要有限条指令条件:计算一个函数只要有限条指令 每条指令可以由模型中的有限个计算步骤完成每条指令可以由模型中的有限个计算步骤完成 指令执行的过程是确定的指令执行的过程是确定的p核心论题:核心论题:Chu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 计算复杂性 理论 幻灯片
限制150内