第四讲完全性理论精选文档.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第四讲完全性理论精选文档.ppt》由会员分享,可在线阅读,更多相关《第四讲完全性理论精选文档.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四讲完全性理论本讲稿第一页,共四十七页内容o计算的形式描述计算模型o可计算性理论oP类与NP类问题oNP完全性理论oNP完全性的典型例子本讲稿第二页,共四十七页1 理论计算模型图灵机理论计算模型图灵机A.TuringA.Turing在在19361936年介绍了这样一个通用的计算年介绍了这样一个通用的计算模型,该模型具有以下两个性质模型,该模型具有以下两个性质n该模型的每个过程都是有穷可描述的;n过程必须是由离散的、可以机械执行的步骤组成。图灵机是计算机的一种简单数字模型,尽管简图灵机是计算机的一种简单数字模型,尽管简单,但它具有模拟通用计算机的计算能力。为单,但它具有模拟通用计算机的计算能力
2、。为算法和可计算性研究提供了形式化描述工具。算法和可计算性研究提供了形式化描述工具。本讲稿第三页,共四十七页FinitecontrolX1BB.X2XnXi带带(tape)单元格单元格(cell)带符(带符(tape symbol)n 读写头在每一时刻扫描带上的一个单元读写头在每一时刻扫描带上的一个单元n 带有一个最左单元,向右则是无限的。带有一个最左单元,向右则是无限的。n 带的每个单元可容纳一个带符号带的每个单元可容纳一个带符号开始时,最左边开始时,最左边n个单元装着输入(个单元装着输入(n0,n为有限数),它是一个字符为有限数),它是一个字符串,符号都选自串,符号都选自“带符号带符号”的
3、一个子集,即所谓的的一个子集,即所谓的“输入符号集合输入符号集合”。余下的有穷个单元都存放空白符,它是一个特殊的带符号,但余下的有穷个单元都存放空白符,它是一个特殊的带符号,但不是不是输入符号。输入符号。图灵机的基本模型本讲稿第四页,共四十七页图灵机(Turing Machine)o带子可读可写o无限长的带子o读写头可左移右移 有限状态控制器111 111000000 0BBB1本讲稿第五页,共四十七页在一个图灵机的动作中,图灵机根据带头(读写头)所扫描的符号和有限控制器的状态可能作n改变状态n在被扫描的带单元上重新写一个符号,以代替原来写在该单元上的符号.n将带头向左或者右移一个单元。图灵机
4、的工作机制本讲稿第六页,共四十七页图灵机的形式化描述图灵机的形式化描述 有限状态集 有限输入符号集 有限带符号集 转移函数 开始状态 特殊带符:空白符 终态集合q0 Q T B T F Q转移函数转移函数 :Q Q L,R 形式定义形式定义 一个图灵机一个图灵机 TM(Turing machine)是一个七元组是一个七元组 M=(Q,T,q0,B,F).本讲稿第七页,共四十七页其他图灵机模型o“实际的”的图灵机模型n单带图灵机(1TM)n多带图灵机(kTM)n随机存取机(RAM)o“实际的”n单位时间内完成的工作量有一个多项式上界o所有“实际的”计算模型多项式时间等价本讲稿第八页,共四十七页2
5、 P类与NP类问题o算法的时间复杂度(分成二类)n多项式时间n指数时间o可计算与不可计算本讲稿第九页,共四十七页 10 20 30 40 50 60.00001 .00002 .00003 .00004 .00005 .00006second second second second second second.0001 .0004 .0009 .0016 .0025 .0036second second second second second second.001 .008 .027 .064 .125 .216second second second second second seco
6、nd .1 3.2 24.3 1.7 5.2 13.0second second second minutes minutes minutes .001 1.0 17.9 12.7 35.7 366second second minutes days years centuries .059 58 6.5 3855 2*108 1.3*1013second minutes years centuries centuries centuriesnn2n3n52n3nSize nTimecomplexityfunction多项式与指数函数时间比较本讲稿第十页,共四十七页nn2n3n52n3nN1N
7、2N3N4N5N6100N110N24.64N32.5N4N5+6.641000N131.6N210N33.98N4N6+4.19N5+9.97N6+6.29TimecomplexityfunctionWith presentcomputerWith computer100 times fasterWith computer1000 times faster1小时能解决的最大规模本讲稿第十一页,共四十七页指数灾难:计算量的指数增长本讲稿第十二页,共四十七页Non-deterministic algorithmso目前所講的算法都有一個前提假設,就是它的每個運算(operation)的結果都是獨
8、一(確定)的。這種性質的算法可以在實際的電腦上執行,稱為 deterministic algorithms.o在討論計算理論時,可以將這種限制拿掉,也就是可以假設一個運算的結果不唯一,可能是某 n 個結果中的一個,而且一定會是正確的那一個。這樣子的算法稱為 non-deterministic algorithm。這種算法無法在實際的電腦上執行。本讲稿第十三页,共四十七页o我們定義下列三個涵數來說明這種算法。nChoice(S):從 S 中選一個正確的答案來(若正確答案存在的話)。nFailure():沒有成功地完成工作。nSuccess():成功地完成工作o這三個涵數的執行時間都是 O(1)。
9、o只有在不可能有正確答案的情形下,non-deterministic algorithm 才無法成功地完成工作。o一個可以執行 non-deterministic algorithm 的機器稱為 non-deterministic machine.本讲稿第十四页,共四十七页Example 1 searchingoA1:n 是一個 n 個元素的集合,要在 A 中搜尋一個元素 x 的 non-deterministic algorithm 如下:int j=Choice(1,n);if(Aj=x)cout j;Success();cout 0;Failure();o因為 Choice(1,n)一定
10、會找出一個正確的值,所以拿它找出來的值 j 來比較 Aj=x 若不成立的話,就表示 x 不在 A 裡面。Time complexity 是 O(1)。本讲稿第十五页,共四十七页Example 2 Sortingo要將 A1:n 中的元素作 non-decreasing 的排列,non-deterministic algorithm 如下 void Nsort(int A,int n)int BSIZE,i,j;for(i=1;i=n;i+)Bi=0;/初值化 for(i=1;i=n;i+)j=Choice(1,n);/選一個正確的位置 if(Bj)Failure();/確認Bj 沒有被用過 B
11、j=Ai;for(i=1;i Bi+1)Failure();/作確認 for(i=1;i=n;i+)cout Bi ;cout endl;Success();Time complexityO(n)本讲稿第十六页,共四十七页o要如何來看待 non-deterministic algorithm 呢?o可以用平行處理的角度來看,也就是當作同時有很多很多機器一起作同一個問題,每個機器用不同的 choice 的結果來作,若有一個成功的話,其他的就不用再作;若某個失敗、就自己停下來即可。o另外更好的解釋是,實際上可能有一種方法可以選擇一個正確的答案出來(只要正確答案存在),只是我們還不曉得而已(上帝知道
12、),Choice(S)就代表可以找到 S 中正確答案的函數(若正確答案存在)。若正確答案不存在的話,Choice(S)還是會找出一個答案,所以我們需要確認此答案是否正確。本讲稿第十七页,共四十七页Definition oAny problem for which the answer is either zero or one is called a decision problem.An algorithm for a decision problem is termed a decision algorithm.oAny problem that involves the identifi
13、cation of an optimal(either minimum or maximum)value of a given cost function is known as an optimization problem.An optimization algorithm is used to solve an optimization problem.本讲稿第十八页,共四十七页非确定型图灵机(NTM)o猜想阶段o验证阶段 有限状态控制器111 111000000 0BBB1猜想模块本讲稿第十九页,共四十七页非确定型图灵机的形式化非确定型图灵机的形式化 有限状态集 有限输入符号集 有限带
14、符号集 转移函数 开始状态 特殊带符:空白符 终态集合q0 Q T B T F Q转移函数转移函数 :可随机选择可随机选择 形式定义形式定义 一个非确定型图灵机一个非确定型图灵机 TM 是一个七元组是一个七元组 M=(Q,T,q0,B,F).本讲稿第二十页,共四十七页P类(Polynomial)oP类n具有多项式时间算法的判定问题形成的计算复杂性类n在确定型图灵机上多项式时间可解的问题本讲稿第二十一页,共四十七页NP类(Nondeterministic Polynomial)oNP问题:n在非确定型图灵机上多项式时间可解的问题n在确定型图灵机上多项式时间可验证的问题oP类包含于NP类中oNP类
15、问题在确定图灵机上指数时间可解n非确定型图灵机和确定型图灵机的计算能力相当本讲稿第二十二页,共四十七页Commonly believed relationship between P and NPo一般相信 P P 與 NPNP 兩集合不相同,也就是相信有些問題是屬於 NPNP 而不屬於 P P,但目前仍然無法證明。oCook 曾問過一個問題:有沒有什麼問題應該屬於 NPNP 而不屬於 P P,如果該問題屬於 P P 的話,就表示 P P=NPNP 呢?P PNPNP本讲稿第二十三页,共四十七页Satisfiability ProblemoGiven a Boolean formula(wit
16、h variables and Boolean operators AND,OR and NOT),is it satisfiable?nIs there an assignment of values 0 or 1 to variables so that the formula evaluates to 1?oConjunctive Normal Form(CNF)nA clause is the OR of some literalsnA Boolean formula consisting of several clauses separated by AND is a CNF for
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 完全性 理论 精选 文档
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内