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

预备知识

可数与不可数集合

可数集合

可数集合:一个集合 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

计算性和复杂度理论2

上述两行分别定义对角线集合 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拒绝了 w w w;2.图灵机 M i M_i Mi对于输入 w w w不停

计算性和复杂度理论2

定理:对角线语言 D D D是不可确定的

证明:反证法

假设对角线语言D是可确定的,则存在一个 M j M_j Mj,可以确定D

计算性和复杂度理论2

对角线语言补集的不可确定性

相似的,对角线补集的定义为 D ˉ = { w ∈ { 0 , 1 } ∗ ∣ w = w i 且 M i 接 受 w } \bar D=\{w\in\{0,1\}^*|w=w_i且M_i接受w\} Dˉ={w{0,1}w=wiMiw}

定理:对角线语言补集 D ˉ \bar D Dˉ是不可确定的

证明:反证法

假设 D ˉ \bar D Dˉ是可确定的,那么存在一个图灵机 M D ˉ M_{\bar D} MDˉ,确定 D ˉ \bar D Dˉ。可以用图灵机 M D ˉ M_{\bar D} MDˉ构造出可确定对角线语言 D D D的图灵机 M D M_D MD,造成矛盾。

如下构造:
计算性和复杂度理论2

子程序技术

上面的这个证明过程就用到了子程序技术

其具体方法为:

已经有一个被证明是不可确定的语言L’,要求证一个新的语言L不可确定,只要构造运用一个子程序图灵机 M L M_L ML(其课确定语言L)的图灵机也可以确定语言L’

观察

当一个语言 L ⊆ { 0 , 1 } ∗ L\subseteq\{0,1\}^* L{0,1}不可确定时,那么他的补集也不可确定

同样的当一个语言 L ⊆ { 0 , 1 } ∗ L\subseteq\{0,1\}^* L{0,1}可确定时,那么他的补集也可确定

停机问题

定义: H = { < M > w ∣ M 在 输 入 为 w 的 时 候 能 停 } H = \{<M>w|M在输入为w的时候能停\} H={<M>wMw}

注:停机问题是所有图灵机Gödelnummer < M > <M> <M>加上能使他停的词 w w w的集合

定理:停机问题H是不可确定的

证明:子程序

计算性和复杂度理论2

  1. 1号子程序根据输入w在卡农顺序下的下标i(也就是找到 w i = w w_i = w wi=w),然后根据下标i得到 M i M_i Mi的Gödelnummer
  2. < M i > w i <M_i>w_i <Mi>wi作为输入进入2号子程序 M H M_H MH,如果 M i M_i Mi在w_i处不停机则拒绝,如果停机则接受进入3号子程序。(因为 M H M_H MH接受 < M i > w i <M_i>w_i <Mi>wi只是说明 M i M_i Mi在输入 w i w_i wi处停了,接受或拒绝未知,而对于对角线语言补集是只要求能被 M i M_i Mi接受的语言)
  3. 3号子程序通用图灵机模拟 M i M_i Mi对于输入 w i w_i wi的运行过程。(因为 M H M_H MH接受 < M i > w i <M_i>w_i <Mi>wi,所以 M i M_i Mi对于输入 w i w_i wi会停,当 M i M_i Mi接受 w i w_i wi时,通用图灵机 U U U也会接受,反过来也一样)

正确性证明

需要证明:

  1. w ∈ D ˉ ⇒ M D ˉ 接 受 w w \in \bar D \Rightarrow M_{\bar D} 接受w wDˉMDˉw
  2. w ∉ D ˉ ⇒ M D ˉ 拒 绝 w w \notin \bar D \Rightarrow M_{\bar D} 拒绝w w/DˉMDˉw
    计算性和复杂度理论2

ϵ \epsilon ϵ-停机问题

定义: H ϵ = { < M > w ∣ M 在 输 入 为 ϵ 的 时 候 能 停 } H_\epsilon = \{<M>w|M在输入为\epsilon的时候能停\} Hϵ={<M>wMϵ}

定理: ϵ \epsilon ϵ-停机问题 H ϵ H_\epsilon Hϵ是不可确定的

证明:子程序技术

