Skip to content

定义Definition

上下文有关语言

施工中 · 内容逐步修订

Context-sensitive language · CSL

可由非收缩文法生成、允许产生式读取局部上下文的形式语言类。

形式陈述 ​

非收缩文法沿用形式文法的四元组 G=(V,Σ,R,S)。它的产生式可有一般形式

α→β,

其中 α,β∈(V∪Σ)∗,α 至少含一个非终结符,并满足 |α|≤|β|。若允许空字,通常额外准许 S→ε,同时要求开始符号 S 不出现在任何产生式右侧。由某个这类文法生成的形式语言称上下文有关语言,简称 CSL。

传统的上下文形式写作

αAβ→αγβ,γ≠ε,

表示只有当非终结符 A 位于上下文 α,β 之间时才可改写。两种规则形状不同,但能有效转换为生成同一语言的文法,因此刻画相同的语言族。

直觉

上下文无关规则只看待展开的一个非终结符;上下文有关规则可以同时检查它左右的符号。长度不缩短使推导到长度为 n 的目标字时,无需先构造任意长的中间串再压回去。这一受控空间正是该语言类与线性有界自动机相连的原因。

“有关上下文”描述的是语言存在某种受限文法,而不是某个给定文法的表面写法。一个语言可能先由复杂文法呈现,却仍有更低层的等价描述;语言类别由是否存在相应模型决定。

例子与边界

语言

L={anbncn:n≥1}

不是上下文无关语言,却是上下文有关语言。其文法或线性空间识别过程必须同步核对三段长度:可逐轮标记一个尚未处理的 a、对应的 b 与对应的 c,并拒绝次序错误或数量不等的输入。整个过程只重写输入带上的有限标记,不需要超过线性长度的存储。

长度条件控制了中间推导的空间。若无条件允许 A→ε 一类收缩规则,一般中间串可以先增长再任意收缩,文法的表达能力会越过本类限制。另一方面,“context-sensitive”不要求每条规则的左右都出现非空上下文;只要整个文法满足等价的非收缩约束即可。

空字约定必须单独固定。禁止所有收缩规则时,非空开始串不可能生成 ε;允许受控的 S→ε 后,又必须阻止 S 出现在右侧,以免这条例外嵌入推导中反复造成收缩。Immerman–Szelepcsényi 定理还给出 CSL 对补运算封闭。

推论与应用

正则语言和上下文无关语言都包含在 CSL 中;包含均为严格。CSL 又严格包含于可判定语言。它适合表达多个远距离数量约束、对称复制和受线性工作空间控制的语法条件,但“比 CFG 强”不代表存在统一高效解析器。

CSL 的非收缩文法定义与线性有界自动机的精确对应、空字约定及双向构造见CSL–LBA 等价定理。空间观点还把该语言类放入空间复杂度的框架:非确定性线性空间足以识别它,而补封闭来自更深的空间复杂度结论。

参考资料
  • John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 3rd ed., Pearson, 2006, Ch. 11.
  • Sige-Yuki Kuroda, “Classes of Languages and Linear-Bounded Automata,” Information and Control 7 (1964), 207–223.
  • Neil Immerman, “Nondeterministic Space is Closed Under Complementation,” SIAM Journal on Computing 17 (1988), 935–938.
关系图谱12 个相邻概念 · 4 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系