Part-4-图灵机及可计算理论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Part-4-图灵机及可计算理论课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Part 图灵机 可计算 理论 课件
- 资源描述:
-
1、Part 4 图灵机及可计算理论主讲教师 贺利坚2Part 4 主要内容提示主要内容提示内容教材出处一、图灵机及形式定义9.1 基本概念(9.1.1)二、图灵机的构造9.1 基本概念(9.1.1-3)三、图灵机的变形9.2 图灵机的变形四、通用图灵机9.3 通用图灵机五、可计算性理论9.4 可计算性理论的几个相关概念3一、图灵机及形式定义一、图灵机及形式定义1、图灵机2、图灵机的形式定义3、图灵机接受的语言4图灵机图灵机G FA和PDA的局限A FA有有限的存储,只能处理RLA PDA用栈提供无限的存储,但栈只能后进先出,PDA只能处理CFLG FA和PDA不能用作通用的计算模型5G 图灵机是
2、通用的计算模型,是计算机的数学模型A 图灵在论述“有些数学问题是不可解的”时,提出了图灵机A 图灵论题:凡是可计算的函数,都可以用图灵机计算A 丘奇论题:任何计算,如果存在一个有效过程,它就能被图灵机实现G 提出TM的目的在于:对有效的计算过程(即算法)进行形式化的描述,忽略模型的存储容量在内的一些枝节问题,只考虑算法的基本特征.G 图灵提出TM具有以下两个性质A 具有有穷描述。A 过程必须是由离散的、可以机械执行的步骤组成。图灵机图灵机6G 图灵生平A 1912年出生,演算能力突出A 1931年,进剑桥大学学数学A 1936年,提出图灵机模型A 1938年,获普灵斯顿大学博士学位A 1950
3、年,发表论文“计算机和智能”,提出图灵测试A 1951年,成为英皇家学会院士A 1954年,不幸去世现代计算机设计思想的创始人,人工智能领域的开拓者计算机领域的最高奖以图灵命名图灵机图灵机7Alan Turing(1912-1954)1912(23 June):Birth,Paddington,London1926-31:Sherborne School1930:Death of friend Christopher Morcom1931-34:Undergraduate at Kings College,Cambridge University1932-35:Quantum mechanic
4、s,probability,logic1935:Elected fellow of Kings College,Cambridge1936:The Turing machine,computability,universal machine1936-38:Princeton University.Ph.D.Logic,algebra,number theory1938-39:Return to Cambridge.Introduced to German Enigma cipher machine1939-40:The Bombe,machine for Enigma decryption19
5、39-42:Breaking of U-boat Enigma,saving battle of the Atlantic1943-45:Chief Anglo-American crypto consultant.Electronic work.1945:National Physical Laboratory,London1946:Computer and software design leading the world.1947-48:Programming,neural nets,and artificial intelligence1948:Manchester Universit
6、y1949:First serious mathematical use of a computer1950:The Turing Test for machine intelligence1951:Elected FRS.Non-linear theory of biological growth1952:Arrested as a homosexual,loss of security clearance1953-54:Unfinished work in biology and physics1954(7 June):Death(suicide)by cyanide poisoning,
7、Wilmslow,Cheshire.8G 图灵机的物理模型A 基本模型包括B一个有穷控制器。B一条含有无穷多个带方格的输入带。B一个读头。A 一个移动将完成以下三个动作:B改变有穷控制器的状态;B在当前所读符号所在的带方格中印刷一个符号;B将读头向右或者向左移一格。图灵机图灵机9图灵机的形式定义图灵机的形式定义G定义9-1 图灵机(Turing machine)/基本的图灵机TM M=(Q,q0,B,F)AQ:状态的有穷集合,qQ为M的一个状态;A:输入字母表,a为M的一个输入符号。除空白符号B外,只有中的符号才能在M启动时出现在输入带上;A:带符号表(tape symbol),X为M的一个带
8、符号,表示在M的运行过程中,X可以在某一时刻出现在输入带上;Aq0Q:M的开始状态,M从状态q0启动,读头正注视着输入带最左端的符号;AB:空白符(blank symbol),含空白符的带方格是空的;AFQ:M的终止状态集,qF为M的一个终止状态。TM M 一旦进入终止状态,它就停止运行。10TM M=(Q,q0,B,F)A 称为移动函数B:Q Q R,L,为M的移动函数(transaction function)。B(q,X)=(p,Y,R)表示M在状态q读入符号X,将状态改为p,并在这个X所在的带方格中印刷符号Y,然后将读头向右移一格;B(q,X)=(p,Y,L)表示M在状态q读入符号X,
9、将状态改为p,并在这个X所在的带方格中印刷符号Y,然后将读头向左移一格。图灵机的形式定义图灵机的形式定义11G 例 TM M1=(q0,q1,q2,0,1,0,1,B,q0,B,q2)其中 的定义如下(q0,0)=(q0,0,R)(q0,1)=(q1,1,R)(q1,0)=(q1,0,R)(q1,B)=(q2,B,R)M1的移动函数的另一种表示:图灵机的形式定义图灵机的形式定义q2(q2,B,R)(q1,0,R)q1(q1,1,R)(q0,0,R)q0B10状态L(M1)=x|x0,1+,且x中有且仅有一个112G 补充:图灵机的转移图M1=(q0,q1,q2,0,1,0,1,B,q0,B,q
10、2)(q0,0)=(q0,0,R)(q0,1)=(q1,1,R)(q1,0)=(q1,0,R)(q1,B)=(q2,B,R)Sq0q1q20/01/10/0B/B当(q,X)=(p,Y,D)时,在q到p的弧上标记X/Y D,D为或L(M1)=x|x0,1+,且x中有且仅有一个1图灵机的形式定义图灵机的形式定义13图灵机接受的语言图灵机接受的语言G 定义9-2 即时描述(instantaneous description,ID)12*,qQ,1q2称为M的即时描述A q为M的当前状态,M正注视着2的最左符号。A 当M的读头注视的符号右边还有非空白符时,12为M的输入带最左端到最右的非空白符号组成
11、的符号串;A 否则,12是M的输入带最左端到M的读头注视的带方格中的符号组成的符号串14设X1X2Xi-1qXiXi+1Xn是M的一个ID,如果(q,Xi)=(p,Y,R),则M的下一个ID为 X1X2Xi-1YpXi+1Xn 记作X1X2Xi-1qXiXi+1XnM X1X2Xi-1YpXi+1Xn 设X1X2Xi-1qXiXi+1Xn是M的一个ID,如果(q,Xi)=(p,Y,L),则当i1时,M的下一个ID为X1X2pXi-1YXi+1Xn记作X1X2Xi-1qXiXi+1Xn M X1X2pXi-1YXi+1Xn图灵机接受的语言图灵机接受的语言15Mn表示M的n次幂:Mn=(M)nM+
12、表示M的正闭包:M+=(M)+M*表示M的克林闭包:M*=(M)*在意义明确时,用、n、+、*表示图灵机接受的语言图灵机接受的语言16G 例 M1在处理输入串的过程中经历的ID变换序列M1=(q0,q1,q2,0,1,0,1,B,q0,B,q2)图灵机接受的语言图灵机接受的语言M 000100Bq2M 000100 q1M 00000q0BM 00010q11M 00010q10M 0000 q00M 0001q101M 0001q100M 000q000M 000q0101M 000q0100M 00q0000M 00q00101M 1Bq2M 00q00100M 0q00000M 0q00
13、0101M 1q1M 0q000100q000000q0000101q01q0000100(4)00000(3)000101(2)1(1)000100(q0,0)=(q0,0,R)(q0,1)=(q1,1,R)(q1,0)=(q1,0,R)(q1,B)=(q2,B,R)17G 定义9-3 TM接受的语言 TM M=(Q,q0,B,F)L(M)=x|x*且q0 xM*1q 2&qF&1,2*只要在工作过程中能进入终止状态(之一),则可以判断被接受并停机。图灵机不停地计算:当输入被接受时,图灵机将停止,没有下一个动作;当因未定义转换函数,图灵机无法计算下去时,将拒绝执行;如果不进入任何接受或拒绝状
14、态,继续执行下去,永不停止。在TM接受的语言中,包含那些不能使TM停机的输入。图灵机接受的语言图灵机接受的语言18语言语言G 定义9-4A TM接受的语言叫做递归可枚举语言(recursively enumerable language,r.e.)。A 如果存在TM M=(Q,q0,B,F),L=L(M),并且对每一个输入串x,M都停机,则称L为递归语言(recursively language)。A x是任意的串是任意的串BxL,M进入接受状态并停机Bx L,M也可以停机,但不进入接受状态BM不能停机,则可能是r.e.,或其他G 语言可以按TM接受及停机分类图灵机接受的语言图灵机接受的语言r
15、.e.递归语言递归语言TM能够定义能够定义TM能够计算能够计算19G 例 M2=(q0,q1,q2,q3,0,1,0,1,B,q0,B,q3),(q0,0)=(q0,0,R)(q0,1)=(q1,1,R)(q1,0)=(q1,0,R)(q1,1)=(q2,1,R)(q2,0)=(q2,0,R)(q2,1)=(q3,1,R)M2接受的语言是什么?Sq0q10/01/10/01/1q20/01/1q3图灵机接受的语言图灵机接受的语言01Bq0(q0,0,R)(q1,1,R)q1(q1,0,R)(q2,1,R)q2(q2,0,R)(q3,1,R)q3M2接受的语言是字母表0,1上那些至少至少含有3个
16、1的0、1符号串。借助其他描述方法的观察:20M2=(q0,q1,q2,q3,0,1,0,1,B,q0,B,q3)处理输入串的过程:图灵机接受的语言图灵机接受的语言G 思考:如何构造出接受字母表0,1上那些含且恰含有3个1的符号串的TM。G 关键:不读完不能进入终态(3)1001100101100:q01001100101100 1q1001100101100 10 q101100101100 100q11100101100 1001 q210010110010011q300101100(1)00010101:q000010101 0q00010101 00q0010101 000q01010
17、1 0001q10101 00010q1101 000101q201 0001010q21 00010101q3(2)000101000:q0000101000 0q000101000 00q00101000 000q0101000 0001q101000 00010q11000 000101q2000 0001010q200 00010100q20 000101000q2B21一、图灵机及形式定义一、图灵机及形式定义1、图灵机2、图灵机的形式定义3、图灵机接受的语言Any Question?Any Question?22Part 4 主要内容提示主要内容提示内容教材出处一、图灵机及形式定义9
18、.1 基本概念(9.1.1)二、图灵机的构造9.1 基本概念(9.1.1-3)三、图灵机的变形9.2 图灵机的变形四、通用图灵机9.3 通用图灵机五、可计算性理论9.4 可计算性理论的几个相关概念23二、图灵机的构造二、图灵机的构造1、一般构造方法2、TM作为非负整函数的计算模型3、状态的有穷存储功能的利用4、多道(multi-track)技术 5、子程序(subroutine)技术 24一般构造方法一般构造方法G 思路A 图灵机可以对输入带进行写操作A 写入一些标记即完成记忆(类似PDA的栈,但更丰富)A 图灵机还可以用状态标记工作状态25G 例 构造TM M3,使L(M)=0n1n2n|n
19、1。A 不能通过“数”0、1、或者2的个数来实现检查。A 用匹配的方法比较它们的个数是否相同:B出现一个0、必然所有0后有1,所有1后有2。B遇0后在带方格上印刷一个X,找到1后在带方格上印刷一个Y,再找到2后在带方格上印刷一个Z。B带上为XXXYYYZZZB时接受A 例:对000111222一般构造方法一般构造方法 000111222B000111222B X X00111222B00111222B X X0000Y Y11222B11222B X X0000Y Y1111Z Z22B22B XX XX0 0Y Y11Z22B11Z22B XX XX0 0YYYY1 1Z Z22B22B X
20、X XX0YY10YY1ZZZZ2B2B XXXYY XXXYY1 1ZZZZ2B2B XXXYYYZZ XXXYYYZZ2B2B XXXYYYZZZ XXXYYYZZZB B26G 正常情况下,输入带上的符号串的一般形式为A 000011112222G TM经过一段运行,输入带上的符号串的一般情况为A XX00YY11ZZ22BBG 如果能被接受A XXXXYYYYZZBG 边界情况可能有A XXXXYYYYZZ22BBA XXXXYY11ZZ22BBA XX00YYYYZZ22BBA XX00YY11ZZZZBBA XX00YYYYZZZZBB一般构造方法一般构造方法27(q0,0)=(q
21、1,X,R)(q1,0)=(q1,0,R)(q1,Y)=(q1,Y,R)(q1,1)=(q2,Y,R)(q2,1)=(q2,1,R)(q2,Z)=(q2,Z,R)(q2,2)=(q3,Z,L)(q3,0)=(q3,0,L)(q3,Y)=(q3,Y,L)(q3,1)=(q3,1,L)(q3,Z)=(q3,Z,L)(q3,X)=(q0,X,R)构造思路构造思路 28构造思路构造思路(q0,Y)=(q4,Y,R)0已经读完(q4,Y)=(q4,Y,R)(q4,Z)=(q4,Z,R)(q4,B)=(q5,B,R)?q2时遇到B?q2时遇到终态?q4时遇到1?q4时遇到2?q1时遇到Z?q1时遇到2?q
22、1时遇到29L(M3)=0n1n2n|n1M3=(q0,q1,q2,q3,q4,q5,0,1,2,0,1,2,X,Y,Z,B,q0,B,q5)如右定义(q0,0)=(q1,X,R)(q1,0)=(q1,0,R)(q1,Y)=(q1,Y,R)(q1,1)=(q2,Y,R)(q2,1)=(q2,1,R)(q2,Z)=(q2,Z,R)(q2,2)=(q3,Z,L)(q3,Z)=(q3,Z,L)(q3,1)=(q3,1,L)(q3,Y)=(q3,Y,L)(q3,0)=(q3,0,L)(q3,X)=(q0,X,R)(q0,Y)=(q4,Y,R)(q4,Y)=(q4,Y,R)(q4,Z)=(q4,Z,R)
23、(q4,B)=(q5,B,R)一般构造方法一般构造方法30 012XYZBq0(q0,X,R)(q4,Y,R)q1(q1,0,R)(q2,Y,R)(q1,Y,R)q2(q2,1,R)(q3,Z,L)(q2,Z,R)q3(q3,0,L)(q3,1,L)(q0,X,R)(q3,Y,L)(q3,Z,L)q4 (q4,Y,R)(q4,Z,R)(q5,B,R)q5 一般构造方法一般构造方法L(M3)=0n1n2n|n1M3=(q0,q1,q2,q3,q4,q5,0,1,2,0,1,2,X,Y,Z,B,q0,B,q5)31TM作为非负整函数的计算模型作为非负整函数的计算模型G TM除作为语言的识别器外,还
24、可以求函数的值G 用TM求解k元函数f(n1,n2,nk)G 编码问题(带方格上的符号)A 用符号串0n表示非负整数n 1进制 A 函数的输入(TM中带的初始值):k元函数f(n1,n2,nk)的输入是:0n11 0n2110nkA 函数的值(TM的输出):如果f(n1,n2,nk)=m,则该TM的输出为0m。0000B输出m个000010000110000B输入n1个n2个nk个32定义9-5 图灵可计算的(Turing computable)G 设有k元函数f(n1,n2,nk)=m,TM M=(Q,q0,B,F)M接受输入串0n11 0n2110nk,输出符号串0m;f(n1,n2,nk
25、)无定义时,TM M没有恰当的输出给出。G 称TM M计算k元函数f(n1,n2,nk);G 也称f(n1,n2,nk)为TM M计算的函数;G 也称f是图灵可计算的。TM作为非负整函数的计算模型作为非负整函数的计算模型33G 定义9-6 完全递归函数(total recursive function)A 设有k元函数f(n1,n2,nk),如果对于任意的n1,n2,nk,f 均有定义,也就是计算f的TM总能给出确定的输出,则称 f 为完全递归函数。G 部分递归函数(partial recursive function)A 一般地,TM计算的函数称为部分递归函数。G 说明A 常用算术函数(+-
展开阅读全文