计算理论难解..
计算理论习题解答

计算理论习题解答练习1.1 图给出两台DFA M 1和M 2的状态图. 回答下述有关问题.a. M 1的起始状态是q 1b. M 1的接受状态集是{q 2}c. M 2的起始状态是q 1d. M 2的接受状态集是{q 1,q 4}e. 对输入aabb,M 1经过的状态序列是q 1,q 2,q 3,q 1,q 1f. M 1接受字符串aabb 吗?否g. M 2接受字符串ε吗?是1.2 给出练习2.1中画出的机器M 1和M 2的形式描述.M 1=(Q 1,Σ,δ1,q 1,F 1) 其中 1) Q 1={q 1,q 2,q 3,}; 2) Σ={a,b}; 3) δ1为:a b q 1 q 2 q 3 q 2 q 1 q 3 q 3 q 2 q 1 4) q 1是起始状态 5) F 1={q 2}M 2=(Q 2,Σ,δ2,q 2,F 2) 其中 1) Q 2={q 1,q 2,q 3,q 4}; 2) Σ={a,b}; 3)δ2为:a b q 1 q 2 q 3 q 4 q 1 q 2 q 3 q 4 q 2 q 1 q 3 q 4 3) q 2是起始状态 4) F 2={q 1,q 4}1.3 DFA M 的形式描述为 ( {q 1,q 2,q 3,q 4,q 5},{u,d},δ,q 3,{q 3}),其中δ在表2-3中给出。
试画出此机器的状态图。
1.6 画出识别下述语言的DFA 的状态图。
a){w | w 从1开始以0结束}b){w | w 至少有3个1}q 1 q 5 q 4 q 2 q 3 ud u u u u d d d d 00 1 11 0,1 0 0 1 0 0 1 10,1c) {w | w 含有子串0101}d) {w | w 的长度不小于3,且第三个符号为0}e) {w | w 从0开始且为奇长度,或从1开始且为偶长度}或f) {w | w 不含子串110}g) {w | w 的长度不超过5}h){w | w 是除11和111以外的任何字符}i){w | w 的奇位置均为1}j) {w | w 至少含有2个0,且至多含有1个1}k) {ε,0}l) {w | w 含有偶数个0,或恰好两个1}0,110 0 1 110 0,1 00,1 0,1 1 1 0,1 0 0,10,1 0,1 00,11 0,10 0,1 10,1 0111 00,1 0,1 0,1 0,1 0,10,10,11 1 1 0,1 0 0 00 0 10 0 1 11 1 1 0 0 0,1 0 0,1 0,11 1 00,1 0,1 1 01 1 0 0 0 0 0 0 1m) 空集 n) 除空串外的所有字符串1.7 给出识别下述语言的NFA ,且要求符合规定的状态数。
第一讲:计算复杂性理论

大多数研究者认可 的包容关系
L m
计算复杂度的影响因素
简化模型:模型2
计算复杂度的影响因素
简化模型:模型3。
计算复杂度的影响因素
建模假设 例:高空抛球的运动轨迹。 ----抛物线模型 假设1.没有空气阻力; 假设2.地面是平面。 ----椭圆模型
计算复杂度的影响因素
探索空间1 探索空间1---解的近似度、满意度
例:0—10之间的整数解:1-9共9个可行解(一维) 0—10之间的实数解:精确到小数点后6位 共有107个可行解(一维); 107n个可行解(n维)
n! 10141世紀 → 10120世紀 102551世紀 → 102530世紀
问题与算法
每个問題都可能有多个算法存在. 每个算法的计算量(速度)都不同。 例: 赝品金币問題: 问题:9個外观完全一样的金币.,有一个是假的 (重量轻). 提问:用天秤来鉴别真伪,天秤需要使用几次?
贋品金币問題算法 問題算法
优化技术与方法
計算量(1) 計算量
+,-,×,÷ 比較:≠,≤,≥,<,> 5种基本演算都是用1step 可以实现. 実際上,×比+多占用時間. 「四舍五入」不算基本演算.
計算量(2) 計算量
{a1, a2,..., an}:n個整数 Q1. 求和(1): a1+a2+・・・+an. 1 + +a n-1 steps → O(n)算法. Q2. 求和(2): (1) 2×a1+・・・+ 2×an , 2n-1 steps→ O(n)算法. (2) 2×(a1+・・・+an) , n steps→ O(n)算法.
尚未确信能否用多項式時間算法求解的问题的 集合称为NP (non-deterministic polynomial)问题 某一个问题不属于NP问题的証明 如能够找到一个多項式時間算法 (簡単) 某一个问题属于NP问题的証明 可以归结为某一类既知的NP类问题(现阶段7类))
计算理论第一章绪论

