📜  TOC 中的闭合属性表

📅  最后修改于: 2021-09-28 09:49:29             🧑  作者: Mango

下表显示了形式语言的闭包属性:

REG = 正则语言
DCFL = 确定性上下文无关语言,
CFL = 上下文无关语言,
CSL = 上下文相关语言,
RC = 递归。
RE = 递归可枚举

考虑 L 和 M 是常规语言:

  1. 克莱恩之星——
    ∑*, 是一组符号或字符串∑ 上的一元运算运算符,它给出了 ∑ 上所有可能长度的所有可能字符串的无限集合,包括 λ。
  2. 克莱恩加 –
    集合 ∑+ 是 ∑ 上所有可能长度的所有可能字符串的无限集合,不包括 λ。
  3. 补充 –
    语言 L 的补语(相对于字母 E,使得 E *包含 L)是 E*–L。因为 E* 肯定是正则的,所以正则语言的补集总是正则的。
  4. 反向运算符 –
    给定语言 L,L R是在 L 中反转的字符串的集合。
  5. 补充 –
    语言 L 的补语(相对于字母 E,使得 E *包含 L)是 E*–L。因为 E* 肯定是正则的,所以正则语言的补集总是正则的。
  6. 联盟——
    令 L 和 M 分别为正则表达式 R 和 S 的语言。那么R+S就是一个语言为(LUM)的正则表达式。
  7. 交叉路口——
    设L和M分别为正则表达式R和S的语言,则是语言为L交点M的正则表达式。
  8. 设置差分运算符–
    如果 L 和 M 是常规语言,那么 L 也是 – M = L 中的字符串,但不是 M。
  9. 同态——
    字母表上的同态是一个函数,它为该字母表中的每个符号提供一个字符串。
  10. 逆同态——
    设 h 是一个同态,L 是一个语言,其字母表是 h 的输出语言。 h -1 (L) = {w | h(w) 在 L} 中。
  11. 代换 –
    替换是字母到语言的映射,它同样扩展为字符串到语言的映射。通过为 tx 识别单例语言 {x},态射被视为替换的特殊情况。
  12. 左商 –左商 ,或语言 L 与单词 w 的商是语言 Lw = {x ∈ Σ* | wx∈L}
    L1 与 L2 的右商是所有字符串x 的集合,您可以在其中从 L2 中选取一些 y 并将其附加到 x 以从 L1 中获取某些内容。也就是说,如果 L2 中有 y 而 xy 在 L1 中,则 x 在商中。)
Operations REG DCFL CFL CSL RC RE
Union Y N Y Y Y Y
Intersection Y N N Y Y Y
Set Difference Y N N Y Y N
Complement Y Y N Y Y N
Intersection with a Regular Language Y Y Y Y Y Y
Union with a Regular Language Y Y Y Y Y Y
Concatenation Y N Y Y Y Y
Kleene Star Y N Y Y Y Y
Kleene Plus Y N Y Y Y Y
Reversal Y Y Y Y Y Y
Epsilon-free Homomorphism Y N Y Y Y Y
Homomorphism Y N Y N N Y
Inverse Homomorphism Y Y Y Y Y Y
Epsilon-free Substitution Y N Y Y Y Y
Substitution Y N Y N N Y
Subset N N N N N N
Left Difference with a Regular Language (L-Regular) Y Y Y Y Y Y
Right Difference with a Regular Language (Regular-R) Y Y N Y Y N
Left Quotient with a Regular Language Y Y Y N Y Y
Right Quotient with a Regular Language Y Y Y N Y Y

注意:如果我们将任何语言与常规语言进行并、交或集差,则语言不会改变。
例子

  • CFL ∩ 常规是 CFL。
  • CFL ∪ 常规是 CFL。

将次要操作转换为主要操作总是一个好主意。
令L 1和L 2是两种语言。

注意:对于⊆ , ⊇ ,无限并集,无限交集,无限集差,没有语言是封闭的。
在这些操作下,语言可能是也可能不是正规的。

让我们考虑一些连接操作的情况:

  • 常规的常规 ⇒ 常规
  • 常规的非常规 ⇒ 可能是也可能不是正规的
  • 非常规非常规 ⇒ 可能是也可能不是正规的
  • 如果 L1 . L2 是规则的 ⇒ L1 可能是也可能不是规则的
  • 如果 L1 . L2 是规则的 ⇒ L2 可能是也可能不是规则的
  • 如果 L1 . L2 是非常规 ⇒ 其中至少一个应该是非常规的。