计算理论导引空间复杂性精选文档.ppt
《计算理论导引空间复杂性精选文档.ppt》由会员分享,可在线阅读,更多相关《计算理论导引空间复杂性精选文档.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算理论导引空间复杂性本讲稿第一页,共四十八页2主要内容主要内容8.1 萨维奇定理萨维奇定理8.2 PSPACE 类类8.3 PSPACE 完全性完全性8.3.1 TQBF问题问题8.3.2 博弈的必胜策略博弈的必胜策略8.3.3 广义地理学广义地理学8.4 L 类类 NL 类类8.5 NL 完全性完全性8.6 NL 等于等于 coNL本讲稿第二页,共四十八页空间复杂度定义定义定义定义8.18.1令令 M 是一个在所有输入上都停机的确定型图灵机。是一个在所有输入上都停机的确定型图灵机。M 的的空间复杂度空间复杂度是一个函数是一个函数 f:NN,其中,其中 f(n)是是 M 在任何长为在任何长为
2、 n 的输入上扫描带方格的最大数的输入上扫描带方格的最大数。若若 M 的空间复杂度为的空间复杂度为 f(n),也称,也称 M 在空间在空间 f(n)内运。内运。如果如果 M 是对所有输入是对所有输入在所有分支上都停机在所有分支上都停机的的非确定型图灵机非确定型图灵机,则定义它,则定义它的的空间复杂度空间复杂度 f(n)为为 M 在任何长为在任何长为 n 的输入上,在任何计算分支上的输入上,在任何计算分支上所扫描的带方格的最大数所扫描的带方格的最大数。通常用渐进记法估计图灵机的空间复杂度。通常用渐进记法估计图灵机的空间复杂度。本讲稿第三页,共四十八页空间复杂性类定义定义定义定义8.28.2令令
3、f:NR+是一个函数,是一个函数,空间复杂性类空间复杂性类 SPACE(f(n)和和 NSPACE(f(n)定义如下:定义如下:SPACE(f(n)=L|L是被是被 O(f(n)空间的空间的确定型图灵机确定型图灵机判定的语言判定的语言 NSPACE(f(n)=L|L是被是被 O(f(n)空间的空间的非确定型图灵机非确定型图灵机判定的语言判定的语言 本讲稿第四页,共四十八页例8.3例例8.3 证明用线性空间算法能求解证明用线性空间算法能求解 SAT 问题。问题。M1=“对输入对输入,是布尔公式:是布尔公式:1)对于对于 中中变量变量 x1,xm 的每个真值赋值:的每个真值赋值:2)计算计算 在该
4、真值赋值下的值。在该真值赋值下的值。3)若若 的值为的值为 1,则接受;否则拒绝。,则接受;否则拒绝。”显然机器显然机器 M1 是在线性空间内运行,因为每一次循环都是在线性空间内运行,因为每一次循环都可以复用带子可以复用带子上的同一部分上的同一部分。该机器只需存储当前的真值赋值,这只需。该机器只需存储当前的真值赋值,这只需消耗消耗 O(m)空间空间。因为变量数因为变量数 m 最多是输入长度最多是输入长度 n,所以该机器在空间,所以该机器在空间 O(n)内运行。内运行。本讲稿第五页,共四十八页例:语言的非确定性空间复杂性例例8.4 令令 ALLNFA|A 是一个是一个 NFA 且且 L(A)=*
5、首先给出非确定型线性空间算法来判定该语言的补首先给出非确定型线性空间算法来判定该语言的补 ALLNFA。算法的思想是利用算法的思想是利用非确定性猜测一个被非确定性猜测一个被 NFA 拒绝的字符串拒绝的字符串,然后,然后用线性空间跟踪该用线性空间跟踪该 NFA,看它在特定时刻处在什么状态。,看它在特定时刻处在什么状态。需要注意的是,此时还不知道该语言是否在需要注意的是,此时还不知道该语言是否在 NP 或或 coNP 中。中。N“对于输入对于输入,M 是是 NFA:1)置标记于置标记于 NFA 的起始状态。的起始状态。2)重复执行下面的语句重复执行下面的语句 2q 次次,这里,这里 q 是是 M
6、的状态数。的状态数。3)非确定地选择一个输入符号并移动标记到非确定地选择一个输入符号并移动标记到 M 的相的相 应状态应状态,来模拟读取那个符号。,来模拟读取那个符号。4)如果步骤如果步骤 2 和和 3 表明表明 M 拒绝某些字符串,即如果在某一时刻所有标记都不落在拒绝某些字符串,即如果在某一时刻所有标记都不落在 M 的接受状态上,则接受;否则拒绝。的接受状态上,则接受;否则拒绝。”本讲稿第六页,共四十八页例:语言的非确定性空间复杂性7如果如果 M 拒绝某个字符串,则它必定拒绝一个长度不超过拒绝某个字符串,则它必定拒绝一个长度不超过 2q 的字符串,因为在任何被拒绝的的字符串,因为在任何被拒绝
7、的更长的字符串中,上面算法中所描述的标记的位置分布必定重复出现。介于两次重复出现之更长的字符串中,上面算法中所描述的标记的位置分布必定重复出现。介于两次重复出现之间的那一段字符串可以删去,从而得到更短的被拒绝的字符串。所以间的那一段字符串可以删去,从而得到更短的被拒绝的字符串。所以 N 可判定可判定 ALLNFA 的的补。补。该算法该算法仅需要的空间是用来存放标记的位置和重复计数器仅需要的空间是用来存放标记的位置和重复计数器,这在线性空间就可以,这在线性空间就可以得到解决。因此,该算法在非确定的空间得到解决。因此,该算法在非确定的空间 O(n)内运行。内运行。本讲稿第七页,共四十八页萨维奇定理
8、定理定理定理定理8.58.5对于任何函数对于任何函数 f:NR+,其中,其中 f(n)n,NSPACE(f(n)SPACE(f 2(n)给定给定 NTM 的两个格局的两个格局 c1 和和 c2,以及一个整数,以及一个整数 t,要求判定该,要求判定该NTM 能否在能否在 t 步内从步内从 c1 变到变到 c2,称该问题为,称该问题为可产生性问题可产生性问题。如果如果 c1 是起始格局,是起始格局,c2 是接受格局,是接受格局,t 是非确定型机器所使用的最大步数,那么通过求是非确定型机器所使用的最大步数,那么通过求解可产生问题,就能够判断机器是否接受输入。解可产生问题,就能够判断机器是否接受输入。
9、可以用一个可以用一个确定的递归算法确定的递归算法求解可产生问题。运算过程如下:求解可产生问题。运算过程如下:寻找一个中间格局寻找一个中间格局 cm,递归地检查,递归地检查 c1 能否在能否在 t/2 步内到达步内到达 cm,cm 能否在能否在 t/2步内到达步内到达 c2,重复使用两次递归检查的空间可节省空间开销重复使用两次递归检查的空间可节省空间开销。递归的每一层需要递归的每一层需要 O(f(n)空间来存储一个格局。递归的深度是空间来存储一个格局。递归的深度是 log t,t 是非确定型机器是非确定型机器在所有分支上可能消耗的最大时间,在所有分支上可能消耗的最大时间,t=2O(f(n),lo
10、g t=O(f(n)。因此模拟过程需要因此模拟过程需要 O(f 2(n)。本讲稿第八页,共四十八页萨维奇定理的证明设设 N 是在空间是在空间 f(n)内判定语言内判定语言 A 的的 NTM。构造一个判定构造一个判定 A 的确定型的确定型 TM M。机器。机器 M 利用过程利用过程 CANYIELD,该过程检查,该过程检查 N 的的一个格局能否在指定的步数内产生另一个格局。一个格局能否在指定的步数内产生另一个格局。设设 w 是输入到是输入到 N 的字符串。对于的字符串。对于 N 在在 w 上的格局上的格局 c1、c2 以及整数以及整数 t,如果从格局,如果从格局 c1 出发,出发,N 有一系列非
11、确定的选择能使它在有一系列非确定的选择能使它在 t 步内进入格局步内进入格局 c2,则,则CANYIELD(c1,c2,t)输出接受,否则,输出接受,否则,CANYIELD 输出拒绝。输出拒绝。CANYIELD=“对输入对输入 c1,c2 和和 t:1)若若 t=1,则直接检查是否有,则直接检查是否有 c1=c2,或者根据,或者根据 N 的规则检查的规则检查 c1 能否在一步内能否在一步内产生产生c2。如果其中之一成立,则接受;如果两种情况都不成立,则拒绝。如果其中之一成立,则接受;如果两种情况都不成立,则拒绝。2)若若 t 1,则对于,则对于 N 在在 w上消耗空间上消耗空间 f(n)的每一
12、个格局的每一个格局cm:3)运行运行 CANYIELD(c1,cm,t/2)。4)运行运行 CANYIELD(cm,c2,t/2)。5)若第若第 3 和第和第 4 步都接受,则接受。步都接受,则接受。6)若此时还没有接受,则拒绝。若此时还没有接受,则拒绝。”本讲稿第九页,共四十八页萨维奇定理的证明现在定义现在定义 M 来模拟来模拟 N。首先修改。首先修改 N,当它接受时,把带子清空并把读写头移到最左,当它接受时,把带子清空并把读写头移到最左边的单元,从而进入称为边的单元,从而进入称为 caccept 的格局。的格局。令令 cstart 是是 N 在在 w 上的起始格局。选一个常数上的起始格局。
13、选一个常数 d,使得,使得 N 在在 f(n)空间上的格局数不超过空间上的格局数不超过 2df(n),其中,其中 n 是是 w 的长度。的长度。2df(n)是是 N 在所有分支上的运行时间的上界在所有分支上的运行时间的上界。M“对输入对输入 w:1)输出输出 CANYIELD(cstart,caccept,2df(n)的结果。的结果。”算法算法 CANYIELD 显然求解了可产生性问题,因此显然求解了可产生性问题,因此 M 正确地模拟正确地模拟 N。下面需要分析下面需要分析 M,确信它在,确信它在 O(f(n)空间内运行。空间内运行。CANYIELD 在递归调用自己时,它都把所处的步骤号、在递
14、归调用自己时,它都把所处的步骤号、c1、c2 和和 t 的都存储在栈中,所以的都存储在栈中,所以递归调用时返回时能恢复这些值。因此在递归的每一层需要增加递归调用时返回时能恢复这些值。因此在递归的每一层需要增加 O(f(n)空间。空间。此外,此外,递归的每一层把递归的每一层把 t 的值减小一半的值减小一半。开始时。开始时 t 等于等于2df(n),所以递归的深度是,所以递归的深度是 O(log 2df(n)或或 O(f(n),因此共消耗空间是,因此共消耗空间是 O(f2(n)。本讲稿第十页,共四十八页11主要内容主要内容8.1 萨维奇定理萨维奇定理8.2 PSPACE 类类8.3 PSPACE
15、完全性完全性8.3.1 TQBF 问题问题8.3.2 博弈的必胜策略博弈的必胜策略8.3.3 广义地理学广义地理学8.4 L 类类 NL 类类8.5 NL 完全性完全性8.6 NL 等于等于 coNL本讲稿第十一页,共四十八页PSPACE 类定义定义定义定义8.68.6PSPACE 是在是在确定型确定型图灵机上、在图灵机上、在多项式空间内多项式空间内可判可判定的语言类。换言之,定的语言类。换言之,PSPACE k SPACE(nk)PSPACE 类的非确定型版本类的非确定型版本 NPSPACE,可以类似地用,可以类似地用NSPACE 类来类来定义。定义。然而,任何多项式的平方仍是多项式,根据萨
16、维奇定理,则然而,任何多项式的平方仍是多项式,根据萨维奇定理,则NPSPACE=PSPACE。在例在例8.3和和8.4中,已经说明了中,已经说明了 SAT 属于属于 SPACE(n),ALLNFA 属于属于 coNSPACE(n),而根据萨维奇定理,而根据萨维奇定理,确定型空间复杂度对补运算封闭确定型空间复杂度对补运算封闭,所以,所以 ALLNFA 也属于也属于 SPACE(n2)。因此。因此 SAT 和和ALLNFA 这两个语言都在这两个语言都在 PSPACE 中中。本讲稿第十二页,共四十八页PSPACE 类考察考察 PSPACE 与与 P 和和 NP 的关系。的关系。显而易见,显而易见,P
17、 PSPACE,因为,因为运行快的机器不可能消耗大量的空间运行快的机器不可能消耗大量的空间。更精确地说,当更精确地说,当 t(n)n 时,由于在每个计算步上最多能访问一个新单时,由于在每个计算步上最多能访问一个新单元,因此,任何在时间元,因此,任何在时间 t(n)内运行的机器最多能消耗内运行的机器最多能消耗 t(n)的空间。的空间。类似地,类似地,NP NPSPACE,所以,所以 NP PSPACE。反过来,反过来,根据图灵机的空间复杂性可以界定它的时间复杂性根据图灵机的空间复杂性可以界定它的时间复杂性。对于对于 f(n)n,通过简单推广引理,通过简单推广引理5.7 的证明可知,的证明可知,一
18、个消耗一个消耗f(n)空间的空间的 TM 至多有至多有 f(n)2O(f(n)个不同的格局个不同的格局,也必定在时间,也必定在时间 f(n)2O(f(n)内内运行,得出:运行,得出:PSPACE EXPTIME=k TIME(2nk)P NP PSPACE=NPSPACE EXPTIME本讲稿第十三页,共四十八页14主要内容主要内容8.1 萨维奇定理萨维奇定理8.2 PSPACE 类类8.3 PSPACE 完全性完全性8.3.1 TQBF 问题问题8.3.2 博弈的必胜策略博弈的必胜策略8.3.3 广义地理学广义地理学8.4 L 类类 NL 类类8.5 NL 完全性完全性8.6 NL 等于等于
19、 coNL本讲稿第十四页,共四十八页PSPACE 完全性定义定义定义定义8.78.7语言语言 B 是是PSPACE完全的完全的。若它满足下面两个条件:。若它满足下面两个条件:1)B 属于属于 PSPACE。2)PSPACE中的每一个语言中的每一个语言A多项式时间可归约到多项式时间可归约到B。若若 B 只满足条件只满足条件 2,则称它为,则称它为 PSPACE难的难的。本讲稿第十五页,共四十八页TQBF 问题q量词量词:、对于自然数,语句对于自然数,语句 x x+1x 为真。为真。y y+y=y 为假。为假。q辖域辖域:量词的作用范围。:量词的作用范围。q前束范式前束范式:形如形如 =Q1x1
20、Q2 x2 Qk xk B,Qi 为为 或或 q量词化布尔公式量词化布尔公式:带量词的布尔公式(必须是前束范式)。:带量词的布尔公式(必须是前束范式)。q全量词化全量词化:公式中的每个变量都出现在某一量词的辖域中。:公式中的每个变量都出现在某一量词的辖域中。qTQBF 问题就是要判定一个全量词化的布尔公式是真是假问题就是要判定一个全量词化的布尔公式是真是假。TQBF=|是真的全量词化的布尔公式是真的全量词化的布尔公式本讲稿第十六页,共四十八页TQBF 问题定理定理定理定理8.88.8TQBF 是是 PSPACE 完全的。完全的。q证明思路证明思路(1)为了为了证明证明TQBF属于属于PSPAC
21、E,给出一个简单的算法。该算法首先给变量赋值,给出一个简单的算法。该算法首先给变量赋值,然后递归地计算公式在这些值下的真值。从这些信息中算法就能确定原量化公然后递归地计算公式在这些值下的真值。从这些信息中算法就能确定原量化公式的真值。式的真值。(2)为了为了证明证明PSPACE中的每个语言中的每个语言A在多项式时间内可归约到在多项式时间内可归约到TQBF,从判定,从判定 A 的的多项式空间界限图灵机开始。然后给出多项式时间归约,它多项式空间界限图灵机开始。然后给出多项式时间归约,它把一个字符串映射为把一个字符串映射为一个量词化的布尔公式一个量词化的布尔公式,模拟机器对这个输入的计算。模拟机器对
22、这个输入的计算。公式为真的充分公式为真的充分必要条件是机器接受必要条件是机器接受。改用一种与萨维奇定理的证明相关的技术来构造公式。该公式把画面分成两半,利改用一种与萨维奇定理的证明相关的技术来构造公式。该公式把画面分成两半,利用全称量词的功能,用公式的同一部分来代表每一半。结果产生短得多的公式。用全称量词的功能,用公式的同一部分来代表每一半。结果产生短得多的公式。本讲稿第十七页,共四十八页TQBF 问题首先,给出一个判定首先,给出一个判定 TQBF 的多项式空间算法:的多项式空间算法:T “对输入对输入,是一个全量词化的布尔公式是一个全量词化的布尔公式:1)若若 不含量词,则它是一个只有常数的
23、表达式。计算不含量词,则它是一个只有常数的表达式。计算 的值,若为真,则接受;否的值,若为真,则接受;否则,拒绝。则,拒绝。2)若若 等于等于 x ,在,在 上递归地调用上递归地调用 T,首先用,首先用 0 替换替换 x,然后用,然后用 1 替换替换 x。只要有一个结果是接受只要有一个结果是接受,则接受;否则,拒绝。,则接受;否则,拒绝。3)若若 等于等于 x ,在,在 上递归地调用上递归地调用 T,首先用,首先用 0 替换替换 x,然后用,然后用 1 替换替换 x。若。若两个结果都能接受两个结果都能接受,则接受;否则,拒绝。,则接受;否则,拒绝。”算法算法 T 显然判定显然判定 TQBF。空
24、间复杂性:它递归的深度最多等于变量的个数。在每一层只需存储一个变空间复杂性:它递归的深度最多等于变量的个数。在每一层只需存储一个变量的值,所以全部空间消耗是量的值,所以全部空间消耗是 O(m),其中,其中 m 是是 中出现的变量的个数。因此中出现的变量的个数。因此 T 在线性空间内运行。在线性空间内运行。本讲稿第十八页,共四十八页TQBF 问题下面,证明下面,证明 TQBF 是是 PSPACE 难的。难的。设设 A 是一个由是一个由 TM M 在在 nk 空间内判定的语言空间内判定的语言,k 是某个常数。是某个常数。下面给出一个从下面给出一个从 A 到到 TQBF 的多项式时间归约。该归约的多
25、项式时间归约。该归约把字符串把字符串 w 映射为一个量词化映射为一个量词化的布尔公式的布尔公式 ,为为真当且仅当真当且仅当 M 接受接受 w。为了说明怎样构造为了说明怎样构造 ,需解决一个更一般的问题。,需解决一个更一般的问题。利用两个代表格局的变量集合利用两个代表格局的变量集合 c1 和和 c2 及一个数及一个数 t 0,构造一个公式,构造一个公式 c1,c2,t。如果把。如果把 c1 和和c2 赋为实际的格局,则该公式为真赋为实际的格局,则该公式为真当且仅当当且仅当 M 能够在能够在最多最多 t 步内从步内从 c1到达到达 c2。然后,可以令。然后,可以令 是公式是公式 cstart,ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 理论 导引 空间 复杂性 精选 文档
限制150内