1.1 计算与计算模型
上世纪初,德国大数学家希尔伯特(Hilbert)提出: 是否存在着一个通用过程,这个过程能用来判
定任意数学命题是否成立,即,输入一个数学命题, 在有限时间内,得到一个证明,如果这个命题成立; 或是一个反例,如果这个命题不成立。
图灵证明了对于平面几何来说,存在这样的过程。 但是,对于一般的数学命题,不存在这样的过程。
图灵机和可计算函数
英国 数学家
1936年,图灵24岁时发表一篇 论文《论数字计算在判决难题 中的应用》,提出著名的“图 灵机”的设想。这一思想奠定 了现代计算机的基础。
美国计算机协会在图灵去世12 年后以他的名字命名了计算机 领域的最高奖“图灵奖”。
艾伦·图灵(1912-1954)
1.1 计算与计算模型
判定。
1.3图灵机
NP完全问题:
NP类中某些问题的复杂性与整个类的复杂 性相关联,这些问题称为NP完全问题。
可计算性与计算复杂性
可计算性computability 是否可解
复杂性 complexity 解的难易程度
1.4 语言与文法
乔姆斯基最初从产生语言的角度研究语言, L*。
问题:考察一个字符串是否是某个语言的句 子。
计算的图灵机定义:
1936年由Turing给出,定义计算为: 输入—执行过程(有限步内结束)—输出
1946年,冯·诺依曼与宾夕法尼亚大学的工程师 采用电子器件物理实现了图灵的计算模型,建成 了世界的第一台计算机。
现在称计算机的体系结构为冯·诺依曼体系结构。
1.1 计算与计算模型
图灵给出了过程的科学定义,区分了可计算 的问题和不可计算的问题。
1.6 计算逻辑与描述逻辑
可计算性与计算复杂性

可计算性与计算复杂性1.可计算性:可计算性研究的是什么样的问题可以通过其中一种计算模型解决。
早期的计算模型是图灵机(Turing machine),后来发展出其他等效的计算模型,例如递归函数、Lambda演算等。
根据这些计算模型,可以定义一类问题为可计算问题,也就是可以通过计算模型求解的问题。
1.1停机问题:停机问题是可计算性的典型例子,它是指根据给定的程序和输入,判断这个程序是否会在有限的时间内停止运行。
根据图灵在20世纪30年代证明的停机问题的不可判定性,他证明了不存在一个通用的算法能够判断任意程序是否停机,这个结论被称为图灵不可判定性定理。
1.2基本计算问题:除了停机问题,可计算性还研究了一些其他的基本计算问题。
例如,可计算性研究了自动机是否可以接受一些字符串,或者函数是否可以被一个特定的计算模型计算等。
1.3计算模型的等效性:在可计算性理论中,研究了不同计算模型之间的等效性。
图灵机、递归函数和Lambda演算等计算模型之间可以相互转化,这意味着它们的计算能力是等价的。
这个等价性的概念对理解可计算性是至关重要的。
2.计算复杂性:计算复杂性研究的是什么样的问题可以在多项式时间内解决,以及在不同条件下求解问题所需要的计算资源(例如时间、空间等)。
计算复杂性理论的核心是研究问题的复杂度类别和难度。
2.1多项式时间可解问题:计算复杂性理论将问题分为多项式时间可解问题和非多项式时间可解问题。
多项式时间可解问题是指那些可以在多项式时间内求解的问题。
这些问题的解决方法被认为是高效的,因为随着输入规模的增加,所需计算资源的增长是可接受的。
2.2难解问题:非多项式时间可解问题是那些不可以在多项式时间内求解的问题。
例如,图的旅行商问题(TSP)和布尔可满足性问题(SAT)等问题被认为是难解问题。
难解问题的求解需要指数级的时间或空间复杂度,因此在实际中很难找到有效的算法。
2.3复杂度类别:计算复杂性理论还研究了不同问题的复杂度类别。
《计算理论》复习题总结

