第六章可归约性.ppt

上传人:b****2 文档编号:2123242 上传时间:2022-10-27 格式:PPT 页数:88 大小:478.50KB
下载 相关 举报
第六章可归约性.ppt_第1页
第1页 / 共88页
第六章可归约性.ppt_第2页
第2页 / 共88页
第六章可归约性.ppt_第3页
第3页 / 共88页
第六章可归约性.ppt_第4页
第4页 / 共88页
第六章可归约性.ppt_第5页
第5页 / 共88页
点击查看更多>>
下载资源
资源描述

第六章可归约性.ppt

《第六章可归约性.ppt》由会员分享,可在线阅读,更多相关《第六章可归约性.ppt(88页珍藏版)》请在冰豆网上搜索。

第六章可归约性.ppt

第二部分第二部分可计算理论可计算理论第第66章章可归约性可归约性计算理论导引可归约性可归约性-1-1ll归约归约归约归约就是将一个问题转化为转化为转化为转化为另一个问题的方法,使得可以用第二个问题的解来解第一个问题。

例如,假设要在一个新城市中认路,如果有一张地图,事情就容易了。

这样,就将在城市认路问题归约为归约为归约为归约为得到地图问题。

ll可归约性可归约性可归约性可归约性总是涉及到两个问题,称之为A和B。

如果A可归约到B,就可用B的解来解A。

可归约性说的不是怎样去解A或B,而是在知道B的解时怎么去解A。

在上述例子中,A是城市认路问题,B是得到地图问题。

计算理论导引可归约性可归约性-2-2数学问题中也有可归约性。

例如,测量一个矩形的面积问题可归约到测量它的高和宽问题。

l当A可归约到B时,解A不可能比解B更难,因为B的一个解给出了A的一个解。

l根据可计算性理论,如果A可归约到B,且B是可判定的,则A也是可判定的。

如果A是不可判定的A可归约到B,则B是不可判定的。

后者在证明许多问题的不可判定性时起着关键作用。

计算理论导引6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-1-1l简单地说,下面方法可用来证明一个问题是不可解的:

先证明先证明先证明先证明另外一个问题是不可判定的不可判定的不可判定的不可判定的,再再再再将此问题归约归约归约归约到它。

ATM是不可判定的,即确定一个图灵机是否接受一个给定的输入问题是不可判定的。

下面考虑一个与之相关的问题:

HALTTM,即确定一个图灵机对给定的输入是否停机(通过接受或拒绝)问题。

计算理论导引6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-2-2ll定理定理定理定理6.16.1HALTTM是不可判定的。

HALTTMM,wM是一个TM,且对输入w停机证明思路证明思路证明思路证明思路假设TMR判定HALTTM。

利用R可以构造一个判定ATM的TMS。

假装你就是S。

当形如M,w的一个输入提供给你时:

如果M接受w,你必须输出接受;如果M进入循环或拒绝w,你必须输出拒绝。

计算理论导引6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-3-3但是你不能确定M是否在循环,并且当M循环时,你的模拟将不会终止。

故这个思路行不通这个思路行不通这个思路行不通这个思路行不通。

l换用“有个判定HALTTM的TMR”这个假设。

使用R,你可以检查M对w是否停机:

如果R指出M对w不停机,你就拒绝,因为M,w不在ATM中。

如果R指出M对w确实停机,你就模拟它,而不会有死循环的危险。

这样,如果TMR存在,就能判定ATM,计算理论导引ll证明证明证明证明假设TMR判定HALTTM,构造TMS来判定ATM:

S“在输入M,w上,此处M,w是TMM和串w的编码:

1)在输入M,w上运行TMR。

2)如果R拒绝(不停机),则拒绝。

3)如果R接受则在w上模拟M,直到它停机。

4)如果M接受,则接受;如果M拒绝,则拒绝。

”显然,如果R判定HALTTM,则S判定ATM。

因为ATM是不可判定的,故HALTTM也必定是不可判定的。

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-4-4计算理论导引ETMM|M是一个TM,且L(M)ll定理定理定理定理6.26.2ETM是不可判定的。

证明思路:

证明思路:

证明思路:

证明思路:

设R是判定ETM的一个TM考虑怎样用R来构造判定ATM的TMS。

