当前位置:文档之家› 计算复杂性理论总结_郭培赞

计算复杂性理论总结_郭培赞


二、 不可判定问题及相关结论,图灵机停机判定问题,文法 不可判定问题
(1) 不可判定问题及结论
设判定问题π ,使π 为真的实例的集合为 Yπ ,实例的全体集合为 Dπ ,这样 一个判定问题就可以这样描述π =(Dπ ,Yπ ) 。通过二元组编码和谓词对应来讨 论。通过编码建立判定问题与谓词的对应关系 设编码为 e, Dπ —>A*(谓词)。对于 I∈Dπ , Dπ (I)<=>I∈Yπ ,其中 e (I) =x 对于同一个判定问题, 其编码 e1 与 e2 得谓词 P1 与 P2, 根据 chuuring-Turing 命题, 若 e1 与 e2 是可计算的,则有可计算函数 f1: A *— >A*; f2: A *— >A*使得 P1(x)<=>P2(X) P2(X)<=> P1(x)。 定义:如果谓词π 是可计算的,则称判定问题是可判定的,如果谓词π 是半可 判定的,则称判定问题是半可判定的,否则是不可判定的。 定义:设π 1 与π 2 两个判定问题,若有函数 f:Dπ 1—> Dπ 2 满足: (1)f 是可计算的; (2)对于每个实例 I∈Dπ 1 总有 I∈Yπ <=>f(I)∈Yπ 2 则称 f 为判定问题π 1 到π 2 的规约。 定理:设判定问题π 1 可规约为判定问题π 2,则 π 2 是可判定的,蕴含π 1 是可判定的; π 2 是不可判定的,蕴含π 1 是不可判定的。
(2) Bar-Hillel 泵引理及主要作用
Bar-Hillel 泵引理:设 chomsky 范式文法有 n 个变元, L=L(G), 对于 x∈L, 若|X| ≥2n 则 x 可以表示成 x=u1v1uv2u2,使得 (1)|v1uv2|≥2n; (2)|v1v2|≠ε; (3)对于所有的 k≥0,u1v1kuv2k u2∈L 推论:设 L 是上下文无关语言,则存在正整数 m,使得长度大于 m 的 x 可用 于验证某些语言不是上下文无关语言。 作用:通过泵引理以反证法证明 L 不是上下文无关语言。
(4) 离线图灵机
离线图灵机有一条输入带和 k 条工作带,输入带的带头只读不写,工作带的带头是 和普通多带图灵机一样的读写头。# $分别表示输入带的左端和右端。
( 各种图灵机之间关系
定理:四元图灵机与五元图灵机是等价的。 定理:单向图灵机与四元机是等价的。
定理:多带图灵机与单带图灵机是等价的。 定理:离线图灵机与单带图灵机是等价。 总结:图灵机都是等价的。
(2) 图灵机形式化定义,图灵机的接受过程及接受语言过程
定义:一个基本图灵机 M 定义为一个七元组 TM={Q,C,δ,A,B,q1,F}。 Q 是状态集,一个非空有穷集合,标示图灵机的所有状态; C 是带字母表, (放在带方格中的符号集合)非空有穷集; δ 是动作函数,包括控制函数或过程转换函数(定义控制器) ,是 QxCQxC ∪(R,L)的部分函数;A 是输入字母表,A⊆C-{B}; B 是空白符,B∈C; q1 是初始状态,q1∈Q; F 是接收状态集,F⊆Q,F 中的元素叫做接收状态 图灵机的每一步计算由动作函数 δ 确定,设当前状态 q,被扫描的符号为 s δ(q,s)=(q’,s’) ,把被扫描的方格的内容改写成 s’并且转换到状态 q’,读 写头的位置保持不变。 δ(q,s)=(q’,R),读写头左移一格并且转换到状态 q’,带的内容保持不变。 δ(q,s)=(q’,L),读写头右移一格并且转换到状态 q’,带的内容保持不变。 δ(q,s)无定义,则停止计算。 图灵机的格局包括带的内容、读写头的位置和控制器的状态,可表示成
四、 上下文无关文法
(1) chomsky 范式的文法及相关理论(等价性)
chomsky 范式文法:设上下文无关文法 G=(V ,T,P,S)的每一个产生式都有如下 形式:x—>yz,x—>a 其中 x,y,z∈V,a∈T,则上下文无关文法 G 为 chomsky 范式文法。 定义:设正上下文无关文法 G=(V ,T,P,S),形如 X→Y 的产生式称作单枝的, 其中 X,Y∈V。如果 G 不含单枝的产生式,则称它是分枝的。 定理: G 为上下文 无关文法, 则存在 分枝的正的上下文 无关文 法 G’ 使 L(G)=L(G’)
计算复杂性理论总结报告
——计算机技术 33 班郭培赞指导老师:王宝文
一、 图灵机
(1) 图灵机基本模型
基本图灵机有一条带作为存储装置和一个控制器,控制器带一个读写头(又叫 做带头) 。带的两端是无穷的,被划分成无穷多个小方格,每个小方格内可以存放 一个符号,控制器有有穷个状态。在计算的每一步,控制器总处于某个状态,读写 头可左移或右移扫描一个方格, 根据控制器当前所处的状态和读写头扫描的方格内 的符号。控制器完成下列三个动作中的其中一个: 1.改写被扫描方格的内容,控制器转换到一个新的状态; 2.读写头向左移动一格,控制器转换到一个新的状态; 3.读写头向右移动一格,控制器转换到一个新状态; 结构如图所示: 左右无穷的带 读写头 控制器
机 M’使 L(M)=L(M’)。 这里的 M 可以是 DTM,也可以是 NTM,但是它是多带的,M 的时间上界是 t(n)。M’是单带,可以是 DTM,也可以是 NTM,M’的时间上界是 t2(n)。
空间复杂度
定义:设 DTM M,字母表为 A,对所有的 w∈A*,M 总停机,把 M 关于 w 的 计 算 中 在 每 一 条 工 作 带 上 使 用 的 方 格 数 的 最 大 值 记 为 ������������ (������) . 称 ������������ (n)=max{������������ ������ ������ ∈ A ∗ 且 w| ≦ n},n∈N 为 M 的空间复杂度。设全函数 s:N→ N。如果������������ (������)=O(s(n)),则称 s(n)是 M 的空间复杂度上界。 定理: 设 M 是一台有 k 条工作带的 s(n)空间界限的离线 DTM(NTM), 其中 k>1, 则存在只有一条工作带的离线 DTM(NTM)M’, 使得 L(M’)=L(M)并且 M’与 M 有相 同的空间复杂度上界。
(2) 图灵机停机判定问题
定义:图灵机的停机问题——任给图灵机和格局 ζ,从格局 ζ 开始,图灵机是否最 终停机? 定理:图灵机的停机问题是不可判定的。
(3) 文法不可判定问题
引理:如果 u∈L(M),则 L(������M,u )={������������ |������ > 0},如果 u 不属于 L(M),则 L(������M,u )=空集 定理:下述问题是不可判定的: 任给一个文法 G,是否 L(G)为空集? 任给一个文法 G,是否 L(G)是无穷的? 任给一个文法 G 和字符串 x,是否 x∈L(G)?
(3) 非正则语言的定义及相关结论 (4) 泵引理内容及主要作用
正则语言的泵引理:设 L 是正则语言,则存在与 L 相关的常数 n 满足:对于 任何 L 中的串 w,如果|w|≥n,则我们就能够把 w 打断为三个串 w=xyz 使得: (1)y ≠ε。 (2)|xy| ≤ n。 (3)对于所有的 k ≥ 0,串 xykz∈L。 换句话说,我们总能够在离 w 的开始处的地方找到一个非空的串 y,然后可以把它 作为“泵” ,也就是说,重复 y 任意多次,或者去掉它(k=0 的情况) ,而所得到的
(m )
(x1,x2,…..xm)=y
若图灵机停机在非接收状态或永不停机,则无定义。 定义图灵机接受过程:如果从初试格局 q1Bx 开始计算,图灵机最终停机在接 受格局,则称图灵机接收 x。图灵机接收的所有字符串组成的集合称作图灵机接收 的语言,或图灵机识别的语言。
(3) 图灵机其他形式 (1) 五元图灵机
三、 正则语言
(1) chomsky 文法分类
文法为四元组 G=(V,T,P,δ )其中,V 为非终结符集合,T 为终结符集合, P 为规则集,δ 为开始符号 0 型文法:等价于图灵机。对产生式不附加任何条件。 1 型文法:线性界限自动机。是上下文有关文法,每一个产生式α →β 都满足条件 |α |≦|β | 2 型文法:下推自动机。是上下文无关文法,每一个产生式都形如 A→α ,其中 A ∈V,α ∈(T∪U)* 3 行文法: 有穷自动机。 正则文法, 若文法满足 A—>aB 或 A—>w,其中 A, B∈V, w∈A*, 则称此种文法为右线型文法; 若 A—>Ba, A—> A—>w,其中 A, B∈V,w∈A*,则称此种文法为左线型文法。
五元图灵机的一步要做四元图灵机两步做的事情, 改写一个符号并且左移一格, 或者改写一个符号并且右移一格。
(2) 单向无穷带图灵机
单项无穷带图灵机的带仅在一个方向上是无穷的,有一个最左方格#被固定在 带的左端,他左边的方格永远不会被使用。
(3) 多带图灵机
多带图灵机有 k 个读写头, 没个读写头扫描一条带, 可以改写被扫描方格内的符号、 左移一格或者右移一格。 读写头的动作由当前的状态和 k 个读写头从 k 条带上读到 的 k 个符号决定。
(2) DFA,NFA 正则定义及相关结论
确定自动机 DFA M=(Q,A, δ,q1,F)其中 Q 是状态集;A 是输入字母表; q1 是初态, q1∈Q; F 是终态集, F⊆Q; δ 是控制函数或者转换函数, δ: QxA—>Q , δ 是确定的。 Q={q1,q2,q3,q4};A={a,b} F={q3} 则根据状态转化图得知 L(G)={bna / n≥1}. 不确定自动机 NFA M=(Q,A, δ*,q1,F) ,其中 Q 是状态集;A 是输入字母 表;q1 是初态,q1∈Q;F 是终态集, F⊆Q;δ 是控制函数或者转换函数,δ*: QxA*2Q 根据状态转化图得知 L(G)={an / n≥2}∪{bna / n≥1} DFA 与 NFA 仅仅是控制函数的不同。 结论:不确定自动机和确定自动机是等价的。 定理:语言 L 能被 DFA 接受当且仅当语言 L 能被 NFA 接受。 定理:语言 L 是正则语言当且仅当存在 DFA M 使 L=L(M)。
相关主题