为什么{a ^ n a ^ n | n> = 0}常规吗?

时间:2015-03-03 11:49:12

标签: regular-language fsm

我理解为什么{a^n b^n | n >= 0}不规律的原因和证据。 Why is {a^nb^n | n >= 0} not regular?

我的一个练习的解决方案是:{a^n a^n | n >= 0}是常规的。我怎样才能证明这一论点?

2 个答案:

答案 0 :(得分:4)

是的,语言{a n a n | n> = 0} 是常规语言。要证明某些语言是常规的,您可以绘制其dfa /正则表达式。你可以按照以下方式驾驶这种语言:

因为“anan的{​​{1}}”与“n >= 0的n> = 0”相同,而且是“偶数个符号{{的所有字符串竞赛的集合” 1}}“是常规的 - 正则表达式为a2n

注意,正则表达式只适用于常规语言,因此证明{a n a n | n> = 0}是常规语言。和DFA将是:

dfa

我建议你阅读why languages like {an bn | n >= 0} are not regular

答案 1 :(得分:1)

首先将定义更改为等效L = {a^2n | n >= 0}。现在观察属于L的任何字符串只是2 a s的倍数。然后将该定义更改为(aa)*,这是一个正则表达式,因为它只使用基元来表达常规语言 - 单个字符(a),连接(aa )和Kleene星(*)。现在你已经完成了。