给出{a, b}
字母表,其中Na
表示a
的出现次数,Nb
b
的出现次数:
L1 = {xy | Na(x) = Nb(y)}
- 醇>
L2 = {w | Na(w) and Nb(w) are even number}
具有四种状态且使用mod的单个DFA是否能够接受这两种语言?
答案 0 :(得分:1)
否,因为两种语言都不同,因此您无法为这两种语言绘制单个DFA。
自动机唯一地定义了一种语言,但是当然对于一种语言而言,多于一种自动机可能被称为“等效自动机”。
语言L1 = A = {xy | Na(x) = Nb(y)}
是常用语言。这种语言的正则表达式是:
(a + b)*a(a + b)*b(a + b)* + ^
要理解这种语言和正则表达式,请阅读:"Show that the following set over {a, b}
is regular"。
语言L2 = A = {w | Na(w) and Nb(w) are even number}
也是常用语言。这种语言的正则表达式是:
((a + b(aa)*ab)(bb)*(ba(aa)*ab(bb)*)*a + (b + a(bb)*ba)(aa)*(ab(bb)*ba(aa)*)*b)*
要理解这种语言和正则表达式,请阅读:"Need Regular Expression for Finite Automata"。
但两种语言都不相同,因为语言L1中有一些不属于语言L2的字符串,例如ab
是L1中的字符串,但不包含偶数a
和b
,因此不属于语言L2。
注意:语言L2不是语言L1的子集,因为在L2中,可以使用偶数长度和单个符号的字符串,如aa
,aaaa
,bb
,{{ 1}}但这些字符串不是L1中的成员。
两种语言都不同,因此对于这两种语言,单个DFA 不。