zoukankan      html  css  js  c++  java
  • Computability 2: Gödel Number

      A set $X$ is effectively denumerable iff there is a bijection $f:X ightarrowmathbb{N}$ such that both $f$ and $f^{-1}$ are effectively computable functions.

      Theorem. The set of the URM instructions is effectively denumerable.

      To see this, we should define the following functions:

      (1) Bijection $pi:mathbb{N} imesmathbb{N} ightarrowmathbb{N}$ is defined by

              $pi(m,n) = 2^m(2n+1)-1$

      (2) Bijection $zeta: mathbb{N}^+ imesmathbb{N}^+ imesmathbb{N}^+ ightarrowmathbb{N}$ is defined by

              $zeta(m,n,q)=pi(pi(m-1,n-1),q-1)$

      (3) Bijection $ au:igcup_{k>0}mathbb{N}^k ightarrowmathbb{N}$ is defined by

              $ au(a_1,...,a_k)=2^{a_1}+2^{a_1+a_2+1}+2^{a_1+a_2+a_3+2}+...+2^{a_1+a_2+...+a_k+k-1}-1$

      Then we can construct a bijection β from URM instructions to natural numbers:

              

      Hence, the URM instruction set is effectively denumerable.

      Theorem. The set of URM programs is effectively denumerable since we can construct the following bijection:

                $gamma(P)= au(eta(I_1),...,eta(I_s))$,

    where $P = I_1 I_2, ..., I_s$, and this is also known as the Gödel Number of a program.

      Theorem. The set of all n-ary computable functions is denumerable since we can construct an enumeration of those functions without repetitions.

      Theorem. The set of computable functions is denumerable since it is the union of the sets of n-ary computable functions for all $ninmathbb{N}^+$ and hence its bijection to $mathbb{N}$ can be constructed by using function $ au$.

      Moreover, we can construct a total unary function that is not computable by using Cantor's Diagonal Method decribed in Set Theory.

            $f(n)simeq egin{cases}phi_n(n)+1 & ext{if }phi_n(n) ext{ is defined }\ uparrow & ext{ otherwise }end{cases}$

               

      The s-m-n Theorem:  for $m, n in mathbb{N}^+$, there is a total computable (m+1)-ary function $s_n^m(e,vec{x})$ such that $phi_e^{m+n}(vec{x},vec{y})simeqphi_{s_n^m(e,vec{x})}^n(vec{y})$.

    References:

      1. Cutland, Nigel. Computability: an introduction to recursive function theory[M]. Cambridge: Cambridge University Press, 1980

  • 相关阅读:
    (Java实现) 数塔问题
    (Java实现) 数塔问题
    Java实现 蓝桥杯VIP 算法训练 数的划分
    Java实现 蓝桥杯VIP 算法训练 数的划分
    (Java实现) 细胞
    理解ATL中的一些汇编代码(通过Thunk技术来调用类成员函数)
    一些常见的国际标准化组织
    Windows开发中一些常用的辅助工具
    如何分析程序的时间消耗
    C++代码覆盖率工具Coverage Validator
  • 原文地址:https://www.cnblogs.com/DevinZ/p/4418442.html
Copyright © 2011-2022 走看看