Part 4 图灵机及可计算理论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(q0, 0)= (q0, 0, R) (q0, 1)= (q1, 1, R) (q1, 0)= (q1, 0, R)
S
0/0→
0/0→
1/1→ q0
q1
B/B→ q2
(q1, B)= (q2, B, R)
当(q , X)=(p , Y, D)时,
在q到p的弧上标记X/Y D,D为→或← L(M1)={x | x∈{0,1}+,且x中有且仅有一个1}
17
图灵机接受的语言
定义9-4 TM接受的语言叫做递归可枚举语言(recursively enumerable language,r.e.)。 如果存在TM M=(Q, ∑, Γ, , q0, B, F) ,L=L(M),并且对每 一个输入串x,M都停机,则称L为递归语言(recursively language)。 TM能够定义 x是任意的串 x∈L,M进入接受状态并停机 x L,M也可以停机,但不进入接 受状态 M不能停机,则可能是r.e.,或其他 语言可以按TM接受及停机分类 TM能够计算
12
图灵机接受的语言
定义9-2 即时描述(instantaneous description, ID)
12∈ *,q∈Q, 1q2称为M的即时描述
q为M的当前状态, M正注视着2的最左符号。 当M的读头注视的符号右边还有非空白符时, 12为 M的输入带最左端到最右的非空白符号组成的符号串; 否则, 12是M的输入带最左端到M的读头注视的带
Part 4 图灵机及可计算理论
主讲教师 贺利坚
Part 4 主要内容提示
内 容 教 材 出 处
一、图灵机及形式定义 二、图灵机的构造
9.1 基本概念(9.1.1) 9.1 基本概念(9.1.1-3)
三、图灵机的变形
四、通用图灵机 五、可计算性理论
9.2 图灵机的变形
9.3 通用图灵机 9.4 可计算性理论的几个相关概 念
6
Alan Turing(1912-1954)
1912 (23 June): Birth, Paddington, London 1926-31: Sherborne School 1930: Death of friend Christopher Morcom 1931-34: Undergraduate at King's College, Cambridge University 1932-35: Quantum mechanics, probability, logic 1935: Elected fellow of King's College, Cambridge 1936: The Turing machine, computability, universal machine 1936-38: Princeton University. Ph.D. Logic, algebra, number theory 1938-39: Return to Cambridge. Introduced to German Enigma cipher machine 1939-40: The Bombe, machine for Enigma decryption 1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic 1943-45: Chief Anglo-American crypto consultant. Electronic work. 1945: National Physical Laboratory, London 1946: Computer and software design leading the world. 1947-48: Programming, neural nets, and artificial intelligence 1948: Manchester University 1949: First serious mathematical use of a computer 1950: The Turing Test for machine intelligence 1951: Elected FRS. Non-linear theory of biological growth 1952: Arrested as a homosexual, loss of security clearance 1953-54: Unfinished work in biology and physics 1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire.
(4)00000 q000000 ├M 0q00000 ├M 00q0000 ├M 000q000 ├M 0000 q00 ├M 00000q0B
(1)000100 q0000100 ├M 0q000100 ├M 00q00100 ├M 000q0100 ├M 0001q100 ├M 00010q10 ├M 000100 q1 ├M 000100Bq2
S
借助其他描述方法的观察:
0/0→
1/1→ q0 q1 0/0→ 1/1→ q2 0/0→ 1/1→ q3
0 q0 q1 q2 q3
1
B
M2接受的语言是什么?
M2接受的语言是字母 表{0,1}上那些至少含
(q0, 0, R) (q1, 1, R) (q1, 0, R) (q2, 1, R) (q2, 0, R) (q3, 1, R)
2
一、图灵机及形式定义
1、图灵机
2、图灵机的形式定义
3、图灵机接受的语言
3
图灵机
FA和PDA的局限 FA有有限的存储,只能处理RL PDA用栈提供无限的存储,但栈只能后进先出,PDA 只能处理CFL FA和PDA不能用作通用的计算模型
4
图灵机
图灵机是通用的计算模型,是计算机的数学模型 图灵在论述“有些数学问题是不可解的”时,提出了图灵 机 图灵论题:凡是可计算的函数,都可以用图灵机计算 丘奇论题:任何计算,如果存在一个有效过程,它就能被 图灵机实现 提出TM的目的在于: 对有效的计算过程(即算法)进行形式化的 描述, 忽略模型的存储容量在内的一些枝节问题, 只考虑算法的 基本特征. 图灵提出TM具有以下两个性质 具有有穷描述。 过程必须是由离散的、可以机械执行的步骤组成。
5
图灵机
图灵生平 1912年出生,演算能力突出 1931年,进剑桥大学学数学 1936年,提出图灵机模型 1938年,获普灵斯顿大学博士学位 1950年,发表论文“计算机和智能”,提出图灵测 试 1951年,成为英皇家学会院士 1954年,不幸去世
现代计算机设计思想的创始人,人工智能领域的开拓者 计算机领域的最高奖以图灵命名
语言
18
r.e.
递归语言
图灵机接受的语言
例 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)
(2)1 q01 ├M 1q1 ├M 1Bq2
(3)000101 q0000101 ├M 0q000101 ├M 00q00101 ├M 000q0101 ├M 0001q101 ├M 00010q11
16
图灵机接受的语言
定义9-3 TM接受的语言 TM M=(Q, ∑, Γ, , q0, B, F) L(M)={x | x∈∑*且q0x├M* 1q 2 & qF & 1, 2 *} 图灵机不停地计算: 当输入被接受时, 图灵机将停止, 没有下一个动作; 当因未定义转换函数, 图灵机无法计算下去时, 将拒绝执行; 如果不进入任何接受或拒绝状态, 继续执行下去, 永不停止。 在TM接受的语言中,包含那些不能使TM停机的输入。 只要在工作过程中能进入终止状态(之一),则可以判断 被接受并停机。
15
图灵机接受的语言
例 M1在处理输入串的过程中经历的ID变换序列 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)
10
图灵机的形式定义
例 TM M1=({q0, q1, q2},{0, 1},{0, 1, B}, , q0 , B ,{q2}) 其中 的定义如下
(q0, 0)= (q0, 0, R) (q1, 0)= (q1, 0, 来自百度文库)
M1的移动函 数的另一种 表示: 状态 q0 q1 q2
(q0, 1)= (q1, 1, R) (q1, B)= (q2, B, R)
0 (q0, 0, R) (q1, 0, R) 1 (q1, 1, R) (q2, B, R) B
L(M1)={x | x∈{0,1}+,且x中有且仅有一个1}
11
图灵机的形式定义
补充:图灵机的转移图
M1=({q0, q1, q2},{0, 1},{0, 1, B}, ,q0 , B ,{q2})
如果(q, Xi)=(p, Y, L), 则当i≠1时,M的下一个ID为
X1X2…pXi-1YXi+1…Xn 记作X1X2…Xi-1qXiXi+1…Xn ├M X1X2…pXi-1YXi+1…Xn
14
图灵机接受的语言
├Mn表示├M的n次幂:├Mn =(├M)n ├M+表示├M的正闭包: ├M+ =(├M)+ ├M*表示├M的克林闭包: ├M* =(├M)* 在意义明确时,用├、├n 、├+、├*表示
方格中的符号组成的符号串
13
图灵机接受的语言
设X1X2…Xi-1qXiXi+1…Xn是M的一个ID, 如果(q,Xi)=(p,Y,R),则M的下一个ID为 X1X2…Xi-1YpXi+1…Xn 记作X1X2…Xi-1qXiXi+1…Xn├M X1X2…Xi-1YpXi+1…Xn 设X1X2…Xi-1qXiXi+1…Xn是M的一个ID,
Γ:带符号表(tape symbol),X为M的一个带符号,表示
在M的运行过程中,X可以在某一时刻出现在输入带上; q0∈Q:M的开始状态,M从状态q0启动,读头正注视着输入 带最左端的符号; B:空白符(blank symbol),含空白符的带方格是空的; FQ:M的终止状态集,q∈F为M的一个终止状态。 TM M 一旦进入终止状态,它就停止运行。
9
图灵机的形式定义
TM M=(Q, ∑, Γ, , q0, B, F) 称为移动函数 :Q×Γ Q×Γ ×{R, L},为M的移动函数(transaction function)。 (q, X)=(p, Y, R)表示M在状态q读入符号X,将状态改为p, 并在这个X所在的带方格中印刷符号Y,然后将读头向右 移一格; (q, X)=(p, Y, L)表示M在状态q读入符号X,将状态改为p, 并在这个X所在的带方格中印刷符号Y,然后将读头向左 移一格。
7
图灵机
图灵机的物理模型 基本模型包括 一个有穷控制器。 一条含有无穷多个带方格的输入带。 一个读头。 一个移动将完成以下三个动作: 改变有穷控制器的状态; 在当前所读符号所在的带方格中印刷一个符号; 将读头向右或者向左移一格。
8
图灵机的形式定义
定义9-1 图灵机(Turing machine)/基本的图灵机 TM M=(Q, ∑, Γ, , q0, B, F) Q:状态的有穷集合,q∈Q为M的一个状态; ∑:输入字母表,a∑为M的一个输入符号。除空白符号B 外,只有∑中的符号才能在M启动时出现在输入带上;