可计算函数
定义
计算函数是在自然数上的有限偏函数。每个可计算函数f{\displaystyle f}接受固定数目个自然数作为参数;不同的函数接受不同数目的参数。因为函数是部分的,它们可以不定义在所有可能的输入选择上。如果定义了一个可计算函数,则它返回一个单一自然数作为输出(这个输出可以被解释为使用配对函数的一列数)。记号f(x1,… … -->,xk)↓ ↓ -->{\displaystyle f(x_{1},\ldots ,x_{k})\downarrow }指示偏函数f{\displaystyle f}被定义在参数x1,… … -->,xk{\displaystyle x_{1},\ldots ,x_{k}}上,而记号f(x1,… … -->,xk)↓ ↓ -->=y{\displaystyle f(x_{1},\ldots ,x_{k})\downarrow =y}指示f{\displaystyle f}被定义在参数x1,… … -->,xk{\displaystyle x_{1},\ldots ,x_{k}}上而返回的值是y{\displaystyle y}。这些函数也叫做偏递归函数。在可计算理论中,函数的定义域是函数被定义在其上的所有输入的集合。
定义在所有参数上的函数叫做全函数。如果可计算函数是全函数,它叫做全可计算函数或全递归函数。
有很多等价方式定义可计算函数的类。为了具体,本文余分将假定可计算函数已经被定义可以被图灵机计算的那些偏函数。有很多计算的等价模型定义同一类可计算函数。这些计算模型包括
图灵机
Mu-递归函数
Lambda演算
Post机,也叫做标记系统
寄存器机
等等。
可计算集合和关系
自然数的集合A被叫做可计算的(同义词:递归的,可决定的),如果有可计算函数f使得对于每个自然数n,f(n)↓ ↓ -->=1{\displaystyle f(n)\downarrow =1}如果n在A中,并且f(n)↓ ↓ -->=0{\displaystyle f(n)\downarrow =0}如果n不在A中。
自然数的集合被叫做计算可枚举的(同义词:递归可枚举的,半可判定的),如果有可计算函数f使得对于每个自然数n,f(n)是有定义的,当且仅当n在这个集合中。所以一个集合是计算可枚举的,当且仅当它是某个可计算函数的定义域。使用词可枚举的因为对于自然数的非空子集B下列是等价的:
B是可计算函数的定义域。
B是全可计算函数的值域。如果B是无限的则这个函数可以被假定为单射的。
如果集合B是函数f的值域,则这个函数可以被看作B的枚举,因为列表f(0), f(1), ...将包含B的所有元素。
因为在自然数上的每个有限关系都可以被识别为对应的自然数的有限序列的集合,可计算关系和计算可枚举关系的概念可以从它们的集合类似物来定义。
形式语言
在计算机科学的可计算性理论中,经常考虑形式语言。它包括任意集合的一个字母表,在字母表上的字是来自字母表的符号的有限序列;同一个符号可以出现多于一次。例如,二进制字符串精确的是在字母表{0,1}{\displaystyle \{0,1\}}上的字。语言是在固定字母表上的所有字的搜集的子集。例如,精确的包含三个字母的所有二进制字符串的搜集是在二进制字母表上的一个语言。
形式语言的一个关键性质是对判定一个给定字是否在这个语言中的难度级别。必须开发某种编码系统来允许可计算函数来接受在语言中的任意字作为输入;这通常是要认真处置的例程。一个语言被称为是可计算的(同义词:递归的,可判定的),如果存在一个可计算函数f{\displaystyle f}使得对于在字母表上的每个字w,f(w)↓ ↓ -->=1{\displaystyle f(w)\downarrow =1}如果这个字在这个语言中,并且f(w)↓ ↓ -->=0{\displaystyle f(w)\downarrow =0}如果这个字不在这个语言中。所以一个语言在有一个过程能正确的判定任意的字是否在这个语言中的情况下是可计算的。
一个语言是计算可枚举的(同义词:递归可枚举的,半可判定的),如果有可计算函数f使得f(w){\displaystyle f(w)}是有定义的,当且仅当字w在这个语言中。术语可枚举同自然数的计算可枚举集合有同样的语源。
例子
常数函数f : N→ N, f(n1,...nk) := n。
加法f : N→ N, f(n1,n2) := n1 + n2。
给出一个数的素因数列表。
两个数的最大公约数。
贝祖等式,线性的丢番图方程。
如果f和g是可计算的,则:f + g, f * g, f∘ ∘ -->g{\displaystyle f\circ g}如果 f是一元的,max(f,g), min(f,g)和更多的组合都是可计算的。
相关条目
可计算数
可定义数
引用
Enderton, H.B. Elements of recursion theory. Handbook of Mathematical Logic (North-Holland 1977) pp. 527–566.
Rogers, H. Theory of recursive functions and effective computation (McGraw-Hill 1967).
Turing, A. (1936), On Computable Numbers, With an Application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, Series 2, Volume 42 (1936). Reprinted in M. Davis (ed.), The Undecidable, Raven Press, Hewlett, NY, 1965.
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值