计算理论导引-6-可计算理论的高级专题优秀PPT.ppt
《计算理论导引-6-可计算理论的高级专题优秀PPT.ppt》由会员分享,可在线阅读,更多相关《计算理论导引-6-可计算理论的高级专题优秀PPT.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主要内容主要内容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 不行压缩的串和随机性不行压缩的串和随机性1递归定理q递归定理是一个数学结论,在可计算性理论的高级探讨中递归定理是一个数学结论,在可计算性理论的高级探讨中起着重要的作用。起着重要的作用。q考察与
2、生命科学有关的一个悖论:考察与生命科学有关的一个悖论:q1)生物都是机器。生物都是机器。q2)生物都能自再生。生物都能自再生。q3)机器不能自再生。机器不能自再生。q设有构造机器设有构造机器 B 的机器的机器 A:A 确定比确定比 B 困难,但一个机器困难,但一个机器不会比它自己更困难。因此没有机器能够制造它自己,故不会比它自己更困难。因此没有机器能够制造它自己,故自再生是不行能的。?自再生是不行能的。?q制造能生产自己的机器是可能的。制造能生产自己的机器是可能的。2递归的意义q自己调用自己自己调用自己从前有个庙,庙里有个老和尚,老和尚给小和尚讲故事,从前有个庙,庙里有个老和尚,老和尚给小和尚
3、讲故事,讲的故事是:讲的故事是:“从前有个庙,庙里有个老和尚,老和尚给从前有个庙,庙里有个老和尚,老和尚给小和尚讲故事,讲的故事是小和尚讲故事,讲的故事是”q自我繁殖自我繁殖#include main()char*c=#include main()char*c=%c%s%c;printf(c,34,c,34);printf(c,34,c,34);3自引用引理引理引理引理6.16.1存在可计算函数存在可计算函数 q:*,对任意串,对任意串 w,q(w)是是图灵机图灵机 Pw 的描述,的描述,Pw 打印出打印出 w,然后停机。,然后停机。q可以任取一个字符串可以任取一个字符串 w,然后从它构造一个
4、图灵机,使得此图灵机将,然后从它构造一个图灵机,使得此图灵机将 w内装在一个表中,这样,当此图灵机起先运行后,它只要简洁输出内装在一个表中,这样,当此图灵机起先运行后,它只要简洁输出 w 即即可。可。q下列下列 TM Q 计算计算 q(w):qQ=“对于输入串对于输入串 w:q1)构造下列图灵机构造下列图灵机 Pw:qPw =“对于随意输入:对于随意输入:q a)抹去输入。抹去输入。q b)在带上写下在带上写下 w。q c)停机。停机。”q2)输出输出。”4图灵机 SELF图灵机图灵机 SELF 忽视输入,且打印出它自己的描述。忽视输入,且打印出它自己的描述。图灵机图灵机 SELF 有两个部分
5、,分别叫做有两个部分,分别叫做 A 和和 B,将,将 A 和和 B 想象成两个分别的想象成两个分别的过程,它们一起组成过程,它们一起组成 SELF。我们希望我们希望 SELF 打印出打印出 =。A 部分首先运行,在依据完成状况将限制传给部分首先运行,在依据完成状况将限制传给 B。A 的任务是打印出的任务是打印出 B 的的描述。描述。运用机器运用机器 P 来定义来定义 A,其中,其中 P用函数用函数 q 在在 处的值处的值q()描述,描述,这样,这样,A 部分是一个打印出部分是一个打印出 的图灵机。的图灵机。A 的描述依靠于是否已经有的描述依靠于是否已经有了了 B 的描述,所以在构造出的描述,所
6、以在构造出 B 之前,无法完成之前,无法完成 A 的描述。的描述。定义定义 B,使之能打印,使之能打印 A:B 从从 A 产生的输出来计算产生的输出来计算 A。假如假如 B 能得到能得到,它就能用,它就能用 q 来得到来得到。当。当 A 结束时,它被留在带上。结束时,它被留在带上。所以所以 B 只要看着带子就能得到只要看着带子就能得到。在计算。在计算 q()=之后,之后,B 将之将之加到带的前面。加到带的前面。然后将然后将 A 和和 B 组合成一个机器并在带上写下它的描述。组合成一个机器并在带上写下它的描述。5图灵机 SELFBA(=P)SELF 的限制器的限制器SELF 的示意图,一个打印它
7、自己的描述的的示意图,一个打印它自己的描述的 TMA=P(B),且,且B=“对于输入对于输入,其中,其中 M 是一个是一个 TM 的一部分:的一部分:1)计算计算 q()。2)将其结果与将其结果与 结合来组成一个完整的结合来组成一个完整的 TM 描述。描述。3)打印这个描述,然后停机。打印这个描述,然后停机。”6图灵机 SELFBA(=P)SELF 的限制器的限制器假如现在运行假如现在运行 SELF,能视察到如下动作:,能视察到如下动作:1)首先首先 A 运行,它在带上打印运行,它在带上打印;2)B 起先运行,它查看带子,找到它的输入起先运行,它查看带子,找到它的输入;3)B 计算计算 q()
8、=,然后将之与,然后将之与 合并,构成合并,构成 TM SELF 的描述的描述。4)B 打印这个描述,且停机。打印这个描述,且停机。7图灵机 SELFq简洁用任何程序设计语言实现这个构造,即得到一个程序,简洁用任何程序设计语言实现这个构造,即得到一个程序,输出就是它自己。输出就是它自己。q也可用自然语言实现:也可用自然语言实现:q打印这个句子打印这个句子q考虑下面的变换考虑下面的变换q打印下面语句的两个副本,在其次个副本上加引号;打印下面语句的两个副本,在其次个副本上加引号;q“打印下面语句的两个副本,在其次个副本上加引号;打印下面语句的两个副本,在其次个副本上加引号;”q本例中,本例中,B
9、部分的构造是如下的句子:部分的构造是如下的句子:q打印下面语句的两个副本,在其次个副本上加引号;打印下面语句的两个副本,在其次个副本上加引号;qA 部分与之相同,只是用引号将之括起来。部分与之相同,只是用引号将之括起来。qA 供应了供应了 B 的一个副本给的一个副本给 B。8递归定理定理定理定理定理6.26.2设设 T 是计算函数是计算函数 t:*的一个图灵机。的一个图灵机。则存在计算函数则存在计算函数 r:*的一个图灵机的一个图灵机 R,使得,使得对每一个对每一个 w,有:,有:r(w)=t(,w)只须要制造一个只须要制造一个 TM T,使之以自己的描述作为输入的一部分。,使之以自己的描述作
10、为输入的一部分。然后递归定理就产生一个新的机器然后递归定理就产生一个新的机器 R,它和,它和 T 一样运行,只是一样运行,只是 R 的描述被自动地装在的描述被自动地装在 T 中。中。ABT(=P)R 的限制器的限制器9递归定理A 是由是由 q()描述的图灵机描述的图灵机 P。为了保持输入。为了保持输入w,重新,重新设计设计 q,使得,使得 P 印出任何预先在带上存在的串的输出。印出任何预先在带上存在的串的输出。在在 A 运行之后,带上包含运行之后,带上包含 w。B 是如下的过程:检查带子,并将是如下的过程:检查带子,并将 q 应用于带内容。结果是应用于带内容。结果是。然后。然后 B 将将 A、
11、B 和和 T 组成一个图灵机,并得到它的描述组成一个图灵机,并得到它的描述 =。最终,描述的编码和最终,描述的编码和 w 结合,在带上形成结果串结合,在带上形成结果串,并,并将限制传给将限制传给 T。ABT(=P)R 的限制器的限制器10递归定理的术语q在设计图灵机算法时,可用如下方式运用递归定理。在设计图灵机算法时,可用如下方式运用递归定理。q假如你正在设计一个图灵机假如你正在设计一个图灵机 M,则可以在,则可以在 M 的算法的非形的算法的非形式描述中包含如下的短语:式描述中包含如下的短语:q“得到自己的描述得到自己的描述”。一旦得到自己的描述,。一旦得到自己的描述,M 就能就能像运用其他已
12、计算出来的值一样运用这个描述。像运用其他已计算出来的值一样运用这个描述。q例如,例如,M 可以简洁打印出可以简洁打印出;或者计算;或者计算 中的状态中的状态数;或模拟数;或模拟。q用递归定理来描述机器用递归定理来描述机器 SELF:qSELF=“对于随意输入:对于随意输入:q1)利用递归定理得到它自己的描述利用递归定理得到它自己的描述;q2)打印打印。”11递归定理的术语q递归定理展示了怎样实现递归定理展示了怎样实现“获得自己的描述获得自己的描述”的构造。的构造。q为了产朝气器为了产朝气器 SELF,首先写下以下机器,首先写下以下机器 T:qT=“对于输入对于输入:q1)打印打印 并停机。并停
13、机。”qTM T 得到得到 TM M 和它输入的串和它输入的串 w 的描述,它打印了的描述,它打印了 M 的的描述描述。然后递归定理展示怎样获得在输入。然后递归定理展示怎样获得在输入 w 上的上的 TM R,像,像 T 在输入在输入 上那样操作。因此上那样操作。因此 R 打印出打印出 R 的的描述,恰好是机器描述,恰好是机器 SELF 所须要得到的。所须要得到的。12递归定理的应用q计算机病毒是一个计算机程序,它被设计成在计算机中传计算机病毒是一个计算机程序,它被设计成在计算机中传播它自己。为了实现自我复制的基本任务,可能运用到递播它自己。为了实现自我复制的基本任务,可能运用到递归定理证明中的
14、结构。归定理证明中的结构。例例 计算机病毒;(计算机病毒;(Autoexec.BAT)从从A:盘盘 复制复制 到到B:盘盘 Echo This is a Virus program IF exist b:autoexec.bat goto Virus Goto No_Virus :Virus B:Rename autoexec.bat auto.bat /准备冒名顶替准备冒名顶替 Copy a:autoexec.bat b:/自我复制部分自我复制部分 Echo I am Virus /诚恳的自白诚恳的自白 Del*.exe /实施破坏实施破坏 :No_virus A:Auto /调用原来调用原
15、来 autoexec.bat,给出安然无恙的假象,给出安然无恙的假象13递归定理的应用定理定理定理定理6.36.3ATM是不可判定的。是不可判定的。假设图灵机假设图灵机 H 可判定可判定 ATM。构造下列图灵机。构造下列图灵机 B。B=“对于输入对于输入 w:1)由递归定理得到自己的一个描述由递归定理得到自己的一个描述。2)在输入在输入 上运行上运行 H。3)得到与得到与 H 相反的结果,相反的结果,即:假如即:假如 H 拒绝,则接受;假如拒绝,则接受;假如 H 接受,则拒绝。接受,则拒绝。”对输入对输入w,B 的结果与的结果与 H 相反,所以相反,所以 H 不行能判定不行能判定 ATM。14
16、递归定理的应用定义定义定义定义6.46.4假如假如 M 是一个图灵机,则是一个图灵机,则 M 的描述的描述 的长度是的长度是描述描述 M 的串中所含符号的个数。假如没有与的串中所含符号的个数。假如没有与 M 等价等价的图灵机有更短的描述,则称的图灵机有更短的描述,则称 M 是微小的。令是微小的。令MINTM|M 是一个微小是一个微小 TM 15递归定理的应用定理定理定理定理6.56.5MINTM不是图灵可识别的。不是图灵可识别的。假设假设 TM E 枚举枚举MlNTM,然后试图来得到冲突。构造下列,然后试图来得到冲突。构造下列 TM C。C=“对于输入对于输入 w:1)由递归定理得到它自己的一
17、个描述由递归定理得到它自己的一个描述。2)运行枚举器运行枚举器 E,直到一个比,直到一个比 C 的描述更长的机器的描述更长的机器D出现。出现。3)在输入在输入 w上模拟上模拟 D。为为 MINTM 是无限的,故是无限的,故 E 的序列中必定含有的序列中必定含有 TM,其描述比,其描述比 C 的描述更长。的描述更长。因此,因此,C 的其次步最终将在某个的其次步最终将在某个 TM D上终止,且上终止,且 D 比比 C 更长。更长。然后然后 C 就模拟就模拟 D,且与之等价。,且与之等价。因为因为 C 比比 D 短且与之等价,故短且与之等价,故 D 不行能是微小的,但不行能是微小的,但D又在又在 E
18、 产生的序列中产生的序列中出现,这样就得到了冲突。出现,这样就得到了冲突。16递归定理的应用定理定理定理定理6.66.6设设 t:*是一个可计算函数,则存在一个图灵是一个可计算函数,则存在一个图灵机机 F,使得,使得 t()描述一个与描述一个与 F 等价的图灵机。这等价的图灵机。这里假设如果串不是一个正确的图灵机编码,那么它里假设如果串不是一个正确的图灵机编码,那么它描述的图灵机立即拒绝。描述的图灵机立即拒绝。设设 F 是下列图灵机。是下列图灵机。F =“对于输入对于输入w:1)由递归定理得到它自己的一个描述由递归定理得到它自己的一个描述。2)计算计算 t()得到一个得到一个 TM G 的描述
19、。的描述。3)在输入在输入w上模拟上模拟 G。”明显,明显,和和 t()=描述了等价的图灵机,描述了等价的图灵机,因为因为 F 模拟模拟 G。17主要内容主要内容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 不行压缩的串和随机性不行压缩的串和随机性18逻
20、辑理论的可判定性q数理逻辑是数学的一个分支,它探讨数学本身。数理逻辑是数学的一个分支,它探讨数学本身。q数理逻辑关切如下问题:什么是定理?什么是证明?什么数理逻辑关切如下问题:什么是定理?什么是证明?什么是真?算法能判定哪些命题是真的?全部真命题都是可证是真?算法能判定哪些命题是真的?全部真命题都是可证的吗?的吗?q关切的焦点:能否确定一个数学命题是真是假,以及这种关切的焦点:能否确定一个数学命题是真是假,以及这种问题的可判定性。问题的可判定性。19逻辑理论的可判定性命题命题1称,有无限多个素数存在,在大约称,有无限多个素数存在,在大约2300年以前的欧几年以前的欧几里德时代,就已知道这个命题
21、是真的。里德时代,就已知道这个命题是真的。命题命题2称为费马大定理,这个命题几年前由安德鲁称为费马大定理,这个命题几年前由安德鲁威尔士威尔士(Andrew Wiles)证明为真。证明为真。命题命题3称,有无限多个素数对存在,这被称为孪生素数猜想称,有无限多个素数对存在,这被称为孪生素数猜想(twin prime conjecture)。它到现在还未被解决。它到现在还未被解决。q首先须要建立一个精确的语言来将这些问题形式化。我们首先须要建立一个精确的语言来将这些问题形式化。我们的要求是能够考虑如下数学命题:的要求是能够考虑如下数学命题:20符号符号,称为称为布尔运算布尔运算;“(”和和“)”是括
22、号;符号是括号;符号 和和 是是量词量词;符号;符号x用来代表用来代表变元变元;符号;符号R1,Rk 称为称为关系关系。逻辑理论的可判定性为了将之进一步精确化,现在描述这个语言的字母表:为了将之进一步精确化,现在描述这个语言的字母表:21公式q公式是字母表上的良构串。公式是字母表上的良构串。q形如形如 Ri(x1,x2,xj)的串是原子公式,值的串是原子公式,值 j 是关系符号是关系符号 Ri的元数。的元数。q一个良构公式中全部出现的相同关系符号必需有相同的元一个良构公式中全部出现的相同关系符号必需有相同的元数。数。q一个串一个串如满足一下条件,则是一个公式:如满足一下条件,则是一个公式:q1
23、)是一个原子公式;是一个原子公式;q2)具有形式具有形式1 2 或或 1 2或或 1。q 其中其中1和和2 是更小的公式。是更小的公式。q3)具有形式具有形式1 2 或或12 或或 1。q 其中其中 x1 或或 x1,其中,其中 1 是更小的公式。是更小的公式。22公式q辖域:紧跟在量词化变元后的一对括号中的部分。辖域:紧跟在量词化变元后的一对括号中的部分。q前束范式:全部量词都出现在公式的前面。前束范式:全部量词都出现在公式的前面。q自由变元:没有被量词的辖域所约束的变元。自由变元:没有被量词的辖域所约束的变元。q句子或命题:没有自由变元的公式。句子或命题:没有自由变元的公式。(1)x(F(
24、x,y)G(x,z)(2)x(F(x)G(y)y(H(x)L(x,y,z)23例例6.7 在下列公式中,只有最终一个是句子:在下列公式中,只有最终一个是句子:逻辑理论的可判定性24逻辑理论的可判定性q论域:覆盖变元可能的取值。论域:覆盖变元可能的取值。q将关系符号指定为确定的关系。而关系是从论域上的将关系符号指定为确定的关系。而关系是从论域上的k元组元组到到TRUE,FALSE的函数。的函数。q关系符号的元数必需和指派给它的关系和元数相同。关系符号的元数必需和指派给它的关系和元数相同。q论域连同关系到关系符号的指派一起称为模型。论域连同关系到关系符号的指派一起称为模型。q形式上,一个模型形式上
25、,一个模型 M 是一个元组是一个元组(U,P1,Pk),其中,其中U是是论域,论域,P1 到到 Pk 是指派给符号是指派给符号 R1 到到 Rk 的关系。的关系。q模型语言:在公式的集合中,只运用此模型指派的关系符模型语言:在公式的集合中,只运用此模型指派的关系符号,且对每个关系符号,运用正确的元数。号,且对每个关系符号,运用正确的元数。q假如假如是某个模型语言中的句子,则是某个模型语言中的句子,则在这个模型中不为在这个模型中不为真就为假。假如真就为假。假如在模型在模型 M 中为真,则说中为真,则说 M 是是的一个的一个模型。模型。25逻辑理论的可判定性例例6.8 设设是句子是句子 x y R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 理论 导引 可计算 高级 专题 优秀 PPT
限制150内