如何构建语言L = {L1 \ L2}
的DFA给出了L1和L2的DFA,但是如何从另一个DFA中“减去”一个DFA?对于相对补集http://en.wikipedia.org/wiki/Complement_(set_theory)和DeMorgans定律,这是否可行?
我的解决方案:
答案 0 :(得分:2)
根据我的理解,可以通过使用修改后的产品自动机获得所需的DFA,用于L1
和L2
的交集,但必须以不同方式定义终端状态。当且仅当(q_1,q_2)
和q_1
分别是q_2
和A(L1)
中的终端状态时,不要将产品状态A(L2)
设置为终端状态,而是将其定义为当且仅当q_1
是终端状态且q_2
不终端状态时,终端状态。
我不太确定除了这个基本论点之外,结果是否可以通过De Morgan's law的集合公式来应用。