《计算理论》复习题总结1、自动机、可计算性、复杂性内涵及关系;计算理论的三个传统的核心领域:自动机、可计算性和复杂性。
通过“计算机的基本能力和局限性是什么?“这一问题将这三个领域联系在一起。
可计算理论与复杂性理论是密切相关的,在复杂性理论中,目标是把问题分成容易计算的和难计算的;而在可计算理论中,是把问题分成可解的和不可解。
自动机阐述了计算的数学模型的定义和性质,主要包含两种模型:有穷自动机模型;上下文无关文法模型。
可计算性理论和复杂性理论需要对计算机给了一个准确的定义。
自动机理论允许在介绍与计算机科学的其他非理论领域有关的概念时使用计算的形式化定义。
2、有穷自动机、正则语言、正则表达式、非确定有穷自动机、非正则语言;有穷自动机:描述能力和资源极其有限的计算机模型。
是一个5元组(Q,∑,δ,q0,F),其中1)Q是一个有穷集合,称为状态集。
2)∑是一个有穷集合,称为字母表。
3)δ:Q×∑→Q是转移函数。
4)q0∈Q是起始状态。
5)F⊆Q是接受状态集。
正则语言:如果一个语言能被有穷自动机识别。
正则表达式:用正则运算符构造描述语言的表达式。
称R是正则表达式,如果R是:1)a,a是字母表中的一个元素;2)ε;3)∅;4)(R1⋃R2);5)(R1 R2);6)(R1*)非确定有穷自动机:是一个5元组(Q,∑,δ,q0,F),其中1)Q是有穷状态集。
2)∑是有穷字母表。
3)δ:Q×∑ε→P(Q)是转移函数。
4)q0∈Q是起始状态。
5)F⊆Q是接受状态集。
3、上下文无关语言及上下文无关文法、歧义性、乔姆斯基范式、下推自动机、等价性、非上下文无关语言;上下文无关语言:用上下文无关文法生成的语言。
上下文无关文法:是一个4元组(V,∑,R,S)且1)V是一个有穷集合,称为变元集2)∑是一个与V不相交的有穷集合,称为终结符集3)R是一个有穷规则集,每条规则由一个变元和一个由变元及终结符组成的字符串构成,4)S∈V是起始变元歧义性:如果字符串W在上下文无关文法G中有两个或者两上以上不同的最左派生,则称G歧义地产生的字符串W。
计算理论基础知识

