📜  上下文无关语言 (CFL) 的各种属性

📅  最后修改于: 2021-09-28 11:02:42             🧑  作者: Mango

上下文无关语言(CFL)是一种由上下文无关文法或类型 2 文法(根据乔姆斯基分类)生成并被下推自动机接受的语言。

上下文无关语言的一些非常重要的特性是:

正则无上下文语言是非正则 PDA 语言。

闭合属性
上下文无关语言在某些特定操作下是封闭的,封闭意味着在对上下文无关语言执行该操作后,生成的语言也将是上下文无关语言。一些这样的操作是:

  1. 联合行动
  2. 级联
  3. Kleene 闭合
  4. 反转操作
  5. 同态
  6. 逆同态
  7. 代换
  8. 初始化或前缀操作
  9. 普通语言的商数
  10. 循环操作
  11. 与常规语言结合
  12. 与常规语言的交集
  13. 与常规语言的区别

上下文无关语言在某些特定操作下不是封闭的,非封闭意味着在对上下文无关语言执行该操作后,生成的语言不再是上下文无关语言。

一些这样的操作是:

  1. 路口
  2. 补充
  3. 子集
  4. 超集
  5. 无限联合
  6. 差、对称差(异或、与非或任何其他简化为交和补的运算

决策属性

  1. 成员资格测试:可决定。
  2. 空虚检验:可判定
  3. 测试有限性:可判定

其余的决策属性在上下文无关语言中是不可判定的。

确定性属性:
上下文无关语言可以是:

  1. DCFL-Deterministic(可以被确定性下推自动机识别)上下文无关语言
  2. NDCFL-非确定性(DPDA 无法识别,但 NPDA 无法识别)上下文无关语言。