我想知道当一个人有错误状态时我如何结合两个DFA。具体来说,第一个DFA就是:
第二个并不重要,但它不需要错误状态,因为在每个状态它都需要'a'或'b'。因此,当我进入状态q3时,我可以使用产品构造。假设机器处于(q3,z)(其中z是来自第二个DFA的随机状态),然后读取a。第二个可以继续愉快,但第一个DFA应该进入错误状态,不再接受任何输入。因为这是联合而不是交集当然,我需要继续模拟第二个以查看它是否达到错误状态。
如何在构建联合编辑的DFA时显示此内容?
答案 0 :(得分:0)
错误状态是一种非接受状态,所有符号都循环回相同的状态。 (水槽”)。我不清楚您是否认为q3
是一个没有外向转换的接受状态,或者您是否认为q3
是{q0
,q1
的错误状态和q2
}所有人都在接受国家。但解决方案并没有那么不同;如果您还没有水槽,请创建一个;所有来自任何其他州的非法转换都会进入错误状态。
现在,您可以毫无问题地使用产品结构; DFA1达到错误状态并保持不变,DFA2继续进行转换。当两个DFA都到达接收器时,就不可能再进行转换。