计算理论导引-6-可计算理论的高级专题.ppt
《计算理论导引-6-可计算理论的高级专题.ppt》由会员分享,可在线阅读,更多相关《计算理论导引-6-可计算理论的高级专题.ppt(42页珍藏版)》请在三一办公上搜索。
1、1,康熠华,计算理论,第6章 可计算性理论的高级专题,2,主要内容,6.1 递归定理6.1.1 自引用6.1.2 递归定理的术语6.1.3 应用6.2 逻辑理论的可判定性6.2.1 一个可判定的理论6.2.2 一个不可判定的理论6.3 图灵可归约性6.4 信息的定义6.4.1 极小长度的描述 6.4.2 定义的优化 6.4.3 不可压缩的串和随机性,3,逻辑理论的可判定性,数理逻辑是数学的一个分支,它研究数学本身。数理逻辑关心如下问题:什么是定理?什么是证明?什么是真?算法能判定哪些命题是真的?所有真命题都是可证的吗?关心的焦点:能否确定一个数学命题是真是假,以及这种问题的可判定性。,4,逻辑
2、理论的可判定性,命题1称,有无限多个素数存在,在大约2300年以前的欧几里德时代,就已知道这个命题是真的。命题2称为费马大定理,这个命题几年前由安德鲁威尔士(Andrew Wiles)证明为真。命题3称,有无限多个素数对存在,这被称为孪生素数猜想(twin prime conjecture)。它到现在还未被解决。,首先需要建立一个精确的语言来将这些问题形式化。我们的要求是能够考虑如下数学命题:,5,符号,称为布尔运算;“(”和“)”是括号;符号 和 是量词;符号x用来代表变元;符号R1,Rk 称为关系。,逻辑理论的可判定性,为了将之进一步精确化,现在描述这个语言的字母表:,6,公式,公式是字母
3、表上的良构串。形如 Ri(x1,x2,xj)的串是原子公式,值 j 是关系符号 Ri的元数。一个良构公式中所有出现的相同关系符号必须有相同的元数。一个串如满足一下条件,则是一个公式:1)是一个原子公式;2)具有形式1 2 或 1 2或 1。其中1和2 是更小的公式。3)具有形式1 2 或12 或 1。其中 x1 或 x1,其中 1 是更小的公式。,7,公式,辖域:紧跟在量词化变元后的一对括号中的部分。前束范式:所有量词都出现在公式的前面。自由变元:没有被量词的辖域所约束的变元。句子或命题:没有自由变元的公式。,(1)x(F(x,y)G(x,z)(2)x(F(x)G(y)y(H(x)L(x,y,
4、z),8,例6.7 在下列公式中,只有最后一个是句子:,逻辑理论的可判定性,9,逻辑理论的可判定性,论域:覆盖变元可能的取值。将关系符号指定为确定的关系。而关系是从论域上的k元组到TRUE,FALSE的函数。关系符号的元数必须和指派给它的关系和元数相同。论域连同关系到关系符号的指派一起称为模型。形式上,一个模型 M 是一个元组(U,P1,Pk),其中U是论域,P1 到 Pk 是指派给符号 R1 到 Rk 的关系。模型语言:在公式的集合中,只使用此模型指派的关系符号,且对每个关系符号,使用正确的元数。如果是某个模型语言中的句子,则在这个模型中不为真就为假。如果在模型 M 中为真,则说 M 是的一
5、个模型。,10,逻辑理论的可判定性,例6.8 设是句子xy R1(x,y)R1(y,x),模型 M1=(N,)是如下的模型:它的论域是自然数集,它将“小于或等于”关系分配给符号R1。显然在M1中为真,因为对于任意两个自然数 a 和 b,a b 和 ba 必有一个成立。但如果M1将“小于”关系(而不是“小于或等于”关系)指派给R1,则将不真,因为当 x 和 y 相等时,它不再成立。,如果事先知道什么关系将指派给 Ri,就可以用这个关系的惯用记号来代替 Ri,且按习惯,可用中缀记法。对于 M1,可以将写成 xy x y yx,11,例6.9 设 M2 是如下的模型:它的论域是是实数集 R,且讲关系
6、 PLUS 指派给 R1,其中:只要当 a+b=c 时 PLUS(a,b,c)=TURE。则 M2 是=yx R1(x,x,y)的一个模型。但如果用 N 代替 R 作为 M2 的论域,则此句子为假。,逻辑理论的可判定性,如果 M 是一个模型,这个模型语言中所有真句子的集合称为 M 的理论系统,简称为理论,记为Th(M)。,12,一个可判定性的理论,设 3 包含所有高度为 3 的 0 和 1 的列。3 上的字符串给出三行 0 和 1。把每一行看作一个二进制数,令B=w3|w 最下面的一行等于上面两行的和 则 B 是正则的。,13,Th(N,+)是可判定的,考虑如下一个实例:,构造有限自动机:(x
7、1,x2,x3)|x1+x2=x1+x3,然后构造NFA:(x1,x2)|x3 x1+x2=x1+x3,同样:(x1)|x2x3 x1+x2=x1+x3,为真时,得到(),为假时得到。,14,一个可判定性的理论,思路:对于输入为(N,+)的语言中的句子检查其在模型中是否为真。=Q1x1Q2x2 Qlxl 对于 0l 的每一个i,令公式i 为i=Qi+1xi+1Qi+2xi+2 Qlxl 这样,0=且 l=。对于从 0 到 l 的每个 i,算法构造了一个有穷自动机 Ai,它识别如下串的集合:这些串表示i 为真的数的 i 元组。算法先直接构造 Ai,然后,对从 l 向下到 1 的每个 i,它用 A
8、i 构造 Ai-1。最后,一旦得到 A0,算法就检查 A0是否接受空串。如果接受,则为真,算法也就接受。,15,Th(N,+)是可判定的,则 i=包含了所有 0 和 1 构成的 i元列向量。i 上的每个串表示 i 的二进制整数(沿行读)。令0=,其中 是一个符号。现在介绍判定 Th(N,+)的算法。对于输入(其中为句子),算法如下运行:写下,且对从 0 到 l 的每个 i,如同在证明思路中介绍的那样定义i。再对每个这样的i,由i构造有穷自动机Ai,使得只要i(a1,ai)为真,它就接受i*上对应于i元组a1,ai 的串。Ai 的构造如下:,对 i 0,定义字母表,16,为构造第一个机器 Al,
9、注意到l 是原子公式的布尔组合。在 Th(N,+)的语言中,原子公式只有单个加法。对每个这样的单个加法,可以构造个有穷自动机来计算这样的单个加法所对应的关系,然后将这些有穷自动机组合起来,就能给出自动机Al。这样做要涉及正则语言类对于交、并和补的封闭性,以计算原子公式的布尔组合。接下来说明怎么由 Ai+1 来构造 Ai。如果i=xi+1i+1,则构造 Ai 使得它的运行几乎与Ai+1一样,区别在于 Ai 非确定地猜 ai+1 的值,而不是将它作为输入的一部分而接受。更精确地说,对于 Ai+1 的每个状态,Ai 包含一个与之对应的状态;且 Ai还包含一个新的起始状态。每当 Ai 读下列符号时,,
10、一个可判定性的理论,17,这里每个 bi0,1 是数 ai 的某一位,它非确定地猜 z0,1,且在下列输入符号上模拟 Ai+1。,一个可判定性的理论,最初,Ai 非确定地猜测 ai+1的引导位,这些引导位对应于 a1 到 ai 中隐藏的引导 0。猜测的方法是:从它新的起始状态到所有状态非确定性地进行分叉,这些状态是 Ai+1 以 i+1中下列符号的串为输入、从它的开始状态所能到达的状态。,显然,如果存在ai+1,使得Ai+1接受(a1,ai+1),则Ai接受(a1,ai)。如果i=xi+1i+1,它等价于 xi+1i+1。首先构造识别语言 Ai+1 的补的有穷自动机,然后应用上述对于量词的构造
11、,最后再一次应用补来得到Ai。有穷自动机 A0 接收某个输入,当且仅当0为真。所以算法的最后步骤是检查 A0 是否接收。如果是,则为真,且算法接受它;否则,就拒绝。,18,一个不可判定性的理论,19,一个不可判定性的理论,证明:如果是可证的,则下列算法P接受其输入。算法P使用在可证性性质1中所说的证明检查器,检查每个可能成为的证明的候选串。如果发现一个侯选串正是一个证明,则接受它。,20,证明:用反证法。假设所有真命题都是可证的,利用这个假设来构造判定命题是否为真的算法D,与定理6.11矛盾。对于输入,算法D如下运行:在输入和 上并行地运行定理6.13的证明中给出的算法P。这两个命题总有一个为
12、真,根据假设,总有一个是可证的。因而P在其中一个输入上停机。根据可证性性质2,如果是可证的,则为真;如果 是可证的,则为假。所以算法D能判定的真假性。,一个不可判定性的理论,21,一个不可判定性的理论,证明:设S是如下运行的TM。S“对于任意的输入:1)出递归定理得到它自己的描述。2)用引理6.12构造句子。3)在输入 上运行定理6.13给出的算法P。4)如果上一步接受,就接受;如果它停机且拒绝,则拒绝。”设 是算法S的第二步所描述的句子。为真,当是仅当S不接受0(串0是随意选择的)。如果s能找到 的一个证明,S就接受0,这个句子也就因之为假。一个假句子是不能被证明的,所以这种情形不可能发生。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 理论 导引 可计算 高级 专题
链接地址:https://www.31ppt.com/p-6343066.html