查看“︁无限制文法”︁的源代码
←
无限制文法
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
在[[形式语言]]理论中,'''无限制文法'''是对文法的产生式左右两侧都没有限制的[[形式文法]]。这是[[乔姆斯基谱系|乔姆斯基层级]]中最一般性的文法类,它们可以识别任意的[[递归可枚举语言]]。 == 形式定义 == '''无限制文法'''是[[形式文法]] <math>G = (N, \Sigma, P, S)</math>,这里的 <math>N</math> 是非终结符的集合,<math>\Sigma</math> 是[[终结符]]的集合,这里的 <math>N</math> 和 <math>\Sigma</math> 是无交集的(实际上这个限制不是必需的,因为无限制文法在非终结符和终结符之间不做真实区分,存在这个指定纯粹是为了使得你在尝试生成文法的[[句子形式]]的时候知道何时停止),<math>P</math> 是形如 <math>\alpha \to \beta</math> 的产生规则的集合,这里的 <math>\alpha</math> 和 <math>\beta</math> 是在 <math>N \cup \Sigma</math> 中的符号的字符串而 <math>\alpha</math> 是非空字符串,<math>S \in N</math> 是特别指定的开始符号。如名称所暗含的,在无限制文法可以有什么类型的产生规则上没有真实限制。 == 无限制文法和图灵机 == 可以证明无限制文法特征化了递归可枚举语言。这同于声称对于所有无限制文法 <math>G</math> 都存在某个[[图灵机]]有能力识别 <math>L(G)</math> 反之亦然。给定一个无限制文法,这种图灵机足够简单构造为两磁带[[非确定图灵机]]。第一个磁带包含要被测试的输入字 <math>w</math>,而机器使用第二个磁带生成来自 <math>G</math> 的句子形式。图灵机接着做如下事情: # 开始于第二个磁带的左端并重复的选定要右移或选择在磁带上的当前位置。 # 非确定的从 <math>G</math> 中选定一个产生式 <math>\beta \to \gamma</math>。 # 如果 <math>\beta</math> 出现在第二个磁带的某个位置,在这个点上把 <math>\beta</math> 替代为 <math>\gamma</math>,依据 <math>\beta</math> 和 <math>\gamma</math> 的相对长度可能要把在磁带上的符号向左或右移动(就是说如果 <math>\beta</math> 长于 <math>\gamma</math>,左移磁带符号)。 # 比较在磁带 2 上的结果句子形式和在磁带 1 上的字。如果匹配,则图灵机接受这个字。如果不匹配则回到步骤 1。 容易看出这个图灵机将在最后步骤被执行任意次之后在第二个磁带上生成 <math>G</math> 的所有的句子形式,所以语言 <math>L(G)</math> 必定是递归可枚举的。 相反构造也是可能的。给定某个图灵机,有可能建立一个无限制文法。 == 计算性质 == 从无限制文法和图灵机的等价性上,给定一个字符串 <math>s</math> 是否属于某个无限制文法的语言的[[决定性问题]]一般是[[不可判定]]的。 给出一个语言的描述完全可能建立一个通用无限制文法有能力接受任何其他无限制文法的语言,如同有可能建立一个[[通用图灵机]],所以在理论上有可能建造一个基于无限制文法的[[编程语言]]。 ==参见== * [[图灵机]] * [[λ演算]] * [[字符串重写]] ==參考文獻== {{refbegin}} * {{cite book|author = John Hopcroft and Jeffrey D. Ullman | year = 1979 | title = Introduction to Automata Theory, Languages, and Computation |url = https://archive.org/details/introductiontoau00hopc | publisher = Addison-Wesley | edition = 1st edition | id = ISBN 0-201-44124-1}} (the Cinderella book) {{refend}} {{形式语言与形式文法}} [[Category:形式语言|W]]
该页面使用的模板:
Template:Cite book
(
查看源代码
)
Template:Refbegin
(
查看源代码
)
Template:Refend
(
查看源代码
)
Template:形式语言与形式文法
(
查看源代码
)
返回
无限制文法
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息