形式语言与自动机 第8章 不可判定性

文章目录

第8章 不可判定性

(这一章共 19 个定理,简单理解的基础上记忆即可)

8.1 递归集和递归可枚举集的性质

Th 8.1 递归集的补集是递归集

(拒绝状态和接受状态互换,因为一定会停机)

Th 8.2 两个递归集的并是递归的;两个递归可枚举集的并是递归可枚举的

(两个TM同时跑,只要有一个接受就停机接受;如果其中有一个拒绝或者不停机,那么就是不接受)

Th 8.3 两个递归集的交是递归的;两个递归可枚举集的交是递归可枚举的

(一个TM先跑,如果接受了再让另一个TM跑;两个都接受才是接受)

Th 8.4 若语言 L L L L ‾ \overline{L} L 都是递归可枚举的,则 L L L L ‾ \overline{L} L 都是递归的

(让接受 L L L 和接受 L ‾ \overline{L} L 的图灵机 T M 1 TM_1 TM1 T M 2 TM_2 TM2 同时跑;如果 T M 1 TM_1 TM1 接受则接受, 如果 T M 2 TM_2 TM2 接受则拒绝;因为是补集,所以这样必会停机)

总结
封闭性质
递归可枚举集
递归集

8.2 通用图灵机和两个不可判定问题

Def 通用图灵机 L ( U ) = { M ♯ x   ∣   x   ∈   L ( M ) } L(U)=\{M{\sharp}x{\,}|{\,}x{\,}{\in}{\,}L(M)\} L(U)={MxxL(M)}

Th 8.5 任意给定的 T M   M TM{\,}M TMM 对任意给定的输入串 x x x 是否可停机的问题是不可判定的