计算性和复杂度理论2

  1. 首先判断输入是否是以正确的Gödelnummer开始的,如果不是,则直接拒绝

  2. 如果输入格式正确,则用该输入构造一个新的图灵机Gödelnummer < M w ∗ > <M^*_w> <Mw>,该图灵机有以下特征:

    1)如果 M w ∗ M^*_w Mw含有输入 ϵ \epsilon ϵ,那么在运行时,它先将词w写在带子上,之后模拟图灵机M在输入为w的行为(这里是使得w在M上停等价于下面 M ϵ M_\epsilon Mϵ接受 M w ∗ M^*_w Mw,反之w在M上不停就不接受)

    2)如果输入不是 ϵ \epsilon ϵ,那么就无所谓 M w ∗ M^*_w Mw的行为(因为证明里不需要)。我们可以设定, M w ∗ M^*_w Mw会进入无限循环,也就是不停

  3. 最后将Gödelnummer < M w ∗ > <M^*_w> <Mw>作为输入进入图灵机 M ϵ M_\epsilon Mϵ,然后整个 M H M_H MH输出接受,当且仅当 M ϵ M_\epsilon Mϵ接受

正确性证明:

首先如果输入不符合 < M > w <M>w <M>w这个形式的, M H M_H MH直接拒绝,下面,当输入符合 < M > w <M>w <M>w形式,则需要证明:

< M > w ∈ H ⇒ M H 接 受 < M > w <M>w\in H \quad \Rightarrow \quad M_H 接受<M>w <M>wHMH<M>w

< M > w ∉ H ⇒ M H 拒 绝 < M > w <M>w\notin H \quad \Rightarrow \quad M_H 拒绝<M>w <M>w/HMH<M>w

计算性和复杂度理论2

莱斯定理

由图灵机计算的偏分方程具有以下形式:

f M : { 0 , 1 } ∗ → { 0 , 1 } ∗ ∪ { ⊥ } f_M:\{0,1\}^*\rightarrow \{0,1\}^*\cup\{\bot\} fM:{0,1}{0,1}{}

对于确定问题有以下形式:

f M : { 0 , 1 } ∗ → { 0 , 1 , ⊥ } f_M:\{0,1\}^*\rightarrow \{0,1,\bot\} fM:{0,1}{0,1,}

其中0表示拒绝,1表示接受, ⊥ \bot 表示不停

定理内容:

R \mathcal{R} R是由图灵机计算的所有偏分方程的集合。

S \mathcal{S} S R \mathcal{R} R的一个子集,且有 ∅ ⊂ S ⊂ R , S ≠ ∅ , S ≠ R \varnothing\subset \mathcal{S}\subset \mathcal{R},\mathcal{S}\ne\varnothing,\mathcal{S}\ne\mathcal{R} SR,S=,S=R

则语言 L ( S ) = { < M > ∣   M 计 算 一 个 来 自 于 S 的 函 数 } L(\mathcal{S}) =\{<M>|\ M 计算一个来自于\mathcal{S}的函数\} L(S)={<M> MS}是不可确定的

注:莱斯定理只针对于计算函数的图灵机哥德尔编码,不涉及到图灵机的运行时间,运行内容

证明: M L ( S ) M_{L(\mathcal{S})} ML(S)作为 M ϵ M_\epsilon Mϵ的子程序

计算性和复杂度理论2

令u为一般的未定义的函数 u ( w ) ≡ ⊥ u(w)\equiv \bot u(w)

u ∉ S u\notin \mathcal{S} u/S

令f是 S \mathcal{S} S里的一个函数

令N是一个计算f的图灵机

  1. 如果输入不是由正确的Gödelnummer组成, M ϵ M_\epsilon Mϵ则拒绝这个输入

  2. 否则, M ϵ M_\epsilon Mϵ则从输入 < M > <M> <M>中计算图灵机 M ∗ M^* M的Gödelnummer:

    输入x在 M ∗ M^* M上的行为如下:

    1)首先 M ∗ M^* M在一个事先设计好的路径(Spur)上模拟图灵机M在输入为 ϵ \epsilon ϵ时的行为(如果M不停机,那么 M ∗ M^* M就也不停机,那也就是计算的是 u ( w ) ≡ ⊥ u(w)\equiv \bot uw,那么在之后 M L ( S ) M_{L(\mathcal{S})} ML(S)肯定会输出拒绝)

    2)之后 M ∗ M^* M模拟图灵机N在输入为x的行为。一旦N停下来,那么 M ∗ M^* M也就停下来,并且将N的输出作为 M ∗ M^* M的输出。(这里指当输入 ϵ \epsilon ϵ在M上停机了,那么运行N,输入为x,输出自然就是f(x))

  3. 最后将 < M ∗ > <M^*> <M>作为输入进入图灵机 M L ( S ) M_{L(\mathcal{S})} ML(S)中。我们接受当且仅当 M L ( S ) M_{L(\mathcal{S})} ML(S)接受。

