计算性和复杂度理论2

本文主要是关于图灵可确定,不可确定问题和半确定问题等
本文中可判定或不可判定也翻译为可决定(确定),不可决定(确定),这里我统一用可判定与不可判定

预备知识

可数与不可数集合

可数集合

可数集合:一个集合 M M M称为可数的,当 M M M是空的,或者当有一个满射的函数 c : N → M c:\mathbb{N}\rightarrow M c:NM存在

  1. 每一个可数集合的元素都可以被枚举出来
  2. 每一个有限集合都是可数的
  3. 对于一个可数的无限集合都存在一个双射函数 c : N → M c:\mathbb{N}\rightarrow M c:NM
  4. 所有可数的无限集合和自然数集合 N \mathbb{N} N等势

可数集合举例:

  1. 有限字母集合 Σ \Sigma Σ所有构成的词的集合 Σ ∗ \Sigma^* Σ,例如: { 0 , 1 } ∗ \{0,1\}^* { 0,1}在卡农顺序下可以枚举为:

ϵ , 0 , 1 , 00 , 01 , 10 , 11 , 000 , 001 , 010 , 011 , 100 , 101 , . . . \epsilon,0,1,00,01,10,11,000,001,010,011,100,101,... ϵ,0,1,00,01,10,11,000,001,010,011,100,101,...

  1. 哥德尔数Gödelnummer的集合。因为Gödelnummer的词是关于字母集{0,1}的
  2. 所有图灵机的集合。因为每个图灵机都可以通过一个Gödelnummer表示

符号

对于二维字母集合 Σ = { 0 , 1 } \Sigma=\{0,1\} Σ={ 0,1}我们将在卡农顺序下的第i个词表示为 w i w_i wi

对于第i个卡农顺序下的图灵机Gödelnummer我们记为 M i M_i Mi

不可数聚合

定理:自然数集的幂集 P ( N ) \mathcal{P}(\mathbb{N}) P(N)是不可数的
证明:反证法
  1. 假设 P ( N ) \mathcal{P}(\mathbb{N}) P(N)是可数的

  2. 那么令 S 0 , S 1 , S 2 , S 3 , . . . S_0,S_1,S_2,S_3,... S0,S1,S2,S3,...为一个 P ( N ) \mathcal{P}(\mathbb{N}) P(N)的枚举

  3. 我们定义一个二维无限的邻接矩阵 ( A i , j ) i , j ∈ N (A_{i,j})_{i,j\in \mathbb{N}} (Ai,j)i,jN

A i , j = { 1 如 果 j ∈ S i 0 其 他 A_{i,j}= \begin{cases} 1& \quad 如果j\in S_i\\ 0& \quad 其他 \end{cases} Ai,j={ 10jSi

在这里插入图片描述

上述两行分别定义对角线集合 S d i a g S_{diag} Sdiag和其补集 S ˉ d i a g \bar S_{diag} Sˉdiag

注:对角线集合 S d i a g S_{diag} Sdiag和其补集 S ˉ d i a g \bar S_{diag} Sˉdiag都是自然数集合的子集,因此在 P ( N ) \mathcal{P}(\mathbb{N}) P(N)存在一个元素 S k , k ∈ N S_k,k\in\mathbb{N} Sk,kN使得 S ˉ d i a g = S k \bar S_{diag} = S_k Sˉdiag=Sk

现在有两种情况,都可以导致矛盾:

第 一 种 情 况 : A k , k = 1 ⇒ D e f . S ˉ d i a g k ∉ S ˉ d i a g ⇒ k ∉ S k ⇒ D e f . A A k , k = 0 第一种情况: A_{k,k} = 1\overset{Def. \bar S_{diag}}\Rightarrow k\notin \bar S_{diag} \Rightarrow k\notin S_k \overset{Def. A}\Rightarrow A_{k,k}=0 Ak,k=1Def.Sˉdiagk/Sˉdiagk/SkDef.AAk,k=0
第 二 种 情 况 : A k , k = 0 ⇒ D e f . S ˉ d i a g k ∈ S ˉ d i a g ⇒ k ∈ S k ⇒ D e f . A A k , k = 1 第二种情况: A_{k,k} = 0\overset{Def. \bar S_{diag}}\Rightarrow k\in \bar S_{diag} \Rightarrow k\in S_k \overset{Def. A}\Rightarrow A_{k,k}=1 Ak,k=0Def.SˉdiagkSˉdiagkSkDef.AAk,k=1

所以不存在 P ( N ) \mathcal{P}(\mathbb{N}) P(N)的枚举,因此不可数

不可判定问题

对角线语言

定义: D = { w ∈ { 0 , 1 } ∗ ∣ w = w i 且 M i 不 接 受 w } D=\{w\in\{0,1\}^*|w=w_i且M_i不接受w\} D={ w{ 0,1}w=wiMiw}

换句话说:第i个词 w i w_i wi(卡农顺序下对于 { 0 , 1 } ∗ \{0,1\}^* { 0,1})在对角线语言D中,当且仅当第i个图灵机 M i M_i Mi(在卡农顺序下的Gödelnummer)不接受这个词 w i w_i wi

:这里图灵机 M i M_i Mi不接受 w w w有两种情况:1.图灵机 M i M_i Mi拒绝了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值