这两种常规语言是否相同?

时间:2013-10-01 18:00:10

标签: regular-language dfa

给出{a, b}字母表,其中Na表示a的出现次数,Nb b的出现次数:

  
      
  1. L1 = {xy | Na(x) = Nb(y)}
  2.   
  3. L2 = {w | Na(w) and Nb(w) are even number}
  4.   

具有四种状态且使用mod的单个DFA是否能够接受这两种语言?

1 个答案:

答案 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中的字符串,但不包含偶数ab,因此不属于语言L2。

注意:语言L2不是语言L1的子集,因为在L2中,可以使用偶数长度和单个符号的字符串,如aaaaaabb,{{ 1}}但这些字符串不是L1中的成员。

两种语言都不同,因此对于这两种语言,单个DFA