【问题标题】:The complement of the language L={a^n b^n | n !=100}语言的补语 L={a^n b^n | n!=100}
【发布时间】:2014-02-12 16:25:50
【问题描述】:

我不需要证明,因为这是一道客观的考试题,只允许 2 分钟。选项为regularcflcsl。我不明白如何解决这个问题。

如果我们把它写成

(a^n b^n | n<100) UNION (a^n b^n | n>100)

现在调用第一部分 L1 和第二部分 L2,然后尝试使用,

德摩贡定律 L'= L1' INTERSECTION L2'

考虑到我们只需要花 2-3 分钟的时间,我认为这不是正确的方法或快速的方法。有更好的方法吗?

【问题讨论】:

  • 补语不就是 {w ∈ Σ* | w != a^n b^n ∀ n != 100} (即 Σ*\L)?
  • 谢谢@Njol,但赞美是由 Sigma* - L 给出的,我认为它的字符串比你的语言显示的要多,我可能错了,但我通常将语言转换成它“说”的内容。根据我的说法,对给定语言的赞美意味着所有不是 a^100 b^100 的字符串。这看起来正确,但仍不确定。
  • 一般的补充(即在集合论中)是宇宙(取决于上下文,对于语言,我猜它是 Σ*),减去集合。因此,如果你有集合的定义,你可以简单地否定它来获得补码。
  • 是的,但是在这里我怎么知道我最终会称赞哪种语言,肯定会在 CSL 中,但怎么说它不是常规或 cfl 或 csl,Facebook 组上的一些讨论最终得出的结论是它的cfl,但我一点也不懂,并且怀疑它的正确性。如果我没有因为在此处粘贴链接而被否决,我可以在这里分享它。
  • @Njol since the complement of a CFL cannot be a CFL 不正确,它可能是也可能不是 CFL。我知道它的cfl(L),我认为问题只是在询问它的恭维,但我会更清楚地说明

标签: regular-language formal-languages context-free-language


【解决方案1】:

这是正确的做法, L = {a^n b^n | n100}

第一部分是常规的,第二部分是 DCFL。 现在,L' = COMP({a^n b^n | n100})

正则补码始终是正则补码,而 DCFL 补码始终是 DCFL,因此也是 CFL。

所以,Regular intersect CFL 给出 CFL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-11
    • 2016-04-27
    • 1970-01-01
    • 2022-06-28
    • 2013-02-16
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    相关资源
    最近更新 更多