这是我画的DFA -
是否正确?
我感到困惑,因为q4
状态对于相同的输入符号有2
个不同的转换,违反了DFA
的规则,但我想不出任何其他解决方案。
答案 0 :(得分:4)
您的DFA不正确。
你的DFA完全错误所以我不评论
RE的DFA:
0(1 + 0)*0 + 1(1 + 0)*1
语言说明:如果字符串以0
开头,则应以0
结尾,如果字符串以1
开头,则应以1
结尾。因此有两个最终状态(状态-5,状态-4)。
state-4:接受1(1 + 0)*1
state-5:接受0(1 + 0)*0
state-1:开始状态。
DFA :
编辑:
(0 + 1)* = (1 + 0)*
这是由1
和0
组成的任何字符串,包括空字符串^
。
此处+
表示联盟,如果它出现在两个RE:和A U B = B U A
之间(类似地)=> (0 + 1) = (0 + 1)
。
plus +
的含义取决于它出现的语法:如果表达式是 + (+
是上标的),这意味着一个{{1}如果a
,则a+b
表示联盟操作+
或a
。
b
,其中包含a+ : { a, aa, aaa, aaa.....}
语言的a
个字符串。
答案 1 :(得分:0)