NFA接受2、5、8、11 ...个1的所有二进制字符串的集合

时间:2018-09-26 18:26:27

标签: regular-language nfa

如何构造一个NFA来接受所有字符串w的集合,以使n1(w)mod 3> 1,其中n1(w)是w在字母表中等于1的数字= {0,1}?

所以,基本上,NFA接受所有2、5、8 ...个1s字符串的集合。

我想该语言的正则表达式为(0 * 10 * 10 *)(0 * 10 * 10 * 10 *)*

我可以为上述常规exp创建一个NFA,但是我不确定是否可以进一步减少它或者一开始是否正确。我是普通语言,DFA和NFA的新手。请帮帮我!

1 个答案:

答案 0 :(得分:0)

让我用字母{0,1}提出这个NFA:

Q = {A, B, C}
q0 = {A}
F = {C}
d = {(A,0,A)
     (A,1,B)
     (B,0,B)
     (B,1,C)
     (C,0,C)
     (C,1,A)}

请检查是否满足要求。