构建语言 L = { L1 \ L2 } 的 DFA
Construct a DFA of the language L = { L1 \ L2 }
如何构建语言 L = { L1 \ L2 }
的 DFA
L1 和 L2 的 DFA 已给出,但我如何 "substract" 一个 DFA 来自另一个?这在某种程度上可能与相对补充 http://en.wikipedia.org/wiki/Complement_(set_theory) 和德摩根定律有关吗?
我的解决方法:
据我了解,可以通过使用修改后的乘积自动机获得所需的 DFA,如用于 L1
和 L2
的交集,但必须以不同方式定义终端状态。当且仅当 q_1
和 q_2
分别是 A(L1)
和 A(L2)
中的终止状态时,而不是将产品状态 (q_1,q_2)
定义为终止状态,而是将其定义为一个终结状态当且仅当q_1
是一个终结状态并且q_2
是不是一个终结状态。
我不太确定除了这个基本论证之外,结果是否可以通过De Morgan's law的集合公式来应用。
如何构建语言 L = { L1 \ L2 }
的 DFAL1 和 L2 的 DFA 已给出,但我如何 "substract" 一个 DFA 来自另一个?这在某种程度上可能与相对补充 http://en.wikipedia.org/wiki/Complement_(set_theory) 和德摩根定律有关吗?
我的解决方法:
据我了解,可以通过使用修改后的乘积自动机获得所需的 DFA,如用于 L1
和 L2
的交集,但必须以不同方式定义终端状态。当且仅当 q_1
和 q_2
分别是 A(L1)
和 A(L2)
中的终止状态时,而不是将产品状态 (q_1,q_2)
定义为终止状态,而是将其定义为一个终结状态当且仅当q_1
是一个终结状态并且q_2
是不是一个终结状态。
我不太确定除了这个基本论证之外,结果是否可以通过De Morgan's law的集合公式来应用。