【问题标题】:Are those languages regular or not这些语言是否正规
【发布时间】:2021-11-29 18:19:49
【问题描述】:

您好,我需要您的帮助,我掌握了以下语言,需要确定是否是常规语言。

现在我认为 Y 是不规则的,我应用了抽水引理来确定这一点。 对于 X,我不确定是否是常规语言,我在想 X 是具有奇数个 a 的字符串集,可以很容易地用 NFA 表示。

谁能帮我解决这个问题?

【问题讨论】:

  • X 可以改写为 a^(2n+1);这有帮助吗?
  • 嗨,斯科特,感谢您的回复。嗯,也许是的,我的意思是……在这种情况下,自动机应该计算 a (n) 的数量并添加另一个 a……但是自动机可能吗?我认为不……对吗?

标签: automata


【解决方案1】:

第一个(X)是正则的,因为你可以为它构造一个有限自动机:

(start) --- a --> (final) -- a --> (state)
                     ^                |
                     \------ a -------/

第二个(Y)不规则,因为你不能为它构造一个有限自动机。它需要内存来存储a 的数量,以便以后能够再找到b 中的一个。该语言是上下文无关的,具有语法:

S = T b
T = a T b
T = ε

【讨论】:

  • 我做了这种推理,但我不确定语言是否正常。例如 0^n 0^2n 是常规的吗?这可能是表示所有字符串的语言,其数字是 0 的 3 的倍数,可以被 DFA 识别
  • 一种语言是规则的,如果它至少有一个规则语法可以从该语言生成所有字符串。 X 有这样一个语法:S = a T; T = 一个 U; T = ε; U = a T。第二语言Y 没有常规语法,而只有上下文无关的语法,正如我所写的。这意味着它不是常规语言。第三种语言0^3n具有正则语法,因此它是正则语言。
猜你喜欢
  • 2014-09-21
  • 2014-02-25
  • 2016-07-11
  • 2013-10-08
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 2016-07-03
  • 1970-01-01
相关资源
最近更新 更多