我收到了一个简单的声明:构建一个接受alphabet {0, 1}
的{{1}}的DFA?
我的问题是设计它的步骤是什么?或者设计NFA,因为我知道将NFA转换为DFA的明确步骤,因此我会将NFA转换为DFA。
注意: - 这对我来说只是一个小课程,所以我从未研究过正则表达式或任何可能用于构建DFA的算法。
答案 0 :(得分:4)
如果您想要更多地解释我如何得出这个,我很乐意解释,但是现在我只是画了DFA并解释了每个州。
对截图感到抱歉...我不知道如何将其直接转换为图片。
在状态0的输入0上,它循环回自身。 1,它准备 本身就要结束,因为它可能是' 101'
q1在输入1上循环自身,因为它仍在准备结束 ' 101&#39 ;.输入' 0'在q1意味着它正在为输入' 10'做准备,所以它进入q2。
输入' 0'在q2打破整个周期并返回到q0。输入' 1' 结果转移到接受状态q3。
q3上的任何输入都会返回到循环中的任何一点 输入对应于。
也就是说,' 1'它会回到q1,或者第一个' 1' 在' 101'中遇到了,准备结束。
On' 0',它转到q2,因为为了到达q3,必须有 是' 1'的输入从q2开始,所以无论如何,最后两个输入 符号是' 10'现在