正确性证明:

计算性和复杂度理论2

封闭性

当语言L是可确定的,那么它的补集 Σ ∗ − L \Sigma^*-L ΣL也是可确定的

当两个语言 L 1 L_1 L1 L 2 L_2 L2是可确定的,则

  1. L 1 ∩ L 2 L_1\cap L_2 L1L2可确定
  2. L 1 ∪ L 2 L1\cup L_2 L1L2可确定

可确定的语言集合在交并补下面是封闭的

递归可枚举性与归约

一个语言L被一个图灵机M所确定,当

  1. 对于任何一个输入M都会停
  2. M只接受来自于L里的词

一个语言L会被一个图灵机所识别,当

  1. M接受所有来自于L里的词
  2. M不接受任何一个不是L里的词

当存在一个图灵机,其可以识别L,那么则称这个语言L是半可确定的(semi-entscheidbar)

递归可枚举性

一个枚举器对于一个语言 L ⊆ Σ ∗ L\subseteq\Sigma^* LΣ是一个图灵机的变种,其连接着一个打印机

这个打印机是一个额外的输出带,读取头只能在这个带上向右移动且只能进行写操作。

  1. 枚举器会由空的工作带开始,并且随着时间会输出来自于L里的所有单词到打印机上
  2. 输出的词会被一个不来自于 Σ \Sigma Σ分隔符分开
  3. 枚举器只打印来自于L里的单词

定义:当一个语言L有一个枚举器时,则称L是递归可枚举的

定理:一个语言L是递归可枚举的,当且仅当L是半可确定的

证明:

递归可枚举 → \rightarrow 半可确定

假设L是递归可枚举的且A为其枚举器。如下方式构造一个图灵机M,使其识别语言L:

  • 在一条带上模拟这个枚举器A,并把结果输出到带子上(就是接管了打印机的功能)

  • 每当有一个单词在带子上打印出来之后,图灵机M就比较这个单词和w,并且当相等时u,输出接受。

正确性:

  • w ∈ L w\in L wL,则在某一时刻, w w w必然会被打印出来,那么这时候M会输出接受

  • w ∉ L w\notin L w/L,则w永远都不会被打印出来,M就会不停也就不会输出接受

半可确定 → \rightarrow 递归可枚举

假设L是半可确定的且被图灵机M所识别。如下方式构造一个枚举器A给语言L:

注:因为目的是要将能被图灵机M接受的词输出打印出来,但是对于某些词,M可能无限不停机。因此我们模拟是只运行固定步骤,然后采用多轮次进行模拟,每轮多模拟一个词,这样就解决了无限多个词语无限多步的冲突

计算性和复杂度理论2

在第k轮里(k=1,2,3,…)

  • 枚举器A用图灵机M模拟 w 1 , w 2 , . . . , w k w_1,w_2,...,w_k w1,w2,...,wk中每个词,并且每个词只运行k步

  • 在模拟过程中每当M接受了某个词,那么枚举器A就会把这个词打印出来

正确性:

很明显,构造出来的这个枚举器只接受来自于L的词。那么需要证明该枚举器是否能打印出所有来自L里的单词。

  • w i w_i wi是语言L中的一个单词。那么 w i w_i wi会被图灵机M在有限步骤 t i t_i ti时接受
  • 所以,k轮过后( k ≥ m a x { i , t i } k\ge \mathbb{max}\{i,t_i\} kmax{i,ti}), w i w_i wi在每一轮都会被打印出来

封闭性

当两个语言 L 1 L_1 L1 L 2 L_2 L2是递归可枚举的,则

  1. L 1 ∩ L 2 L_1\cap L_2 L1L2递归可枚举
  2. L 1 ∪ L 2 L1\cup L_2 L1L2递归可枚举

引理:

