and*_*and 2 regex finite-automata discrete-mathematics
我正在攻读离散数学考试,我发现这个练习是我无法弄清楚的.
"为字母表中的语言Sigma = {0,1,2}建立一个基本的有限自动机(DFA,NFA,NFA-lambda),其中字符串中元素的总和是和,这个总和大于3"
我曾尝试使用Kleene的Theorem连接两种语言,例如连接与此正则表达式相关联的语言:
(00 U 11 U 22 U 02 U 20)* - 偶数元素
用这个
(22 U 1111 U 222 U 2222)* - 总和大于3的那些
这有意义吗??我觉得我的正则表达式很松弛.
我发现你的符号有点模糊,所以也许我完全误会了.如果是这样,请忽略以下内容.看来你还没有:
编辑:这个怎么样(acc是唯一的接受状态,dot-source):
自动机http://student.science.uva.nl/~sschroev/so/885411.png
在状态a和c,字符串总和总是奇数.在州开始时,b和acc总和是偶数.此外,在开始时,总和为0,在b处为2,在d处为> = 4.这可以相当容易地证明.因此,接受州acc符合所有标准.
编辑2:我会说这是一个接受所请求语言的正则表达式:
0*(2|(1(0|2)*1))(0*(2|(1(0|2)*1))+
Run Code Online (Sandbox Code Playgroud)