- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 8.2 图问题中的流塑法 8.2.26 蒙旭虚拟算法与TNl类问题 此算法结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,因此,它为设计算法和调试程序带来很大方便,是算法设计中的一种强有力的工具。但是,因为算法是一种自身调用自身的算法,随着深度的增加,工作栈所需要的空间增大,调用时的辅助操作增多,因此,算法的运行效率较低。 8.2.26 蒙旭虚拟算法与TNl类问题 定义2.3 设A是求解问题Π的一个算法,如果算法A以如下猜测并验证的方式工作,就称算法A是非确定性(Nondeterminism)算法: (1)猜测阶段:在这个阶段,对问题的输入实例产生一个任意字符串y,在算法的每一次运行时,串y的值可能不同,因此,猜测以一种非确定的形式工作。 (2)验证阶段:在这个阶段,用一个确定性算法验证: ① 检查在猜测阶段产生的串y是否是合适的形式,如果不是,则算法停下来并得到no; ② 如果串y是合适的形式,则验证它是否是问题的解,如果是,则算法停下来并得到yes,否则算法停下来并得到no。 (1)证明问题Π属于NQ类问题,也就是说,可以在多项式时间以确定性算法验证一个任意生成的串,以确定它是不是问题的一个解; (2)证明NQ类问题中的每一个问题都能在多项式时间变换为问题Π。由于多项式问题变换具有传递性,所以,只需证明一个已知的NQ完全问题能够在多项式时间变换为问题Π。 对问题的输入中必须要处理的元素进行计数,同时,对必须要输出的元素进行计数。这种计数方法产生的是一个平凡下界(Ordinary Lower Bound). 例 :生成 n 个元素的所有排列对象的算法属于Ω(n!) 平凡下界往往过小而失去意义。 例:TSP问题的平凡下界是Ω(n2) 所谓最优算法(Optimality Algorithm)是指在某一种度量标准下,优于该问题的所有(可能的)算法。 如果能够证明求解问题Π的任何算法的运行时间下界是Ω(g(n)),那么,对以时间O(g(n))来求解问题Π的任何算法,都认为是最优算法。 a1a2 a1a2a3 是 是 是 否 否 否 a1a3 a2a3 a2a1a3 a2a3 a3a2a1 a2a3a1 a1a3 a3a1a2 a1a3a2 否 否 是 是 例:对三个数进行排序的判定树 最坏情况下的时间复杂性是从根节点到叶子结点的最长路径长度,它不会超过判定树的高度。 将一个难以直接解决的大问题,划分成一些规模较小的子问题,以便各个击破,分而治之。更一般地说,将要求解的原问题划分成k个较小规模的子问题,对这k个子问题分别求解。如果子问题的规模仍然不够小,则再将每个子问题划分为k个规模更小的子问题,如此分解下去,直到问题规模足够小,很容易求出其解为止,再将子问题的解合并为一个更大规模的问题的解,自底向上逐步求出原问题的解。 2. 独立子问题:各子问题之间相互独立,这涉及到的效率,如果各子问题不是独立的,则需要重复地解公共的子问题。 1. 平衡子问题:最好使子问题的规模大致相同。也就是将一个问题划分成大小相等的k个子问题(通常k=2),这种使子问题规模大致相等的做法是出自一种平衡(Balancing)子问题的思想,它几乎总是比子问题规模不等的做法要好。 一般来说,的求解过程由以下三个阶段组成: (1)划分:既然是离治,当然需要把规模为n的原问题划分为k个规模较小的子问题,并尽量使这k个子问题的规模大致相同。 (2)求解子问题:各子问题的解法与原问题的解法通常是相同的,可以用的方法求解各个子问题,有时处理也可以用循环来实现。 (3)合并:把各个子问题的解合并起来,合并的代价因情况不同有很大差异,离治算法的有效性很大程度上依赖于合并的实现。 例:计算an 34 32 32 81 31 31 9 31 31 9 3 3 3 3 分解问题 求解每个子问题 合并子问题的解 不是所有的都比简单的蛮力法更有效。 分析时 间性能 ? ? é ù ? í ì ′ = = 1 1 2 2 n a a n a a n n n 如果 如果 调用函数和被调用函数是同一个函数,需要注意的是函数的调用层次,如果把调用函数的主函数称为第0层,进入函数后,首次调用自身称为第1层调用;从第i层调用自身称为第i+1层。反之,退出第i+1层调用应该返回第i层。采用图示方法描述函数的运行轨迹,从中可较直观地了解到各调用层次及其执行情况。 *
您可能关注的文档
- 7.1.1有序数对.ppt
- 7.1.2平面直角坐标系(一)选择课件(二).ppt
- 7.1常量和变量课件浙江省绍兴市马鞍镇中学八年级上.ppt
- 六上第六单元《综合性学习:轻叩诗歌的大门》教 (2).ppt
- 4儒道书院《道德经第四章》PPT讲义.ppt
- 六上第六单元综合性学习之诗文朗诵比赛.ppt
- 7.1追寻守恒7.2功课件.ppt
- 六上行知天下答案 (2).ppt
- 六下《口语交际·习作一》.ppt
- 7.2.2 用坐标表示平移.ppt
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
最近下载
- 2024年高考语文复习:修改病句 专项练习题(含答案解析).pdf VIP
- 第1章 勾股定理 大单元教学设计 【 学情分析指导 】 北师大版八年级数学上册.docx VIP
- 2024年全国职业院校技能大赛高职组(烹饪赛项)备赛试题库(含答案).pdf VIP
- 2024年世界职业院校技能大赛中职组“导游服务组”赛项考试题库(含答案).pdf VIP
- 2024年世界职业院校技能大赛高职组“导游服务组”赛项参考试题库(含答案).pdf VIP
- 2024年世界职业院校技能大赛高职组“研学旅行组”赛项参考试题库(含答案).pdf VIP
- 涡喷发动机及其油路结构.pdf VIP
- (一模)临汾市2025年高考考前适应性训练考试(一) 化学试卷(含答案).pdf
- 山西省大同市云冈区重点名校2024届中考冲刺卷数学试题含解析.doc VIP
- 2024年《药物临床试验质量管理规范》(GCP)网络培训题库及答案完整版.pdf VIP
文档评论(0)