繁体   English   中英

如果 L 和 L 补码是递归可枚举的,那么为什么 L 不能是正则语言?

[英]If L and L complement are Recursively enumerable then why can't L be a Regular language?

GATE 2008 论文中提出了以下问题:

如果 L 和 L' (L 补码)是递归可枚举的,那么 L 是 ?

a) 常规
b) 节能灯
c) 中超
d) 递归

正确的选项是选项 (d),我承认这是真的。 但我的问题是为什么它不能是常规的或 CSL ?

因为我认为如果我们认为L是正则的,那么L'也是正则的(因为正则语言在互补下是封闭的) 现在因为L'是规则的,所以根据'乔姆斯基层次' L'也是递归可枚举的。 即使L在常规之后,它也符合问题陈述,那么为什么选项 (a) 不是正确选项? CSL 也是如此,那么为什么选项 (c) 也不是正确的选项?

语言类的快速回顾——我们知道这 5 个语言类都是彼此的(严格)子集:

常规 ⊂ CFL ⊂ CSL ⊂ 递归 ⊂ 递归可枚举

问题是,如果我们知道一种语言 L 是递归可枚举的,并且我们知道它的补语 L' 也是递归可枚举的,那么我们可以确定 L 属于哪个较小的类?

答案等同于说,如果语言 L 是可递归枚举的并且不是递归的,那么 L' 是不可递归枚举的。 该陈述是正确的,但任何其他语言类的等效陈述都不是。

如果 L 和 L' 都是递归可枚举的,那么

a) L 可能是正则的(实际上,如果 L 是正则的,那么 L' 也是正则的,并且所有正则语言都是可递归枚举的)……但是有些非正则语言的补语是可递归枚举的

b) L 可能是 CFL(有些 CFL 的补码也是 CFL,也有 CFL 的补码不是 CFL)...

c) L 可能是一个 CSL(有些 CSL 的补语是 CSL)……但是有些非上下文敏感的语言的补语是递归可枚举的

d) L 必须是递归的,因为由于 L 和 L' 都是递归可枚举的,我们有一个有效的可计算过程来确定任何给定的字符串是否在 L 中:开始枚举每种语言中的字符串,交错枚举(所以你在 L 中给出下一个字符串,然后在 L' 中给出下一个字符串,然后返回到 L,等等)。 继续这个过程最终将在 L 或 L' 中找到目标字符串,此时您可以返回 true(如果它在 L 中枚举)或 false(如果在 L' 中枚举)。

因此,虽然 L可能是常规的、CFL 或 CSL 是真的,但它可能不是其中任何一个也是真的; 但它必须绝对是递归的。 因此,这是“最佳”答案,也是唯一在所有情况下都普遍正确的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM