递归可枚举文法

来自GSXAB的知识库
(重定向自0 型文法
递归可枚举语言
术语名称 递归可枚举语言
英语名称 recursive enumerable language
递归可枚举文法
术语名称 递归可枚举文法
英语名称 recursive enumerable grammar
图灵可识别语言
术语名称 图灵可识别语言
英语名称 Turing-recognizable language
0型语言
术语名称 0型语言
英语名称 type-0 language
0型文法
术语名称 0型文法
英语名称 type-0 grammar

递归可枚举语言(recursive enumerable language)指一种形式语言是该语言字母表上全部可能单词的一个递归可枚举的子集。图灵机可识别语言指语言可以被 Turing 机枚举出所有可能的串。两种说法等价。

对应的递归可枚举文法是一种生成文法,与 Chomsky 生成语法理论中的0型文法(type-0 grammar)相同。递归可枚举意味着任意合理的递归都能出现在这一生成文法中,仅要求生成式左侧至少含有一个非终结符。不施加任何其他限制,也称为无限制文法短语结构文法

定义

以下三种定义等价:

  • 递归可枚举语言:对给定字母表,其上全部单词构成的一个递归可枚举的子集。
  • Turing 机可识别语言:对给定符号表,存在一个 Turing 机可以枚举语言中的全部合法字符串。
  • Turing 机可接受语言:对给定符号表,存在一个 Turing 机可以在接受语言中的全部合法字符串时在有限步内停机。

性质

递归可枚举语言的:

都仍然是递归可枚举的。

Turing 机等价

递归可枚举语言中的生成相当于无限制地从 Turing 机纸带上擦除符号并写入生成的符号。这一过程中可能写入任意的更短或更长的符号串。

尽管这一定义中属于这个语言的能在有限步内停机,但无法保证不属于这一语言的字符串是在有限步内停机并拒绝还是不停机, 因此对任意给出的字符串和任意递归可枚举语言,判定是否属于这一语言相当于判定这个串的字符是否可以通过给定规则在 Turing 机上停机,本身等价于 Turing 停机问题