(任意给定的图灵机和输入串都可以变为 M ♯ x M{\sharp}x Mx 这样的输入串;如果这个问题可判定,那么存在一个完全图灵机 K K K 可以在 M M M 可停机时接受这样的输入串,不可停机时拒绝这样的输入串,由此推出矛盾;有点搞的是在 M x M_x Mx 上跑字符串 x x x ,而表示成10序列二者是相同的,即 M x = x M_x=x Mx=x

P.S.:停机问题简记为 H P HP HP

Th 8.6 任意给定的 T M   M TM{\,}M TMM 对任意给定的输入串 x x x M M M 是否接受 x x x 的问题 (即 x x x 是否属于 L ( M ) L(M) L(M) )是不可判定的

(借助 Th 8.5,假设有一个可以判断 M M M 是否接受 x x x 的完全图灵机 K K K ,它接受 M % x M\%x M%x ;再构造一个图灵机 N N N ,它可以将 M ♯ x M{\sharp}x Mx 作为输入,判断 M M M 在输入 x x x 的情况下是否可停机;则将 N % M ♯ x N\%M{\sharp}x N%Mx 输入至 K K K ;乐.jpg)

总结

图灵机的停机问题和成员资格判定问题是不可判定的

8.3 归约方法和Rice定理

Th 8.7 给定一个 T M   M TM {\,} M TMM ,它是否接受空串 ε \varepsilon ε 的问题是不可判定的

(与Th 8.6 的证明过程类似:对于某一具体的 M % x M\%x M%x ,构造一个 T M   M ′ TM{\,}M' TMM ;对于任何输入, M ’ M’ M 首先抹去所有输入,接着模拟 M M M 上执行 x x x M ′ M' M M M M 停机时接受;则 M M M x x x 上是否停机      ⟺      {\,}{\iff}{\,} L ( M ′ ) L(M') L(M) Σ ∗ {\Sigma^*} Σ 还是 ϕ {\phi} ϕ      ⟺      M ′ {\,}{\iff}{\,}{M'} M 是否接受 ε {\varepsilon} ε

Def 8.1 归约

  • σ \sigma σ 是个函数, σ : Δ ∗ → Σ ∗ {\sigma}:{\Delta^{\ast}}{\rightarrow}{\Sigma^{\ast}} σ:ΔΣ Δ {\Delta} Δ Σ {\Sigma} Σ 是字母表
  • A A A B B B 是某个语言集合,其中 A ⊆ Δ ∗ A{\subseteq}{\Delta^{\ast}} AΔ B ⊆ Σ ∗ B{\subseteq}{\Sigma^{\ast}} BΣ ,且有 x   ∈   A x{\,}{\in}{\,}A xA 时, σ ( x )   ∈   B {\sigma}(x){\,}{\in}{\,}B σ(x)B
  • 归约记作 A ≤ m B A{\leq}_mB AmB,下标m代表多对一的映射(即一般函数)

注意:只要求 σ {\sigma} σ 是个函数,而不一定是双射;但必须有效可计算,就是说存在某个完全图灵机,以 A A A 中某个元素为输入,最后带上得到 σ ( a ) {\sigma}(a) σ(a),且 σ ( a )   ∈   B {\sigma}(a){\,}{\in}{\,}B σ(a)B

Th 8.8:若 A ≤ m B A{\leq}_mB AmB ,则下面几条成立:( r . e . r.e. r.e. 是递归可枚举集)
  • B B B r . e . r.e. r.e. ,则 A A A 也是 r . e . r.e. r.e. A A A 不是 r . e . r.e. r.e. ,则 B B B 也不是 r . e . r.e. r.e.
  • B B B 是 递归集 ,则 A A A 也是 递归集 ; A A A 不是 递归集 ,则 B B B 也不是 递归集;

(可以归纳为 B B B r . e . r.e. r.e. → {\rightarrow} A A A r . e . r.e. r.e. B B B 是 递归集 → {\rightarrow} A A A 是 递归集 ;)

证明

① 若 T M   N TM{\,}N TMN 可以接受 B B B ,则构造 T M   N ′ TM{\,}N' TMN ,先将输入 x x x 计算为 σ ( x ) {\sigma}(x) σ(x),再模拟 N N N 的动作;显然将 x x x 计算为 σ ( x ) {\sigma}(x) σ(x) 是肯定可以在有限步内完成的,所以 A A A 也是递归可枚举集;

② 由归约的定义可知,同样有 A ‾ ≤ m B ‾ \overline{A}{\leq}_m\overline{B} AmB ,当 B B B 是递归集时,由 Th 8.4 得, B B B B ‾ \overline{B} B 都是 r . e . r.e. r.e. ,那么由 Th 8.8 的第一条得, A A A A ‾ \overline{A} A 也都是 r . e . r.e. r.e. ,则 A A A 也是递归集;

Ex 8.2 F I N = { M   ∣   L ( M ) FIN=\{M{\,}|{\,}L(M) FIN={ML(M) 是有穷的 } \} } 不是 r . e . r.e. r.e. F I N ‾ \overline{FIN} FIN 也不是 r . e . r.e. r.e.

(这个定理是说 T M TM TM 是否接受有穷集是不可判定的,是否接受无穷集也是不可判定的)

T M TM TM 是否接受有穷集不可判定:要从不可停机归约到接受有穷集;对于任意输入 y y y ,抹去输入,然后模拟判定停机问题的图灵机:可停机 → \to 接受全集,不可停机 → \to 接受空集)

T M TM TM 是否接受无穷集不可判定:要从不可停机归约到接受无穷集;对于任意输入 y y y ,模拟判定停机问题的图灵机,只运行 ∣ y ∣ |y| y 步:可停机 → \to 接受有穷集,不可停机 → \to 接受全集)