当一个语言 L ⊆ Σ ∗ L\subseteq\Sigma^* LΣ和其补集 L ˉ : = Σ ∗ − L \bar L:=\Sigma^*-L Lˉ:=ΣL都是递归可枚举时,则 L L L是可确定的

用子程序技术即可证明这个引理

H ˉ \bar H Hˉ H ˉ ϵ \bar H_\epsilon Hˉϵ不是递归可枚举的

证:因为停机问题H是递归可枚举的,当 H ˉ \bar H Hˉ也是递归可枚举的,则根据上述引理可推出停机问题是可确定的。然而事实是停机问题不可确定,所以 H ˉ \bar H Hˉ不是递归可枚举的。

同理 H ˉ ϵ \bar H_\epsilon Hˉϵ不是递归可枚举的。

可计算性语言分类

观察:每一个语言L都属于以下四个类别里中的一个

  1. L可确定的(L和 L ˉ \bar L Lˉ都是递归可枚举的)
  2. L L L是递归可枚举的,而 L ˉ \bar L Lˉ不是
  3. L ˉ \bar L Lˉ是递归可枚举的,而 L L L不是
  4. L L L L ˉ \bar L Lˉ都不是递归可枚举的

计算性和复杂度理论2

归约

定义:令 L 1 L_1 L1 L 2 L_2 L2是两个关于字母集 Σ \Sigma Σ的语言。我们称 L 1 L_1 L1 L 2 L_2 L2上可归约的( L 1 ≤ L 2 L_1\le L_2 L1L2),当存在一个可计算的函数 f : Σ ∗ → Σ ∗ f: \Sigma^*\rightarrow \Sigma^* f:ΣΣ,使得对于所有的 x ∈ Σ ∗ x\in \Sigma^* xΣ满足: x ∈ L 1 ⇔ f ( x ) ∈ L 2 x\in L_1 \Leftrightarrow f(x)\in L_2 xL1f(x)L2.

x ∈ L 1 ⇒ f ( x ) ∈ L 2 ; x ∉ L 1 ⇒ f ( x ) ∉ L 2 x \in L_1 \Rightarrow f(x)\in L_2;x\notin L_1 \Rightarrow f(x)\notin L_2 xL1f(x)L2;x/L1f(x)/L2

计算性和复杂度理论2

定理:如果两个语言 L 1 ≤ L 2 L_1\le L_2 L1L2

  • L 2 L_2 L2可确定的 ⇒ \quad \Rightarrow \quad $ L_1$可确定的

  • L 2 L_2 L2递归可枚举的 ⇒ \quad \Rightarrow \quad L 1 L_1 L1递归可枚举的

  • L 1 L_1 L1不可确定的 ⇒ \quad \Rightarrow \quad $ L_2$不可确定的

  • L 1 L_1 L1不是递归可枚举的 ⇒ \quad \Rightarrow \quad L 2 L_2 L2不是递归可枚举的

使用子程序技术即可证明:

计算性和复杂度理论2

完全停机问题

定义: H t o t = { < M > ∣ M 在 每 一 个 输 入 都 会 停 } H_{tot} = \{<M>|M在每一个输入都会停\} Htot={<M>M}

就是 H t o t H_{tot} Htot里的图灵机不存在对于某个输入会不停

定理: H ˉ t o t \bar H_{tot} Hˉtot H t o t H_{tot} Htot都不是递归可枚举的

证明:

已知 H ˉ ϵ \bar H_\epsilon Hˉϵ不是递归可枚举的,那么需要证:

  • H ˉ ϵ ≤ H ˉ t o t \bar H_\epsilon \le \bar H_{tot} HˉϵHˉtot
  • H ˉ ϵ ≤ H t o t \bar H_\epsilon \le H_{tot} HˉϵHtot

H ˉ ϵ ≤ H ˉ t o t \bar H_\epsilon \le \bar H_{tot} HˉϵHˉtot

构造一个可计算的函数 f f f,使得对于 x ∈ Σ ∗ x\in \Sigma^* xΣ x ∈ H ˉ ϵ → f ( x ) ∈ H ˉ t o t ; x ∉ H ˉ ϵ → f ( x ) ∉ H ˉ t o t \quad x\in \bar H_\epsilon \rightarrow f(x)\in \bar H_{tot};\quad x\notin \bar H_\epsilon \rightarrow f(x)\notin \bar H_{tot} xHˉϵf(x)Hˉtot;x/Hˉϵf(x)/Hˉtot,构造方式如下:

w w w H ˉ ϵ \bar H_\epsilon Hˉϵ的一个输入

  • w w w不是哥德尔数时,直接令 f ( w ) = w f(w) = w f(w)=w

  • w = < M > w=<M> w=<M>对于一个图灵机M,则令 f ( w ) : = < M ϵ ∗ > f(w):=<M_\epsilon^*> f(w):=<Mϵ>是图灵机 M ϵ ∗ M_\epsilon^* Mϵ的哥德尔数,并且该图灵机有以下行为:

    M ϵ ∗ M_\epsilon^* Mϵ忽略它的输入直接模拟M在输入为 ϵ \epsilon ϵ时的行为

正确性证明:

  1. w ∈ H ˉ ϵ ⇒ f ( w ) ∈ H ˉ t o t w\in \bar H_\epsilon \Rightarrow f(w)\in \bar H_{tot} wHˉϵf(w)Hˉtot

  2. w ∉ H ˉ ϵ ⇒ f ( w ) ∉ H ˉ t o t w\notin \bar H_\epsilon \Rightarrow f(w)\notin \bar H_{tot} w/Hˉϵf(w)/Hˉtot

首先当w不是哥德尔数时,满足 w ∈ H ˉ ϵ w\in \bar H_\epsilon wHˉϵ f ( w ) ∈ H ˉ t o t f(w)\in \bar H_{tot} f(w)Hˉtot

w = < M > w=<M> w=<M>是一个图灵机的哥德尔数时,

计算性和复杂度理论2

计算性和复杂度理论2

H ˉ ϵ ≤ H t o t \bar H_\epsilon \le H_{tot} HˉϵHtot

构造一个可计算的函数 f f f,使得对于 x ∈ Σ ∗ x\in \Sigma^* xΣ x ∈ H ˉ ϵ → f ( x ) ∈ H t o t ; x ∉ H ˉ ϵ → f ( x ) ∉ H t o t \quad x\in \bar H_\epsilon \rightarrow f(x)\in H_{tot};\quad x\notin \bar H_\epsilon \rightarrow f(x)\notin H_{tot} xHˉϵf(x)Htot;x/Hˉϵf(x)/Htot,构造方式如下:

w w w H ˉ ϵ \bar H_\epsilon Hˉϵ的一个输入。令 w ′ w' w是来自于 H t o t H_{tot} Htot的任意一个输入。

  • 当w不是一个有效的哥德尔数时,令 f ( w ) = w ′ f(w) = w' f(w)=w

  • w = < M > w=<M> w=<M>是一个有效的哥德尔数时,则令 f ( w ) : = < M ′ > f(w):=<M'> f(w):=<M>,图灵机 M ′ M' M在长度为 l l l的输入x时如下运行:

    首先 M ′ M' M模拟在 l l l步骤内模拟输入 ϵ \epsilon ϵ在M上面的行为。当M在这 l l l步内停下来,那么 M ′ M' M就进入无线循环;否则M没有在这 l l l步内停下来则 M ′ M' M停止

正确性证明:

  1. w ∈ H ˉ ϵ ⇒ f ( w ) ∈ H t o t w\in \bar H_\epsilon \Rightarrow f(w)\in H_{tot} wHˉϵf(w)Htot

  2. w ∉ H ˉ ϵ ⇒ f ( w ) ∉ H t o t w\notin \bar H_\epsilon \Rightarrow f(w)\notin H_{tot} w/Hˉϵf(w)/Htot

首先当w不是哥德尔数时,满足 w ∈ H ˉ ϵ w\in \bar H_\epsilon wHˉϵ f ( w ) = w ′ ∈ H t o t f(w) = w'\in H_{tot} f(w)=wHtot

w = < M > w=<M> w=<M>是一个图灵机的哥德尔数时,

计算性和复杂度理论2
计算性和复杂度理论2

相关文章:

  • 2022-01-08
  • 2021-12-14
  • 2021-09-28
  • 2021-12-23
  • 2021-09-28
猜你喜欢
  • 2021-05-21
  • 2021-09-13
  • 2021-12-28
  • 2021-10-17
  • 2021-07-29
  • 2021-11-29
相关资源
相似解决方案