从计算复杂度往上往前(和两个没什么卵用的定理)

在P和NP出现之前计算复杂性是怎么度量的?

SPACE(f(n)),TIME(f(n))……这是在Scott Aaronson在《Quantum Computing Since Democritus》中PaleoComplexity一章里面所给出的答案。再翻翻其它的书,我们会得到的答案是,P=DTIME(n^c)。EXP=DTIME(2^(n^c))。(DTIME的意思是对于确定性图灵机的时间,Deterministic)NP的定义是“被非确定图灵机(Non-Deterministic)在多项式时间内解决的问题”,所以是NTIME(n^c)。

所以这真的就是Complexity的源头嘛?所谓的PaleoComplexity真的是PaleoComplexity嘛?所以Complexity和Recursion Theory之间的关系究竟是什么呢?

这篇文章很短,因为我打字的速度比我看书的速度要慢很多,所以我想偷懒(逃)不想写那么多;以及深觉文笔乏力,光看着一堆证明过程就已经觉得很爽很发光。

怀着很憋屈又很尊敬的心情去读书,书中的定理自然是不止那么多,很想安利人来入坑,对,这篇文章是一篇很憋屈很憋屈的安利文_(:з」∠)_

--------

Blum公理计算复杂性的尺度

\{\varphi_i\} 是所有的递归函数(以及mu是一个摹状词)的枚举,其中i是第i个递归函数所对应的编号(对应到图灵机上就是哥德尔编号i所对应的图灵机), \{\Phi_i\} 是一组递归函数的序列。称 \Phi 是计算复杂性的尺度(意味着计算复杂性尺度也是一个函数),当且仅当以下两个条件被满足:

  1. \varphi_i(x) 有值当且仅当 \Phi_i(x) 有值;
  2. 特征函数K是一个完全递归函数: K(i, x, y) = \begin{equation} \left\{ \begin{array}{lr} 1 & \Phi_i(x) = y,\\ 0 & otherwise(例如无定义) \end{array} \right. \end{equation}

所以来看看所谓的时间复杂度是怎么对应上来的嘛?

T_i(x) = \begin{equation} \left\{ \begin{array}{lr} y & 多带图灵机\varphi_i(x)有值且计算步数为y,\\ undefined & otherwise \end{array} \right. \end{equation}

Multitape Turing Machineen.wikipedia.org
(问:证明这个“尺度”是一个完全递归函数。如果追求更完整的话,证明存在一个K与这个尺度对应)
(Extra Credit:证明量子计算机的时间复杂度类是存在合法尺度的)

那么空间复杂度呢?

T_i(x) = \begin{equation} \left\{ \begin{array}{lr} y & 脱线图灵机\varphi_i(x)有值且工作区使用的格子数为y,\\ undefined & otherwise \end{array} \right. \end{equation}

(问:同上)

计算复杂度尺度的一些性质

为什么“如果计算不会太复杂的话,函数的值就不会太大”

定理:存在完全递归函数h,使得 \forall i \ h(x, \Phi_i(x) \ge \varphi_i(x))\ a.e.(almost\ everywhere)

证明:令

H(i, x, y) = \begin{equation} \left\{ \begin{array}{lr} \varphi_i(x) & \Phi_i(x) = y\\ 1 & otherwise \end{array} \right. \end{equation}

又令

h(x, y) = \mathop{max}_{i \le x}H(i, x, y)

则按照原始递归函数的定义,这两个函数都是完全递归函数。令 x \ge i\varphi_i(x) 有值,则 h(x, \Phi_i(x)) \ge H(i, x, \Phi_i(x)) = \varphi_i(x)

为什么“一个算法可以有任意复杂(而非简单)的算法”

定理:f、h为两个完全递归函数。则存在f的号码(如哥德尔编号或者康托尔的配对编号)使得 \Phi_j(x) \ge h(x) 。f的号码的意思是计算函数f的图灵机。

证明:令

g(i, x) = \begin{equation} \left\{ \begin{array}{lr} f(x) & \Phi_i(x) > h(x)\\ 1 + \varphi_i(x) & otherwise \end{array} \right. \end{equation}

则g是递归函数。那么,存在这样的函数q,使得:

\begin{equation} \varphi_{q(i)}(x)\xlongequal{s-m-n定理}g(i, x) \end{equation}

s-m-n定理还有一个名字,叫做参数化定理。接下来,又由递归定理,存在编号j使得 \varphi_{q(j)}(x)=\varphi_{j}(x) ,所以有

g(j, x) = \varphi_j(x) \ne 1+\varphi_j(x) ,因此不可能有 \Phi_i(x) \le h(x) ,因此j是f的号码。没错,到头回来,又是万恶的对角线

为什么两个定理不矛盾
(答案:...)

--------

最后,真的以为计算复杂性的源头就到此为止了吗?

或许还会有下次更新以让这篇文章没有那么寒酸。。。

(嗷嗷嗷嗷嗷嗷嗷呜啊_(:з」∠)_)

文章被以下专栏收录