计算理论基础知识计算理论是计算机科学的核心领域之一,它研究的是计算过程的本质和限制。
在计算机科学的发展过程中,计算理论提供了重要的理论基础和方法,为计算机科学和技术的发展奠定了坚实的基础。
本文将简要介绍计算理论的基础知识。
一、自动机理论自动机是计算理论中的重要概念之一,它用于描述计算过程的抽象模型。
自动机可以分为有限自动机和非确定性有限自动机等多种类型。
有限自动机是一种最简单的计算模型,它由状态、输入字母表、转换函数和初始状态等组成。
通过状态的转换和输入的驱动,有限自动机可以执行特定的计算任务。
非确定性有限自动机则相对更加复杂,它在进行状态转换时可以有多个可能的选项。
二、形式语言与文法形式语言和文法是计算理论中研究自动机行为规律的重要工具。
形式语言是由符号组成的集合,用于表示计算过程中的输入、输出和中间结果等信息。
文法则定义了形式语言的句子生成规则。
常见的文法类型有上下文无关文法、上下文相关文法等。
形式语言和文法的研究使得我们能够通过规则来描述和分析计算过程,从而更好地理解计算机科学中的一些重要概念和问题。
三、图灵机和可计算性理论图灵机是计算理论中最重要的概念之一,它由一个无限长的纸带和一个读写头组成。
图灵机通过读写头在纸带上的移动和改写来模拟计算过程。
图灵机的提出使得我们能够更深入地研究计算过程的本质和限制。
可计算性理论是计算理论中的一个重要分支,它研究的是什么样的问题可以通过某种计算模型解决。
根据可计算性理论,存在一些问题是不可计算的,即无法用任何计算模型来解决。
四、复杂性理论复杂性理论是计算理论中的另一个重要分支,它研究的是计算问题的复杂度。
复杂性理论主要关注计算问题的难解性和可解性。
常见的复杂性类别有P类、NP类等。
P类问题是可以在多项式时间内解决的问题,而NP类问题是可以在多项式时间内验证解的问题。
复杂性理论的研究使得我们能够更好地理解计算问题的本质,从而设计更高效的算法和方法。
五、计算复杂性和可计算性的关系计算复杂性和可计算性是计算理论中两个重要的概念。
数学中的复杂度理论

复杂度理论是数学中的一个重要分支,研究的是计算问题的复杂性。
它旨在回答一个关键问题:对于一个给定的问题,我们在有限时间内能否找到一个解决方案,并且这个解决方案需要多长的时间。
复杂度理论的研究对象是算法,它描述了在解决问题时所需要的计算资源的需求。
在复杂度理论中,有两个重要的概念:时间复杂度和空间复杂度。
时间复杂度表示在解决问题时所需要的时间资源,通常用“大O符号”来表示。
例如,如果一个算法的时间复杂度是O(n^2),说明算法的执行时间与输入数据的规模n的平方成正比,即随着n的增大,算法的执行时间也会增加。
另一方面,空间复杂度描述的是算法在解决问题时所需要的额外空间的需求,同样用“大O符号”来表示。
复杂度理论的研究对于计算机科学和其他领域的研究具有重要的意义。
它可以帮助人们评估算法的效率,从而选择最合适的算法来解决问题。
通过研究不同算法的复杂度,人们可以发现对于某些问题,可能不存在一个高效的算法来解决,从而引发了一些著名的计算难题,如NP完全问题和P=NP问题。
以NP完全问题为例,它是一类算法的集合,这些算法在给定一个解的情况下,可以在多项式时间内验证这个解的正确性。
然而,至今没有人找到一个高效的算法来解决NP完全问题,这就引发了一个重要的问题:P=NP问题。
如果P=NP成立,意味着可以在多项式时间内找到NP问题的解决方案,这将在计算理论和实践中引发重大的变革。
除了NP完全问题,复杂度理论还研究了其他一些重要的问题,如图论中的旅行商问题和图染色问题,及博弈论中的囚徒困境和社交网络中的影响力最大化问题等。
通过研究这些问题的复杂度,我们可以更深入地了解这些问题的难度,为问题的解决方案提供指导。
总之,数学中的复杂度理论是一门重要的研究领域,它研究的是计算问题的复杂性。
通过研究问题的复杂度,我们可以评估算法的效率,发现和解决一些重要的计算难题,并为问题的解决方案提供指导。
复杂度理论的研究对于计算科学和其他领域的研究具有重要的意义,帮助我们更深入地理解计算问题的本质。
理论计算机科学中的计算复杂性理论研究毕业论文

