![[数学]第十三章计算复杂性.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/5/9a59e466-a665-4a48-ae9c-2d47530240f0/9a59e466-a665-4a48-ae9c-2d47530240f01.gif)
![[数学]第十三章计算复杂性.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/5/9a59e466-a665-4a48-ae9c-2d47530240f0/9a59e466-a665-4a48-ae9c-2d47530240f02.gif)
![[数学]第十三章计算复杂性.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/5/9a59e466-a665-4a48-ae9c-2d47530240f0/9a59e466-a665-4a48-ae9c-2d47530240f03.gif)
![[数学]第十三章计算复杂性.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/5/9a59e466-a665-4a48-ae9c-2d47530240f0/9a59e466-a665-4a48-ae9c-2d47530240f04.gif)
![[数学]第十三章计算复杂性.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/5/9a59e466-a665-4a48-ae9c-2d47530240f0/9a59e466-a665-4a48-ae9c-2d47530240f05.gif)
已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十三章 计算复杂性13.1 计算模型三种常用的计算模型:随机存取机RAM(Random Access Machine)模型、随机存取存储程序机RASP(Random Access Stored Program Machine)模型、图灵机(Turing Machine)模型。13.1.1 图灵机的基本模型一、字母表、符号串和语言1、字母表:非空的有穷符号集合,记为。2、符号串:由符号组成的有穷序列,上的所有符号串的全体记为。3、语言:由中的符号按照一定规则构成的长度有限的符号串集合,记为。把问题实例的描述译按照一定规则码成一个有穷的符号串集合,这些符号串集合称为语言例:母表为图,用下面的符号串描述它的邻接矩阵:其中,如果,则,否则,。二、图灵机1、图灵机的构成图灵机由一个控制器和一条无限长的工作带组成,如图13.1所示。图13.1 图灵机示意图工作带:划分为许多单元,每个单元可以存放字母表中的一个符号。控制器:具有有穷个内部状态和一个读写头。2、图灵机的工作过程计算的每一步,控制器处于某个状态,读写头扫描工作带的某一个单元符号;根据当前状态、被扫描单元的内容,决定下一步的执行动作:把当前单元内容,改写成某一个符号;使读写头停止不动、向左或向右移动一个单元;使控制器转移到某一个状态等等。计算开始时,输入符号串放在工作带上,控制器处于初始状态,读写头扫描输入符号串左端的第一个符号;如果对于当前的状态和所扫描的符号,没有下一步的动作,则图灵机就停止计算。3、图灵机的形式定义定义13.1 图灵机是一个六元组:,其中:(1) :控制器的非空有限状态集合;(2) :有限的工作带符号集合,包括空白符;(3) :输入符号字母表,;(4) :初始状态,;(5) :最终状态或接受状态,;(6) :转移函数,它把的某一个元素,映射为中的元素。4、转移函数的说明1)转移函数的定义域:2)转移函数的值域:3):读写头的动作 左移一个单元; 停止不动; 右移一个单元;4)转移函数的含义:控制器当前状态为、读写头扫描到的符号为时,图灵机执行的动作为:把控制器状态修改为;把符号修改为符号;使读写头向右移动一个单元。二、图灵机的格局1、图灵机的格局 描述计算中每一步控制器所处的状态,及读写头的位置。2、图灵机格局的定义定义13.2 令是一个图灵机,的格局是一个二元组:其中,表示图灵机在此格局下控制器的状态;是工作带上的内容。表示在此格局下读写头的位置;表示处于读写头左边的符号串;表示处于读写头右边的符号串。读写头指向符号串的第一个符号。,表示图灵机的一个初始格局,此时,为空串;3、可接受格局:格局中的是可接受状态,即,则称是可接受格局;4、停机格局格局中,的第一个符号是,转移函数没有定义,则称是停机格局。三、图灵机的计算1、图灵机的计算:是一个有穷、或无穷的格局序列,如果每一个都由经过一步得到,就称这个序列是一个计算。2、图灵机计算的停机状态1)计算是有穷序列, 是可接受的停机格局,称停机在接受状态。称图灵机接受符号串;2)计算是有穷序列, 不是可接受的停机格局,称停机在拒绝状态。称图灵机不接受符号串,或拒绝符号串3)计算是无穷序列,永不停机。3、图灵机对语言的识别定义13.3 若符号串,图灵机接受符号串,有则称图灵机接受语言,或图灵机识别语言。例13.1 构造一个识别语言的图灵机。思想方法:使读写头来回移动,成对地对输入符号串左端的和右端的作标记。如果的全部符号都作了标记,则左边的与右边的个数相等,;否则,。图灵机的构造:;转移函数如表13.1所示,其中,为接受状态,为拒绝状态。表13.1 转移函数表,图灵机的工作过程如下:图灵机的格局应执行的动作, ,13.1.2 k带图灵机和时间复杂性一、带图灵机1、带图灵机: 有个工作带,每个工作带有一个读写头,都可以独立地移动。2、带图灵机的形式定义1)形式定义定义13.4 带图灵机是一个六元组:,其中(1) :控制器的非空有限状态集合;(2) :有限的工作带符号字母表,包括空格符;(3) :输入符号字母表,;(4) :初始状态,;(5) :最终状态或接受状态,;(6) :转移函数,把的某一个元素,映射为中的元素。2)转移函数的定义域:3)转移函数的值域:4)转移函数的形式: 表示在控制器当前状态为、读写头扫描到的符号为时,对所有的,图灵机执行的动作为:控制器状态修改为;符号修改为符号;读写头按方向移动一个单元。3、带图灵机的格局定义13.5 令是一个带图灵机,的格局是一个元组:图灵机在此格局下控制器的状态;:第个工作带上的内容。若是输入符号串,则初始格局表示为二、确定性图灵机和非确定性图灵机1、确定性图灵机1)定义定义13.6 如果图灵机的转移函数是单值的,则称该图灵机为确定性图灵机,记为。2)特性函数把中的一个元素,映射为中的一个元素。 图灵机每一步的动作都是确定的。2、非确定性图灵机1)定义定义13.7 如果图灵机的转移函数是多值的,则称该图灵机为非确定性图灵机,记为。2)特性:函数把中的一个元素,映射为中的一个子集,图灵机可以从子集中挑选一个元素作为它的函数值。三、图灵机的执行时间1、图灵机的计算的长度定义13.8 设是一个格局序列,它是图灵机对输入的一个计算。如果是一个可接受的停机格局,则称这个计算是可接受的计算,称为这个计算的长度。2、图灵机的执行时间定义13.9 图灵机对输入进行计算的执行时间,记为,它定义为:(1) 如果对输入有一个可接受的计算,则是最短的可接受计算的长度;(2) 如果对输入没有一个可接受的计算,则。四、语言的时间复杂性定义1、语言的时间复杂性定义是一个语言,是从非负整数集到非负整数集的函数。若存在确定性的图灵机(或非确定性的图灵机),使得对输入,若,则;否则。就说,是属于中的(或处于中)的语言。2、类问题的形式定义等价于 3、类问题的形式定义等价于:例:在例13.1中,若输入符号串是可接受的,对某个常数,工作带读写头的移动次数将小于或等于。则,是属于的语言。例13.2 构造识别语言的图灵机。其中,字符串是字符串的逆串。图灵机工作过程:1、令是二带的图灵机,它有一个输入带和一个工作带。2、从左到右扫描输入带,把输入带内容拷贝到工作带,直到输入带读写头到达符号为止3、输入带读写头继续向右移动,每读入一个符号,就和工作带读写头所指单元的符号比较,4、若相同,工作带读写头左移一单元,输入带读写头右移一单元,继续读入下一字符,并进行上述比较工作。5、这个过程直到所有输入处理完毕。6、如果符号两旁的符号个数相同,并在上述处理过程中,两旁的符号互相匹配,则接受语言,否则拒绝。时间分析:如果输入长度为,输入带读写头移动次,工作带读写头移动次。因此,语言是属于的语言。五、其它复杂性类型除了上面定义的几种复杂性类型外,还可以定义下面四种复杂性类型:13.1.3 离线图灵机和空间复杂性一、离线图灵机1、离线图灵机(off_line Turing machine):两个工作带,只读输入带:用于存放输入符号串,可读可写的工作带:用于存放工作数据。2、离线图灵机的形式定义定义13.10 离线图灵机是一个六元组,其中:(1) :控制器的非空有限状态集合;(2) :有限的工作带符号字母表,包括空白符;(3) :输入符号字母表,,包含两个特殊符号:和,分别表示左端标记符和右端标记符;(4) :初始状态,;(5) :最终状态或接受状态,;(6):转移函数,把的某个元素,映射为 中的元素。3、确定性的离线图灵机:转移函数是单值的,4、非确定性的离线图灵机:转移函数是多值的,5、离线图灵机的格局:用一个三元组来定义:当前状态;:输入带上的读写头所指向的单元号;:工作带的内容。这时,工作带的读写头指向符号串的第一个符号。二、空间复杂性的定义1、离线图灵机的工作空间定义13.11 离线图灵机处理输入时,所使用的工作空间记为,定义为:(1) 如果对输入有一个可接受的计算,则是可接受的计算中至少使用的工作带单元数;(2) 如果对输入没有一个可接受的计算,则。例13.3 用确定性的离线图灵机识别语言。图灵机工作过程:1、在工作带上设置一个计数器,用于统计输入符号的个数。2、由左到右扫描输入带,3、扫描到符号,使计数器加1;扫描到符号,使计数器减1。4、符号串扫描结束时,若计数值等于0,则符号与符号个数相同, 接受语言;否则,拒绝。时间分析:输入符号串的长度为,工作带用二进制记号表示计数值,工作带上用来作为计数器的单元数为。2、语言的空间复杂性是一个语言,是从非负整数集到非负整数集的函数。若存在确定性的离线图灵机(或非确定性的离线图灵机),使得对输入,若,则;否则。就说,是属于(或属于)中的语言。例:例13.3中,用确定性的离线图灵机识别语言时,对任意的输入符号串,若,为了识别,需要个工作带单元。因此,是属于中的语言。3、空间复杂性的几种类型:1)使用确定性离线图灵机,以多项式空间可识别的所有语言集合等价于2)使用非确定性离线图灵机,以多项式空间可识别的所有语言集合 等价于:3)使用确定性离线图灵机以对数空间可识别的语言等价于 4)使用非确定性离线图灵机以对数空间可识别的语言等价于:例13.4图的可达性问题GAP(GPAPH ACCESSIBILITY PROBLEM)的空间复杂性。图的可达性问题:给定有向图,其中,。若顶点1是源顶点,顶点是目标顶点,判定是否存在一条从顶点1到顶点的路径。图邻接矩阵的符号串描述:如果,则,否则,。字母表,是字母表上的语言,记为。构造非确定性的离线图灵机,建立的转移函数表。的工作过程把顶点1作为路径上最新选择的一个顶点,非确定性地选择下个顶点,作为该顶点的后继顶点,从而扩充这条路径。在工作带上,只记录路径上最新选择的顶点,在工作带用二进制记号保存最新选择的顶点编号, 顶点编号的最大数字是,至多用个工作带单元,来保存顶点编号。非确定性地选择路径,若存在从顶点1到顶点的路径,就能够通过一系列的选择,构造出这样的路径。当它检测到最新选择的顶点编号是时,它将回答。因为至多用个工作带单元,保存顶点编号,所以,GAP属于类的问题。13.1.4 可满足性问题和Cook定理Cook定理:SATISFIABILITY是完全的SATISFIABILITY属于已在第12章证明,用图灵机模型证明:对所有的语言,都有SATISFIABILITY。一、思想方法用单带非确定性图灵机接受中的任一语言,可在个格局之内识别该语言的长度为的输入,用布尔变元表示在个格局中的所有工作状态;把布尔变元组成若干组析取子句,析取子句同时为真,则接受输入。这样,就把语言的输入实例,转换为用布尔变元表示的合取范式,且接受输入,当且仅当该合取范式可满足。同时,这种转换可在多项式时间内完成。二、证明过程1、已知信息1)的控制器状态集:初始状态,:接受状态,:最终状态。2)工作带的字母表:空白符。3)输入实例的符号串:用工作带的字母表表示为:4)图灵机可在个格局之内识别,令每一步,工作带读写头左移或右移一单元。以初始位置为中心,读写头可能移动的范围,最多为个单元。2、图灵机涉及的信息每一个格局中每一个单元可能存放的符号、每一个格局的状态、读写头的位置,3、布尔变元的设置第个格局第个工作带单元的符号为第个格局的工作带读写头处于第个单元第个格局的控制器的状态为,。字母表和状态集是有限集,其大小和不随输入规模的增大而增加。因此,上述布尔变元最多有个。4、用布尔变元的合取子句,描述图灵机的工作过程:1)在开始时,图灵机的初始格局为:个空白符号,:前个符号为输入符号串,后面的符号是空白。因此,在初始格局下,工作带单元上的符号为:用布尔变元的合取子句描述为:上述子句最多包含个符号。2)初始状态为时,工作带读写头位于第个工作单元,用相应的合取子句描述为:上述子句包含个符号。3)在任一格局,图灵机有且仅有一种状态,用合取子句描述为:用摩根律把上式恒等变换为:上述子句最多包含个符号。4)在任一格局、任一工作带单元,有且仅有一个符号,描述为:上式恒等变换为:上述子句最多包含个符号。5)在任一格局,读写头在且仅在一个工作带单元上,恒等变换为:上述子句最多包含个符号。6)在格局,最多只有一个工作带单元被修改。假定工作带第单元的符号为,则为真。当图灵机从格局转移到格局时,若读写头不处于第单元,该单元内容不变,和同为真;若读写头处于第单元,该单元内容可能被修改,则为真,可能为真,也可能为假,但必然为真。因此有:因为:所以,上面式子可改写成:利用分配律,进一步把上式改写成如下的合取范式:上述子句最多包含个符号。7)图灵机从格局转移到在格局时,可能有下面四种情况:(1) 在格局时,工作带第单元的符号可能不是;(2) 在格局时,读写头可能不处于工作带第单元;(3) 在格局时,图灵机控制器的状态可能不是;(4) 非确定性图灵机从格局转移到格局时,把中的一个元素,映射为中的一个子集,图灵机从该子集中挑选一个元素作为它的函数值。在格局,工作带第单元的符号必定是的某个子集中的符号;控制器状态必定是的某个子集中的状态,读写头位置也必定在的某个子集中的一个位置。因此,有:的取值范围有限,上述子句最多包含个符号8)在格局,图灵机接受输入符号串而停机,有:把以上各组子句,用合取运算组织成合取范式,则把语言的实例转换为合取范式。该范式的长度最多包含个符号,转换过程可在多项式时间内完成。该范式可满足,当且仅当图灵机接受输入符号串。语言是中的任一语言,因此,中的所有问题,都可归约为可满足性问题。13.2 复杂性类型之间的关系13.2.1 时间复杂性和空间复杂性的关系一、时间可构造函数和空间可构造函数1、可构造函数的定义定义13.12 ,则函数称为时间可构造的,当且仅当对每一个长度为的输入,图灵机恰好在步停机。,则函数称为空间可构造的,当且仅当对每一个长度为的输入,图灵机恰好以个非空的工作带单元的格局停机。2、可构造概念的含义若图灵机是以或为界构造的,该图灵机就不受比或更小的界所限制。3、几乎所有单调函数都是时间可构造和空间可构造的,例:,等。如果、及是单调可构造函数,那么,、也是单调可构造函数。上述结果对亦然。二、时间复杂性类型和空间复杂性类型的关系1、确定性类型和非确定性类型的关系定理13.1 时间复杂性类型和空间复杂性类型有如下关系:(1) (2) (3) 如果是空间可构造函数,且,则对某个常数,有:证明 设是字母表上的任意一个语言:(1) 如果,则至多在步内被确定性图灵机所识别。因为确定性图灵机的转移函数是单值的,非确定性图灵机的转移函数是多值的,确定性图灵机是非确定性图灵机的一个特例。因此,也可在步内被非确定性图灵机所识别,即。所以,。同理可证。(2) 如果,则至多在步内被确定性图灵机所识别。在步之内,工作带读写头至多可以读写个工作带单元。因此,确定性离线图灵机也可以用空间识别,即。所以,有。同理可证。(3) 如果,是非确定性的离线图灵机,其工作空间上界为,的输入长度为, 和分别是的状态个数、及工作带符号个数。是以空间为界的, 是空间可构造的。的所有可能的不同格局的最大个数为下列数据之积,状态个数输入带读写头位置个数工作带读写头位置个数可能的工作带内容的个数则的不同格局的最大个数为,因为,存在某个常数,使得。的状态迁移不会超过次,否则,将重复某一个格局而永不停机。假定,接受,并在某一个格局停机。把的所有格局作为一个有向图的顶点,两个格局之间存在有向边,当且仅当按照的转移函数,可在一步之中由第一个格局到达第二个格局。则对输入长度为的语言,接受时所生成的有向图的顶点个数,至多为个。因为接受,当且仅当初始格局和可接受格局存在有向路径。所以,考虑一个确定性的图灵机,使检查该有向图中是否存在这样的路径。因为在具有个顶点的有向图中,可以用的时间找到最短路径。所以,可以用时间找到这条路径。如果接受,则也可以用时间接受。存在着某个常数,使,所以,。由此得出,。由上面的结果,可以立即得到下面的推论:推论13.1 。2、空间复杂性类型之间的关系1)定理13.2 如果S是空间可构造的函数,且,则证明 如果,是非确定性的离线图灵机,工作空间的上界为。的输入长度为,和分别是的状态个数、及工作带符号个数。是以空间为界的, 是空间可构造的。对长度为的输入,的不同格局的最大个数为,因为,存在某个常数,使得。因此,的状态迁移不超过次,否则,将重复某一格局而永不停机。令对的初始格局是,最终格局是。接受,当且仅当由迁移到。假定,由迁移到的迁移步数是。则必定存在一个格局,使得以空间,在步之内,由迁移到;然后,又在步之内,由迁移到。由此,可以构造一个确定性的离线图灵机,使来模拟的动作。因为由迁移到的迁移步数,至多不会超过。因此,由调用函数REACHABLE(,),用分治法策略,在至多 步之内,模拟的格局从迁移到,判断在的两个格局和之间,是否有一个长度至多为的局部计算,REACHABLE函数说明如下:1. BOOL REACHABLE(C1,C2,j)2. 3. if (j=1) 4. if (C1=C2)|(C1在1步之内可达C2)5. return TRUE;6. else7. return FALSE;8. 9. else 10. for ( 以空间S(n)为界的每一个可能的格局C) 11. if (REACHABLE(C1,C,j/2)&(REACHABLE(C,C2,j/2)12. return TRUE;13. else14. return FALSE;15. 16. 17. 接受,当且仅当由迁移到;当且仅当REACHABLE(,)返回。因此,接受,当且仅当接受。用工作带作为堆栈,存放后续函数调用时的相应信息,完成递归调用的模拟以初始步数为进行递归调用,每一次调用都使步数以2的因子递减,递归深度是。每一次调用都存放调用时、以及的大小的当前值。因此,每一次调用所需空间不会超过。在整个递归调用期间,所需空间不会超过。所以,。综上所述,有。2)推论13.2 对任意的,有:3)推论13.3 证明 由定理13.1,。根据和的定义,有。又根据推论13.2及和的定义,可得。所以有:。例:在例13.4的图的可达性问题GAP中,GAP。由推论13.2,可得:GAP。由此可得,存在用空间的确定性算法来解GAP问题。13.2.2 时间谱系定理和空间谱系定理一、空间谱系定理1、空间谱系定理定理13.3 令和是两个空间可构造的函数,如果:(13.2.1)则在中,必然包含一个不属于的语言。2、康托对角线证明法1)图灵机模拟执行图灵机的过程 对图灵机进行译码,把图灵机的译码,及的输入符号串作为图灵机的输入,识别的转移函数命令,形成在执行转移函数命令时所产生的格局,判断该格局是否为对输入符号串的接受格局、拒绝格局或停机格局。2)的译码方法 令是单带图灵机,的输入字母集是,空白是附加的工作带符号。 把符号0、1、及空白,记为、和;用、来标记转移函数中工作带读写头的移动命令、和;把转移函数译码为二进制符号串。其中,前缀1起分格符作用,1的个数可以任意。可以把译码为111111111111,其中,是上面所述的转移函数的代码。可用类似的方法,对带图灵机和离线图灵机进行译码。3)康托对角线法对所有的输入符号串按某种顺序编号为,把所有输入符号串组织成无穷矩阵,使得对所有的,图灵机可接受、并模拟图灵机对矩阵中的所有字符串元素的输入,但是,接受输入,当且仅当图灵机拒绝且停机。3、空间谱系定理的证明: 证明 分成三个步骤:1) 考虑只具有输入字母集的离线图灵机。构造以空间为界的图灵机,使其至少有一个输入和以空间为界的任何图灵机不一致,假定这个输入是。为保证不会使用多于的空间,对的工作带上的个单元进行标记。把离线图灵机的译码及其输入作为的输入,来模拟图灵机。令输入的长度为。是空间可构造的,可对长度为的输入模拟恰好使用空间的图灵机。只要计算中使用的工作带单元超出了被标记的单元,就夭折的操作。因此,接受的所有语言都属于,即属于。2) 对输入模拟以空间为界图灵机,把图灵机的译码及其输入作为的输入,因为对,和以空间为界的图灵机不一致,接受,当且仅当用空间完成这个模拟,并且拒绝并停机。是以空间为界的,且使用了个工作带符号,完成模拟需空间。3) 可被所接受,也可被其它图灵机接受。如果图灵机接受,只要证明不会以空间为界,而是任意的,说明中至少有一个语言,不能被以空间为界的图灵机接受,定理便可得到证明。用反证法证明如果存在着一个接受的、以空间为界的图灵机,因为满足(13.2.1)式,以空间为界的图灵机,必然有一个输入和以空间为界的图灵机不一致,假定这个输入是。因为任何图灵机都可以用任意多个前缀1来译码,存在输入和的译码,作为的输入,使得,其中,。因此,有足够的空间模拟。根据(2)及康托对角线法,接受输入,当且仅当拒绝并停机。这说明所能够接受的所有语言,与所能够接受的所有语言不同,即。由此说明,在中,但不在。因此,在中,必然包含着一个不属于的语言。二、时间谱系定理: 1、时间谱系定理的引理引理13.1 如果带图灵机以时间接受语言,则2带图灵机以时间接受语言。证明 1)说明2带图灵机模拟带图灵机的过程把图灵机的第一条存储带划分为部分,每部分相应于的一条工作带。把每一部分又划分成上下两道。第二条带用于暂存及传送第一条带的数据。只讨论对的一条工作带的模拟,其它带的模拟,类似处理。在图灵机的第一条带的上下两道,都有一个特殊单元,称为,的工作带读写头左(右)移时, 的工作带数据右(左)移,使得的内容一直保持为的工作带读写头所指向单元的内容。右边的单元划分为存储块,;左边的单元划分为存储块,。对,存储块及的单元个数都为。记为存储块及的单元个数,有如下关系:(13.2.2)假定,工作带读写头所指向单元的内容为,其右方单元的内容分别为,其左方单元的内容分别为。开始时,左方单元的内容都是空的。的工作带中与的这条工作带相对应的那一部分,假定其上道是空的,下道存有,这些内容被放置在存储块上,如图13.2 所示。当的工作带读写头左移或右移时,的工作带数据按下列规则作相应的右移或左移操作:图13.2 工作带上的存储块 对所有的,或者上下道的全满,而为空;或者为空,而全满;或者与的下道全满而上道均空; 存储块与的内容都表示的工作带上的一片连续单元的内容。上下道的存储块均满时,则上下道的一起构成一片长度为的连续单元的内容,这时,如果,上道的内容是下道左边的内容;当时,上道的内容,恰好是下道右边的内容; 当时,是左边单元的内容; 只有下道有内容。当的工作带读写头左移时,对的工作带数据作如下的右移操作:在上道向右寻找第一个遇到的空存储块,比如说空存储块是,把下道的内容拷贝到上道的右半部分,把上道的内容拷贝到上道的左半部分,把上道及下道的内容依次拷贝到下道。按照(13.2.2)式,存储块的长度恰好容纳及的全部数据。另一方面,在下道向左第一个遇到的满存储块必然是,也把它拷贝到下道的及下道。同样,存储块的长度恰好是存储块及长度的总和。这就完成了的工作带读写头左移的模拟,把它称为一个操作。数据移动的过程,如图13.3所示。的工作带读写头右移的模拟动作类似。图13.3 工作带上存储块的移动情况2)引理的证明工作带读写头连续右移次,的存储块操作1次,操作2次,操作4次。一般地,对所有的,存储块操作次。如果工作带读写头连续右移次,的存储块将操作次,。存储块包含个单元的数据,每个数据需拷贝两次,存在正常数,使得存储块操作一次,的工作带读写头执行个动作。因此,有: 如果在不同的工作带中移动,所增加的额外的花费将只是线性时间。由此可得引理成立。2、时间谱系定理定理13.4令和是两个时间界限函数,其中,是时间可构造的。如果(13.2.3)则在中,必然包含着一个不属于的语言。证明 可以类似于定理13.3的证明,来证明这个定理。同样,分成三个步骤:1) 构造一个以时间为界的2带图灵机,使得它和以时间为界的图灵机,至少有一个输入不一致,假定该输入是。把带图灵机的译码及其输入作为的输入,来模拟图灵机,令输入的长度为。是时间可构造的,可对长度为的输入,模拟使用时间的图灵机,只要计算中使用的时间超过的步数,就夭折的操作。因此,接受的所有语言都属于,即属于中。 2) 模拟另一个以时间为界图灵机。把图灵机的译码及其输入作为的输入,对,以时间为界图灵机,与以时间为界图灵机不一致。因此,接受,当且仅当用时间完成这个模拟,且拒绝并停机。因为是以时间为界的带图灵机,且每个工作带都使用了个工作带符号,按引理 13.1,模拟需要时间。3) 可被所接受,也可以被其它图灵机接受。若图灵机接受,只要证明不以时间为界,而是任意的,说明中至少有一个语言,不能被以时间为界图灵机所接受,定理便可得到证明。用反证法证明:如果存在接受的、以时间为界的图灵机,满足(13.2.3)式,存在一个输入与以时间为界图灵机不一致。把图灵机的译码及其输入作为图灵机的输入,来模拟图灵机。这个模拟需要时间,其中,常数,。因此,有足够的时间来模拟图灵机。但是,根据(2),接受,当且仅当拒绝并停机。说明所能够接受的所有语言,与所能够接受的所有语言不同,即。由此说明,在中,但不在中。因此,在中,必然包含一个不在中的语言。13.2.3 填充变元一、填充变元 填充变元是一个很长的无效的附加符号序列,把它附加到特定问题的输入实例中,实例规模变大,接受该实例的图灵机所需要的计算步数,与该实例的相对规模比较起来,其时间复杂性相对变低。例:假定语言,其中,是不包含符号0的字母集,并假定属于。如果令把称为的填充版本,符号序列称为填充变元。假定,是接受的图灵机,则以步的时间,判断是否在中。构造识别的图灵机。检查形式为的输入符号串,模拟对输入的计算,如果接受,则也接受。以步的时间,判断是否在语言中。属于。由此,如果属于,则属于。一般的,如果处于,则属于。二、把填充变元用于证明定理13.5 如果,则。证明 1) 根据定理13.1,有;再根据及的定义,有。2) 令是中的语言,即属于。是不包含符号0的字母表。令是某一多项式,则存在一个以空间为界识别的图灵机。考虑下面的语言:可以构造另一个接受图灵机,去识别形式为的输入符号串。则图灵机以空间识别。所以,属于。根据假设,。所以有:属于。这样,就存在一个以多项式时间识别的图灵机。因此,可以用另外一个图灵机,只要对输入附加上,其中,且,就能模拟。显然,这个图灵机也可以用多项式时间识别。所以,属于。因此有:。综合(1)和(2),有。推论13.4 。定理13.6 如果,则。证明 1) 对某个常数,有。所以,有。2) 令是中的一个语言,即属于。其中,是不包含符号0的字母表。则对某个常数,存在一个非确定性的图灵机,以为界的时间识别。考虑下面的语言:则存在非确定性的图灵机,以线性时间识别。所以,属于。根据假设,。所以,属于。这样,就存在一个确定性的图灵机,以多项式时间识别。因此,可以用另外一个确定性的图灵机,只要对输入附加上,其中,且,就能模拟。显然,这个确定性的图灵机也可以用时间识别。所以,属于。因此有:。由和的定义,可得:。综合(1)和(2),有:。13.3 归约性关系一、问题的变换1、变换的定义定义13.13 令和是两个字母表,、分别是两个用字母表和上的符号串译码的任意判定问题。函数把字母表上的符号串,映射为字母表上的符号串,如果满足下面的性质:当且仅当则称是一个从到的变换。2、变换的作用用解问题的算法,来求解问题。因此,可以构造如下的算法来解问题:对任意给定的输入符号串:(1) 把变换为;(2) 判断是否有;(3) 若,则回答;否则回答。二、归约1、归约的定义定义13.14 如果有一个由问题到问题的变换,就称为可归约为,记为。2、多项式时间归约和空间归约定义13.15 令,分别是字母表和上的符号串集合。变换:。则: 如果可以用多项式时间计算,则可以用多项式时间归约为,并记为。 如果可以用空间计算,则可以用空间归约为,并记为。三、可归约性关系的闭包定义13.16 令是可归约性关系,L是一个语言族。L在可归约性关系下的闭包定义为:(L)L则L是可归约性关系下的闭包,当且仅当:(L)L如果L是由一个语言组成的,则可以把写成。例:()是所有可以用多项式时间归约于的语言集合;()是所有可以用用空间归约于的语言集合。四、多项式时间归约和空间归约的关系1、以空间为界的离线图灵机可能产生的不同格局个数与输入长度的关系引理13.2 以空间为界的离线图灵机,其输入长度为时,可能产生的不同格局个数的上界是的多项式。证明 令是输入长度,输入带读写头位置的最大个数是(个输入符号加上左右两端的标记符);因为离线图灵机是以空间为界的,所以工作带读写头的最大位置个数为;每个工作带单元都可能存放字母表中的每一个符号,工作带单元所可能存放的不同符号有个。离散图灵机可能产生的不同格局的最大个数是下列数据的乘积:控制器状态个数、输入带读写头的最大位置个数、工作带读写头的最大位置个数、工作带单元可能存放的不同符号个数。因此,对某个大于0的正整数,可能产生的不同格局个数为:当输入长度为时,可能产生的不同格局个数的上界是的多项式。2、多项式时间归约和空间归约的关系定理13.7 和是任意两个问题,如果,则。证明 ,存在由问题到问题的变换,该变换对任意的输入符号串,可用空间实现把归约为。存在以空间为界的离线图灵机,来实现这种归约。令输入符号串的长度,由引理13.2,可能产生的不同格局个数的上界是的多项式。因此,可用多项式时间实现这种归约。所以,可以用多项式时间把归约为。由此,有。五、归约的封闭性1、多项式时间归约的封闭性1)定理13.8 在多项式时间归约下封闭。证明 根据定义13.16可归约性关系下闭包的定义,假定,对某个有限字母集,字符串集合是上的任意一个语言,存在着某一个语言,使得。那么,只要能够证明在此前提下,则在多项式时间归约下封闭。因为,根据多项式归约的定义,存在多项式时间可计算的变换函数,使得:当且仅当由此,存在多项式时间的确定性图灵机来计算函数,假定,这个多项式时间的阶为,;又因为,故存在多项式时间的确定性图灵机来接受,假定,这个多项式时间的阶为,。同时,是上的任意一个语言,可以构造一个接受的图灵机。对字母集上的输入执行下面的三个操作来识别:(1) 模拟图灵机,对输入计算,把输入变换为图灵机的输入;(2) 模拟图灵机,对输入确定是否;(3) 如果模拟的结果,则接受,否则拒绝。则图灵机通过对和的模拟,间接地识别。图灵机的这个算法的时间复杂性,是上述三个步骤所花时间的总和。令输入的长度为,的长度为。则第一步模拟图灵机,所花时间的阶为;第二步模拟图灵机,所花时间的阶为;第三步判断结果,只需一个常数时间。因此,图灵机对长度为的输入,所花的时间的阶为。因为步骤(1)至多执行步,所产生的输出的长度也不会超过。因此,。由此,其中,。因此,确定性图灵机以多项式时间识别。所以,。则在多项式时间归约下封闭。2)定理13.9 和在多项式时间归约下封闭。2、空间归约的封闭性1)推论13.5 和在空间归约下封闭。2)定理13.10 在空间归约下封闭。证明 根据定义13.16可归约性关系下闭包的定义,假定,对某个有限字母集,是上的任意一个语言,存在一个语言,使得。若可证明在此前提下,则在空间归约下封闭。因为,根据空间归约的定义,存在一个以空间可计算的变换函数,使得当且仅当由此,存在确定性图灵机,以空间的工作带单元来计算函数;因为,故存在一个确定性图灵机,以空间来接受。同时,是上的任意一个语言,可以构造一个接受的图灵机。通过对和的模拟,来间接地识别。按如下方式交错地对和进行模拟:(1) 设置的符号计数器,把初始化为1;(2) 对字母集上的输入,按如下方式模拟图灵机的操作:如果,则计算的第个符号,把这个符号称为。如果,则令是左端标记符号;如果,则令是右端标记符号;转步骤(3),把符号提交给;(3) 对符号模拟图灵机的动作,直到的输入带读写头左移,或右移。如果读写头右移,则使计数器加1;如果读写头左移,则使计数器减1;在这两种情况下,都转去执行步骤(2),向索取的下一个个符号;如果控制器的状态迁移,使转入最终的接受状态,则接受,因此,也接受输入符号串;如果转入最终的拒绝状态,则拒绝,因此,也拒绝输入符号串。在上述对和的模拟过程中,交替地执行步骤(2)和(3)。假定,输入符号串的长度为。所需要的工作带空间由下面三个部分组成:(1) 计算时所需要的工作带空间:是空间可计算的函数,所以,需要个工作带单元;(2) 处理所需要的工作带空间:是以空间进行计算的,由引理13.2,所产生的格局个数至多以的多项式为界。因此,所产生的输出符号个数,至多也以的多项式为界。所以,存在常数,使得。因为,所以以空间操作。则处理所需要的工作带空间为:(3) 存放计数器所需要的工作带空间:以二进制记号来存放的计数值。因为。存放计数器所需要的工作带空间为。综上所述,对某个常数,所需要的工作带空间为。因此,以空间识别,所以,则在空间归约下封闭。3)定理13.11 在空间归约下封闭。这个引理的证明,类似于定理13.10的证明。13.4 完备性13.4.1 完全问题一、完备性的定义定义13.17 令是一个可归约性关系,L是一个语言族。如果语言属于L,并且,L中的每一个语言都按关系归约于,就说语言关于可归约性关系对L是完全的,即L。二、完全问题1、定理13.12 GAP问题在空间归约下对类是完全的。证明 在例13.4中,已说明GAP问题属于,下面证明对任一语言,都有GAP。,故存在非确定性的离线图灵机,以空间识别。因此,对的长度为输入符号串,至多用个工作带单元计算,构造一个空间归约,把变换为有向图的可达性问题GAP的一个实例。把对进行计算时所产生的所有格局,组成图中的所有顶点;在对进行计算的每一步中,格局将由转移到,用每一步中的这一对格局,组成图中的边。把对进行计算的初始格局作为图的开始出发顶点;把对进行计算的最终格局,作为图的目标顶点。则接受,当且仅当顶点到顶点可达。下面证明可用一个确定性的离线图灵机,来实现空间归约。(1) 当输入长度为时,存在常数,使得空间的非确定性离线图灵机可能产生的不同格局个数至多为:其中,:的控制器的状态个数;:的输入带读写头的不同位置个数;:的工作带读写头的不同位置个数;:工作带符号个数;:可能写到个工作带单元内的不同符号个数。图的每一个顶点,对应于的一个不同格局。所构造的图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒厂月工作汇报
- 汽车4S店销售经理年终总结
- 行业调研方案汇报总结
- 生产部工作总结和工作计划
- 《老人与海》课件
- 房产工程师工作总结
- 《美猴王》课件教学课件
- 质检月度工作总结
- 移动公司班组长年终总结
- 颅内出血患儿护理措施
- 5《大学之道》《人皆有不忍人之心》理解性默写(含答案) 统编版高中语文选择性必修上册
- 先进制造技术 课件 第一章 先进制造技术概论
- FZ∕T 71006-2021 山羊绒针织绒线
- 《有毒动植物中毒》课件
- 《PS基础教程》课件
- 中秋礼券采购合同
- 招投标评分标准表
- 经济纠纷的处理
- 定向钻机操作规程
- 职业技能等级认定机构制度汇编
- MT/T 94-1996液压支架立柱、千斤顶内径及活塞杆外径系列
评论
0/150
提交评论