(证明太长了。。。要注意一个问题, M ′ M' M M ′ ′ M'' M 停不停机没有关系,因为归约的定义中需要是完全的那个图灵机并不是 M ′ M' M M ′ ′ M'' M ,而是接受 M ♯ x M\sharp x Mx 输出 M ′ M' M M ′ ′ M'' M 的图灵机)

Th 8.9 (Rice定理) r . e . r.e. r.e. 集合类的任何一个非平凡性质都是不可判定的

(这个定理是在说,对于某个性质 P P P ,若存在 T M   M 1 ,   M 2 TM{\,}M_1,{\,}M_2 TMM1,M2 L ( M 1 ) L(M_1) L(M1) 满足性质 P P P L ( M 2 ) L(M_2) L(M2) 不满足性质 P P P ,则任意一个 T M   N TM{\,}N TMN 是否满足 P P P 是不可判定的)

(我们说某个 r . e . r.e. r.e. 具有某个性质 P P P ,是说某 T M TM TM 所接受的集合是否具有性质 P P P ,甚至可以直接说某 T M TM TM 是否具有性质 P P P

举一反三,以下均不可判定:

  • 一个给定的 T M TM TM 是否接受 ε \varepsilon ε
  • 一个给定的 T M TM TM 是否接受有穷集
  • 一个给定的 T M TM TM 是否接受全集 Σ ∗ \Sigma^* Σ
  • 一个给定的 T M TM TM 是否接受 C F L CFL CFL
  • 一个给定的 T M TM TM 是否接受递归集

8.4 关于CLF的不可判定的问题

Def 8.3 有效计算历史

给定 T M   M TM{\,}M TMM 和输入串 x x x M M M x x x 上的 有效计算历史 V A L C O M P H ( M , x ) VALCOMPH(M,x) VALCOMPH(M,x) 是如下形式的串:
♯ a 0 ♯ a 1 R ♯ a 2 ♯ a 3 R ♯ . . . ♯ a N ♯ \sharp a_0 \sharp a_1^R \sharp a_2 \sharp a_3^R \sharp ... \sharp a_N \sharp a0a1Ra2a3R...aN
其中 a i ( i = 0 , 1 , . . . , N ) a_i(i=0,1,...,N) ai(i=0,1,...,N) 都是 M M M x x x 上的瞬时描述 I D i ID_i IDi a N a_N aN M M M x x x 上达到接受状态 t t t 或拒绝状态 r r r 是的瞬时描述

  • M M M x x x 上停机,不论接受或拒绝,都有有效计算历史 V A L C O M P H VALCOMPH VALCOMPH
  • M M M x x x 上不停机,则 V A L C O M P H ( M , x ) = ϕ VALCOMPH(M,x)={\phi} VALCOMPH(M,x)=ϕ

Def 无效计算集合:设 Δ = Γ ∪ Q ∪ { ♯ } {\Delta}={\Gamma}{\cup}Q{\cup}\{\sharp \} Δ=ΓQ{} ,则将 V A L C O M P H ( M , x ) VALCOMPH(M,x) VALCOMPH(M,x) 关于 Δ ∗ \Delta^* Δ 的补集记为 I N V A L C O M P H ( M , x ) INVALCOMPH(M,x) INVALCOMPH(M,x) ,称之为 无效计算集合

Th 8.10 给定 TM M 和输入串 x ,其无效计算集合 I N V A L C O M P H ( M , x ) INVALCOMPH(M,x) INVALCOMPH(M,x) 为 CFL

(之所以将奇数位的瞬时描述反转,是因为根据栈的性质可以对消)

Th 8.11 给定的 C F G CFG CFG G = ( V , T , P , S ) G=(V, T, P, S) G=(V,T,P,S) L ( G ) = T ∗ L(G)=T^{\ast} L(G)=T 是否成立是不可判定的

(已知 I N V A L C O M P H INVALCOMPH INVALCOMPH 是 CFL,其是否为全集代表者该 TM 是否接受空集,而 TM 是否接受空集是不可判定的)

Th 8.12 G 1 G_1 G1 G 2 G_2 G2 是两个 CFG, R R R 是一个正规集,则下述问题是不可判定的:
  • L ( G 1 ) = L ( G 2 ) L(G_1)=L(G_2) L(G1)=L(G2)
  • L ( G 2 ) ⊆ L ( G 1 ) L(G_2)\subseteq L(G_1) L(G2)L(G1)
  • L ( G 1 ) = R L(G_1)=R L(G1)=R
  • R ⊆ L ( G 1 ) R\subseteq L(G_1) RL(G1)

(取 L ( G 2 ) L(G_2) L(G2) 为全集,由 Th 8.11 可得)(取 R R R 为全集,由 Th 8.11 可得)

Def 可接受计算集合:给出 TM M M M ,关于 M M M 的可接受计算集合记作 A C C O M P S ( M ) ACCOMPS(M) ACCOMPS(M) ,定义为:
A C C O M P S ( M ) = { V A L C O M P H ( M , x ) ∣ x ∈ L ( M ) } ACCOMPS(M)=\{VALCOMPH(M,x)|x\in L(M)\} ACCOMPS(M)={VALCOMPH(M,x)xL(M)}
(就是有效计算历史中被图灵机接受的那部分,也就是停机中接受的那部分)

Th 8.13 给定 TM M M M ,其可接受计算集合 A C C O M P S ( M ) ACCOMPS(M) ACCOMPS(M) 是两个 CFL 的交集; A C C O M P S ( M ) ACCOMPS(M) ACCOMPS(M) 的补集是一个 CFL;

(记住就好;两个 CFL 的交集就像是后边复杂性介绍格局的时候一样,需要满足两个 CFG 的条件)

Th 8.14 设 TM M M M 对每个输入至少能做两个动作,则 L ( M ) L(M) L(M) 有穷当且仅当 A C C O M P S ( M ) ACCOMPS(M) ACCOMPS(M) 是个 CFL

(记住就好;至少做两个动作是为了使用 Ogden 定理)

Th 8.15 对任意给定的 CFG G 1 G_1 G1 G 2 G_2 G2 ,下述问题是不可判定的:
  • L ( G 1 ) L(G_1) L(G1) 的补集是一个 CFL
  • L ( G 1 ) ∩ L ( G 2 ) L(G_1)\cap L(G_2) L(G1)L(G2) 是一个 CFL

(已知 A C C O M P S ( M ) ACCOMPS(M) ACCOMPS(M) 的补集是个 CFL,那么它自身是否为 CFL 等价于该图灵机接受的语言 L ( M ) L(M) L(M) 是否有穷, 而 L ( M ) L(M) L(M) 是否有穷是不可判定的)

(已知 A C C O M P S ( M ) ACCOMPS(M) ACCOMPS(M) 是两个 CFL 的交集,那么它是否为 CFL 等价于该图灵机接受的语言 L ( M ) L(M) L(M) 是否有穷, 而 L ( M ) L(M) L(M) 是否有穷是不可判定的)

( CFL 对补运算和交运算是不封闭的)

Th 8.16 对任意给定的 CFG G 1 G_1 G1 G 2 G_2 G2 L ( G 1 ) ∩ L ( G 2 ) L(G_1)\cap L(G_2) L(G1)L(G2) 是否为空集是不可判定的

(已知 A C C O M P S ( M ) ACCOMPS(M) ACCOMPS(M) 是两个 CFL 的交集,那么它是否为空集等价于该图灵机接受的语言 L ( M ) L(M) L(M) 是否为空集,而 L ( M ) L(M) L(M) 是否为空集是不可判定的)

8.5 Post 对应问题的不可判定性及其应用

Def Post 对应问题(PCP):给定统一字母表上的两个字符串表 A A A B B B
A = w 1 , w 2 , . . . , w n B = x 1 , x 2 , . . . , x n A=w_1,w_2,...,w_n\\ B=x_1,x_2,...,x_n A=w1,w2,...,wnB=x1,x2,...,xn
若存在一组整数 i 1 , i 2 , . . . , i m ( 1 ≤ i j ≤ n , 1 ≤ j ≤ m ) i_1,i_2,...,i_m(1\le i_j\le n,1\le j\le m) i1,i2,...,im(1ijn,1jm) ,使得:
w i 1 w i 2 . . . w i m = x i 1 x i 2 . . . x i m w_{i_1}w_{i_2}...w_{i_m}=x_{i_1}x_{i_2}...x_{i_m} wi1wi2...wim=xi1xi2...xim
则称该 PCP 问题有解

(即按一定顺序选择表中的某行,最终拼接起来的字符串相等)

Def PCP 的修正型(MPCP):在 PCP 问题中增加限制: i 1 = 1 i_1=1 i1=1 (即取的第一个字符串必须是第一行的字符串)

Th 8.17 若 PCP 问题是可判定的,则 MPCP 问题是可判定的

(将 MPCP 问题归约到 PCP 问题;对于某个 MPCP 问题,将每个字符串的字符之间各插入一个特殊字符,通过对特殊字符位置的特殊处理使得 PCP 问题也必须以第一行开头)
在这里插入图片描述

Th 8.18 PCP 是不可判定的

(将 TM M M M 对于任意输入 x x x 是都接受问题归约到 PCP;构造如图所示表格(表格不全,看个大概意思),B 列是 A 列的下一步;若 M M M 能接受 x x x ,相当于 PCP 问题有解;而这个问题是不可判定的,所以 PCP 也是不可判定的)
在这里插入图片描述

Th 8.19 一个任意给定的 CFG G G G 是否多义是不可判定的

(把 CFG 的派生过程看作是从 PCP 的表格中选取不同的顺序,按不同方式选取最终可以得到相同的字符串,即按不同方式派生可以得到相同的字符串(namely 多义);而 PCP 是不可判定的,因此任意 CFG 是否多义是不可判定的)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Air浩瀚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值