理论计算机科学中的计算复杂性理论研究毕业论文Abstract:计算复杂性理论是理论计算机科学中的一个重要研究领域。
本文从该领域的起源、基本概念和主要研究内容三个方面探讨计算复杂性理论的重要性及其在实际应用中的作用。
首先介绍了计算复杂性理论的起源和发展历程,接着解释了计算问题、计算模型、算法和复杂性的基本概念。
随后探讨了计算复杂性理论在计算机科学中的核心问题,包括P与NP问题、NP完全性和NP难度、多项式时间可解问题等。
最后,讨论了计算复杂性理论在实际应用中的作用和价值,并对其未来发展进行了展望。
1. 引言计算复杂性理论是理论计算机科学中的一个重要研究领域,是研究计算机算法和问题的困难程度的理论基础。
自20世纪60年代以来,计算复杂性理论逐渐发展成为理论计算机科学的基石之一。
计算复杂性理论的研究成果不仅为计算机科学的发展提供了理论依据,也为解决实际问题提供了方法和策略。
2. 计算复杂性理论的起源与发展计算复杂性理论的起源可以追溯到20世纪50年代末和60年代初,其最早的研究动机源于对计算问题的困难性的认识。
此后,随着计算机技术的快速发展,计算复杂性理论逐渐形成并得到广泛应用。
计算复杂性理论的发展受益于图灵机模型、多项式时间可解、NP完全性等基本概念的提出和研究。
3. 计算问题的基本概念与模型在计算复杂性理论中,计算问题是研究的基本对象。
计算问题可以通过算法解决,而算法又可以由计算模型来描述。
计算模型是一个形式化的数学模型,用于描述计算过程中使用的有限资源和约束条件。
计算问题的本质是找到一种有效的算法来解决它,而算法的复杂度则是刻画算法的时间和空间资源使用情况的度量。
4. 计算复杂性理论的核心问题计算复杂性理论的核心问题之一是P与NP问题。
P和NP是两个重要的复杂性类,前者表示在多项式时间内可解的问题,后者表示在非确定性多项式时间内可解的问题。
P与NP问题的解答关系到计算理论的基础性问题。
另一个核心问题是NP完全性和NP难度的研究,它们是复杂性理论中的重要概念。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
层次定理
考察该算法的每一步以确定运行时间。显然,步骤1、2、3能够在为
O(t(n))时间内完成。在步骤4,每次D模拟M的一步,它都要读取M的
当前状态以及M读写头下的带符号,在M的转移函数中查找M的一下 个动作,以使它能够适当地更新M的带内容。所有这三个对象都存放
在D的带上某处。如果它们彼此分开很远,D每次模拟M的一步都需
计算理论
1
难解性的含义与形式
某些计算问题在理论上虽然是可解的,但是获得其解需要耗 费大量的时间或空间,导致其难以在实践中得到应用,这样 的问题称为难解的( intractable ) 。 虽然还不知道怎样证明,但大多数人相信 SAT 问题和其他 所有 NP 完全问题都是难解的。 难解性可以有多种形式:
1) 令 n 是 w 的长度。
2) 利用时间可构造性计算 t(n),把 t(n)/log(n) 存放在一个二进制计数器 中。在每一次执行步骤 3、4、5 之前,把该计数器减 1。如果计数器减 到 0,就拒绝。
3) 若 w 的形式不是 <M>10*,其中 M 是某个 TM,就拒绝。
4) 在 w 上模拟 M 。 5) 若 M 接受,则拒绝;若 M 拒绝,则接受。”
20
指数空间完全性
如果自动机 Nl 和 N2 是等价的,N 显然拒绝,因为它只在确定—台机器接 受某个串而另一台机器不接受时才能接受。如果这两个自动机不等价, 则存在某个字符串被一台机器接受而不能被另——台接受。这样的字 符串中必定有长度小超过 2q1+q2 的。若个然,考虑用这样的串中最短的 一个作为非确定选择的序列。因为只存在 2 q1+q2 种不同的方式把标记 放在 N1 和 N2 的状态上,所以在更长的中标记的位置必定重复。把介 于重复之间的那部分字我们字符串删除,就得到更短的字符串。因此 算法N在它的非确定选择中会独到这个串并接受。所以N运算正确。 算法N在非确定线性空间内运行,于是根据萨维奇定理,可以得到判定该 问题的确定型 O(n2) 空间算法。下面用该算法的确定形式设计判定 EQREX↑的算法E。
要走许多步来收集这些信息。所以,D总是把这些信息放在一起。 可以把D的单带组织成轨道。得到两条轨道的一种方法是以奇数位置存储
一条轨道,以偶数们置存储另一条轨道。另一种获得两条轨道效果的
方法是扩大D的带字母表,使它包括每一对符号,其中,一个符号来 自上轨道,另一个符号来自下轨道。更多的轨道效果也可以类似独。
就判定过程必须消耗多于多项式的空间这一意义而言,该推论 证明存在难解的但可判定的问题。语言本身有一些不太自然, 它们只是为了分享复杂性类才有意义。在讨论时间层次定理以 后,得用这些语言来证明其他更加自然的语言的难解性。
12
时间可构造的
定义 9.8
函数 t:N→N,t(n) 至少为 O(n logn),如果函数把 1n 映射为 t(n) 的二进制表示,并在时间 O(t(n)) 内 可计算,则称该函数为是时间可构造的。
注意,如果只使用固定数目个轨道,多轨道主演唱会增加一数倍的时
间开销。这里,D采用三条轨道。
16
时间层次定理
推论 9.11
对于任意两个函数 t1, t2 : N→N,其中 t1(n) 等于 o(t2(n))/logt2(n) 而且 t2 是时间可构造的,有 TIME(t1(n)) TIME(t2(n))。 对于任意两个实数 1≦1<2,有 SPACE(n1) SPACE(n2)。
21
指数空间完全性
E=“对输入 <R1, R 2>,其中 R1 和 R 2 是带指数的正则表达式; 1) 把 Rl 和 R 2 转化为等价的正则表达式 Bl 和 B 2,其中 Bl 和 B2 利用重 复代替指数。
2) 利用引理 2.29 的证明中给出的转化过程,把 B1 和 B2 转化为等的 NFA N1 和 N2。
2) 利用空间可构造性计算 f (n),并出这么多带空间。 如果后面的步骤企图使用更多的空间,就拒绝。 3) 如果 w 不是形如 <M>10*,其中 M 是某个 TM,就拒绝。 4) 在 w 上模拟 M,同时计算模拟过程中使用的步数。 如果计数超过 2f (n),则拒绝。 5) 若 M 接受,则拒绝。若 M 拒绝,则接受。”
4
空间可构造的
定义 9.1 函数 f :N→N,f (n) 至少为 O(log n),如果函数 f 把1n 映射为 f (n) 的二进制表示,并且该函数在空间
O(f(n)) 内是可计算的,称该函数为空间可构造的。
换言之,如果存在某个 TM M,在 O(f(n)) 空间内运行,而 且在输入 1n 时总能停机,停机时,f(n) 的二进制表示出现 在带子上,则 f 是空间可构造的。 为了具有时间和空间可构造性,如 nlog2n 和 n 这一类带 小数的函数被向下舍入到紧邻的较小的整数上。
空间可构造的
若 f(n) 和 g(n) 是两个空间界限, f(n) 渐进地比 g(n) 大,则 机器在 f(n) 空间内所能计算的语言比在 g(n) 空间内多。 然而,假如 f(n) 超过 g(n) 的那部分数量非常小而且难以计 算,那么机器可能无法有效地利用多出来的那部分空间, 因为仅是计算多出来的空间数量所需消耗的空间就可能比 所获得的空间还要多。 在这种情况下,机器 在 f(n) 空间内所能计算的语言不会比 在 g(n) 空间内更多。 规定 f (n) 是空间可构造的就可以避免这种情况。
如果允许正则表达式采用比通常的正则运算更多的运算,则 分析表达式的复杂性将急剧上升。 设↑是指数运算,若 R 是一个正则表达式,k 是一个非负整 数,则写法 R↑k 等价于自身连接 k 次。也可缩写成 Rk。 广义正则表达式允许指数运算。 EQREX↑={ <Q, R> | Q 和 R 等价的带指数运算的正则表达式 }
10
空间层次定理
推论 9.6
NL SPACE。
萨维奇定理说明 NL SPACE(log2n),
空间层次定理说明SPACE(log2n) SPACE(n), 所以推论成立。 就对数空间可归约性而言,TQBF 是 PSPACE 完全的,所以 TQBFNL。11Fra bibliotek 空间层次定理
推论 9.7
PSPACE EXPSPACE。
证明略
8
空间层次定理
定理 9.3
对于任何空间可构造函数 f :N→N,存在语言 A, 在空间 O(f(n)) 内可判定,但不能在空间 o(f (n)) 内 可判定。
下面的 O(f(n)) 空间算法 D 判定的语言 A 不能在 o(f (n)) 空间内判定。 D = “对输入 w:
1) 令 n 是 w 的长度。
22
指数空间完全性
下面证明EQREX↑是EXPSPACE难的。设TM M在空间2(nk),内判定语言 “A,k是某个常数。归约把输人w映射为一对正则表达式R1和R2。表达式 R1就是△*,若用和Q表示M的带字母表和状态集,则 = ∪ Q ∪ {#}是计 算历史中可能出现的所有符号组成的字母表。构造表达式R2,使它产生不 代表M在w上的拒绝计算历史的所有字符串。当然,M接受w,当且仅当M 在w上没有拒绝计算历史。因此这两个表达式等价当是仅当M接受w。构造 过程如下。 M在w上的一个拒绝计算历史是由符号#分隔的一系列格局。采用标准的格 局编码,其中代表当前状态的符号放在当前读写头位置的左边。假定所有 格局的长度为2 (nk),如果长度不够,就用空白符填在右边。拒绝计算历史 的第 一个格局是M在w上的初始格局,最末格局是一个拒绝格局。每一个
一个大部分时间容易计算但偶尔很难算的问题,仅在最坏情况下是 难解的; 在超级计算机上是易算的,但在 PC 机上可能需要过量时间的问题。
2
主要内容
9.1 层次定理
9.2 相对化
9.3 电路复杂性
3
层次定理
层次定理的含义:定理中的每一个都能证明时间和空间复 杂性类不全相同,它们形成了一个层次结构,其中时空界 限较大的类比时空界限较小的类包含更多的语言。 例如:层次定理能形式化的证明:图灵机在更多的时间或 空间能扩大它所能解的问题类。也就是说,图灵机在时间 n3 内比 n2 内能判定更多的语言。 层次定理的分类 空间复杂性层次定理(简单) 时间复杂性层次定理(复杂)
推论 9.12
推论 9.13
P EXPTIME。
17
指数空间完全性
证明一个具体的语言事实难解需要分两步:
1) 层次定理说明:图灵机在 EXPSPACE 内比在 PSPACE内判定更多的 语言。 2) 证明有关广义正则表达式的一个具体的语言是 EXPSPACE 完全的, 即不能在多项式时间、也不能在多项式空间内判定。
5
空间可构造的
例9.2 通常出现的复杂度至少为 O(logn) 的函数都是空间可构
造的,包括 log2n、nlog2n 和 n2。
例如,n2 是空间可构造的,因为机器以 1n 为输入,通过数 1 的 数目得到 n 的二进制开式,采用标准的方法将 n 自乘,输出n2。 全部空间消耗是 O(n),当然也是 O(n2)。 当证明等于 o(n) 的函数 f (n) 是空间可构造的时,有一条单独 的只读输入带。例如,这种机器可以如下计算把 1n 映射为 log2n 的二进制表示的函数。随着只读头沿着输入带移动,它 在工作带上以二进制形式计算输入中 1 的数目。然后,因为 n 以二进制形式放在工作带上,它通过数 n 的二进制表示中的位 数可以计算出 log2n。 6
7
空间层次定理
定理 9.3
对于任何空间可构造函数 f :N→N,存在语言 A, 在空间 O(f(n)) 内可判定,但不能在空间 o(f (n)) 内 可判定。
必须说明一个语言 A 具有两个性质:
1) A 在空间 O( f(n)) 空间内可判定; 2) A 不能在空间 o( f (n)) 空间内判定。