构造S的一个想法是:

在输入M上运行R且看它是否接受:

如果是则知道L(M)是空集,因此也就知道M不接受w。

如果否,则知道L(M)不是空集,即M接受某个串,但不知道M是否接受这个特定的串w。

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-5-5计算理论导引l修改M,使得使得使得使得MM所能识别的唯一的串就是所能识别的唯一的串就是所能识别的唯一的串就是所能识别的唯一的串就是ww。

故它的语言不空当且仅当它接受w。

再用R来检查这个修改型是否识别空语言。

如果它接受,则此修改型机器不接受任何串,因而M也就不接受w。

如果它拒绝,此修改型机器只接受w,因而M也就接受w。

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-7-7计算理论导引ll证明证明证明证明修改型机器M1。

M1“在输入x上,1)如果xw,则拒绝。

2)如果xw,则在x上运行M,当M接受时,就接受,”这个机器以w作为它的描述的一部分。

检查x=w是否成立的方法很显然,即扫描输入并且一个字符一个字符地将它和w比较,就可确定它们是否相同。

再假设TMR判定ETM。

如下构造判定ATM的TMS:

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-8-8计算理论导引S“在输入M,w上,此处M,w是TMM和串w的编码:

1)用M和w的描述来构造上述TMM1。

2)在输入M1上运行R。

3)如果R接受(空语言)、则拒绝;如果R拒绝,则接受。

”如果R是ETM的判定器,则S就是ATM的判定器。

而ATM的判定器是不存在的,故我们知道ETM必定是不可判定的。

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-9-9计算理论导引REGULARTMMM是一个TM,且L(M)是一个正则语言ll定理定理定理定理6.36.3REGULARTM是不可判定的。

ll证明思路证明思路证明思路证明思路假设REGULARTM是由TMR判定的,构造一个判定ATM的TMS。

构造S的思路是:

先取S的输入为M,w,再修改M使得:

修改后的TM识别一个正则语言,当且仅当M接受w。

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-10-10计算理论导引设计M2使得:

当M不接受w时,它识别非正则语言0n1n|n0;当M接受w时,它识别正则语言*。

必须说明S是怎样从M和w来构造这样的M2的。

方法是:

M2自动接受所有在0n1n|n0中的串,另外,如果M还接受w,则M2就接受所有其它的串。

ll证明证明证明证明设R是判定REGULARTM的一个TM,构造判定ATM的TMS。

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-11-11计算理论导引S“对于输入M,w,其中M是TM,w是串:

1)构造下述TMM2:

M2=“在输入x上:

a)如果x具有形式0n1n,则接受。

b)如果x不具有此形式,则在输入w上运行M。

如果M接受w,则接受。

”2)在输入M2上运行R。

3)如果R接受,则接受;如果R拒绝,则拒绝。

”6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-12-12计算理论导引ll定理定理定理定理6.46.4EQTM是不可判定的。

EQTMM1,M2|M1和M2都是TM,且L(M1)L(M2)ll证明思路证明思路证明思路证明思路假设EQTM是可判定的。

如果能给出从ETM到EQTM的归约,就证明了ETM也是可判定的。

ETM是检查一个TM的语言是否为空的问题。

EQTM是检查两个TM的语言是否相同的问题。

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-13-13计算理论导引如果两个语言中碰巧有一个为空,只要检查另一个TM的语言是否为空即可,即检查语言ETM。

故当两个TM中有一个是用来识别空语言时,问题EQTM就是问题ETM。

ll证明证明证明证明设TMR判定EQTM,构造判定ETM的TMS:

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-14-14计算理论导引S“对于输入M,其中M是TM;1)在输入M,M1上运行R其中M1是拒绝所有输入的图灵机。

2)如果R接受,则接受;如果R拒绝,则拒绝。

”如果R判定EQTM,则S判定ETM。

但由定理6.2,ETM是不可判定的。

故EQTM也必定是不可判定的。

6.16.1语言理论中的不可判定问题语言理论中的不可判定问题-15-15计算理论导引ll计算历史方法计算历史方法计算历史方法计算历史方法是证明ATM可归约到某些语言的重要技术。

在证明某个问题的不可判定性时,如果此问题涉及的是检查某样东西的存在性,则这个方法常常很有用。

