L = {a * b *}会被归类为常规语言吗?
我很困惑,因为我知道L = {a ^ n b ^ n}不规律。克莱恩明星有什么不同?
答案 0 :(得分:1)
如果您拥有L = {a^n b^n}
和L = {a*b*}
,那么这会有所不同。
如果您使用a^n b^n
语言,则必须具有相同数量的a's
和b's
示例的语言:{aaabbb, ab, aabb, etc}
。正如你所说,这不是一个正则表达式。
但是当我们谈论L = {a*b*}
时,它有点不同,你可以有任意数量的a
后跟任意数量的b
(包括0)。一些例子是:
{a, b, aaab, aabbb, aabbbb, etc}
正如您所看到的,它与{a^n b^n}
语言不同,您需要具有相同数量的a's
和b's
。
是的,a*b*
本质上是正常的。如果你想要一个很好的解释,为什么它是常规的你可以检查How to prove a language is regular他们可能有更好的解释然后我(
我希望它能帮到你
答案 1 :(得分:0)
正则表达式a b 描述的语言是定义的常规语言。这些表达式不能描述任何非常规语言,而且确实是定义常规语言的方法之一。
另一方面,{a ^ n b ^ n:n> 0}(这将是描述它的正式完整方式),不能用正则表达式来描述。直觉上,当到达a和b之间的边界时,你需要记住n。由于它没有界限,所以没有有限存储器件可以做到这一点。在 b 中,你只需要记住,从现在开始只会出现b;这是非常有限的。在某种意义上,这两颗恒星并不相关;每个都独立于另一个扩展其块。