例如,这个方法曾用来证明希尔伯特第十问题的不可判定性。

希尔伯特第十问题是检查一个多项式的整数根的存在性。

图灵机在输入上的计算历史计算历史计算历史计算历史就是当这个图灵机处理此输入时所经过的格局序列。

它是这个机器所经历的计算的完整记录。

6.16.1利用计算历史的规约利用计算历史的规约-1-1计算理论导引ll定义定义定义定义6.56.5设M是一个图灵机,w是一个串。

M在w上的一个接接接接受计算历史受计算历史受计算历史受计算历史是一个格局序列C1,C2,Cl,其中:

C1是M在w上的起始格局,Cl是M的一个接受格局且每个Ci都是Ci-1的合法结果,即符合M的规则。

M在w上的一个拒绝计算历史拒绝计算历史拒绝计算历史拒绝计算历史可类似定义,只是Cl应是一个拒绝格局。

6.16.1利用计算历史的规约利用计算历史的规约-2-2计算理论导引计算历史都是有有有有限限限限序序序序列列列列。

如果M在w上不停机,则M在w上既没有接受也没有拒绝计算历史存在。

确定型机器在任何给定的输入上最多只有一个计算历史。

非确定型机器即使在单个输入上也可能有多个计算历史,它们与各个计算分支相对应。

ll定义定义定义定义6.66.6线性界限自动机线性界限自动机线性界限自动机线性界限自动机(LBA)是一种受到限制的图灵机,它不允许其读写头离开包含输入的带区域。

如果此机器试图将它的读写头移出输入的两个端点(两个特殊字符),则读写头就待在原地不动。

6.16.1利用计算历史的规约利用计算历史的规约-3-3计算理论导引l线性界限自动机是只有有限存储的图灵机,如图6-l所示。

它只能解这样的问题,其所需要的存储不得超过用作输入的带区域。

使用一个比输入字母表要大一些的带字母表,就能使得可用存储增加到常数倍。

也就是说,对于长度为n的输入,可用存储量关于n是线性的。

这就是此模型的名称的由来。

6.16.1利用计算历史的规约利用计算历史的规约-4-4计算理论导引l设ALBA是LBA是否接受它的输入的问题。

尽管ALBA与不可判定问题ATM在图灵机被限制为LBA时是相同的,我们还是可以证明ALBA是可判定的。

设ALBAM,w|M是一个接受串w的LBA在证明ALBA的可判定性之前,证明后面的引理是有用的。

它指出:

当一个LBA的输入是一个长度为n的串时,只能有有限多个格局。

6.16.1利用计算历史的规约利用计算历史的规约-5-5计算理论导引ll引理引理引理引理6.76.7设M是有q个状态和g个带符号的LBA。

对于长度为n的带子,M恰有qngn个不同的格局。

证明证明证明证明M的格局就像计算中间的一个快相。

格局由控制状态、读写头位置和带内容组成。

这里,M有q个状态。

它的带长度是n,所以读写头可能处于n个位置之一,且gn多个带符号串可能出现在带上。

此三个量的乘积就是带长为n的M的格局总数。

6.16.1利用计算历史的规约利用计算历史的规约-6-6计算理论导引ll定理定理定理定理6.86.8ALBA是可判定的。

ll证明思路证明思路证明思路证明思路为了判定LBA是否接受输入w,在w上模拟M。

在模拟过程中,如果M停机且接受或拒绝,则相应地接受或拒绝。

如果M在w上循环,困难就出现了。

只有知道已进入循环时,才能停机且拒绝。

调查M何时陷入循环的思路是:

当M在w上计算时,它从一个格局进入另一个格局。

如果M曾经重复过一个格局,它将继续一再地重复这个格局,因此就陷入了循环。

6.16.1利用计算历史的规约利用计算历史的规约-7-7计算理论导引l因为M是一个LBA,可利用的带方格的数量是有限的。

由引理6.7,在这个有限量的带上,M只可能处于有限多个格局中。

所以,要使M不进入曾经进入过的任何格局,就只有有限多个格局可以选择。

引理6.7给出了所能选择的最大格局数k,通过在M上模拟k步就能知道M是否进入了循环。

如果到那时,M还

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1