先决条件 – 有限自动机 (FA)
化合物 FA 是对给定的 DFA D1 和 D2 进行运算 (∪, ∩, -) 后形成的所得 DFA。
D1 = (Q1, ∑, δ, q1, F1) and D2 = (Q2, ∑, δ, q2, F2)
在哪里,
Q 1和Q 2 :分别为DFA D1 和D2 的有限状态集。
∑:输入字母表包含有限数量的输入符号。
δ:过渡函数(δ:Qx∑->Q)
q 1和q 2 :分别为D1和D2的初始状态。
F 1和F 2 :分别是DFA D1 和D2 的最终状态集。
复合有限自动机 (FA) 的特性:
- 复合 FA (D1XD2) 中的状态数等于 m*n,其中 m 是 D1 中的状态数,n 是状态 D2 的数。
- 化合物 FA 的初始状态是 D1 和 D2 初始状态的组合。
- 复合 FA 的最终状态取决于执行的操作。
例子:
D1 = no. of a's divisible by 2
D2 = no. of b's divisible by 3
D1 ({q1, B}, {a, b}, δ, q1, {q1}),
D1 ({q2, A, C}, {a, b}, δ, q2, {q2})
构造最小 FA:
(D1∪D2),
(D1∩D2),
(D1-D2),
(D2-D1)
解释:
DFA D1:
DFA D2:
1.并集(D1∪D2):
任何属于 D1 语言或D2 语言的字符串w 都被合成复合自动机接受。
终态:如果 D1 的终态或 D2 的终态包含在化合物 FA 的任何状态中。
2. 交点(D1∩D2):
任意字符串瓦特属于对两者D1的语言和D2的语言由所得化合物自动机接受。
终态:如果 D1 的终态和 D2 的终态都包含在化合物 FA 的任何状态中。
3. 差异(D1 – D2):
任何被 D1 接受的字符串w,不被 D2 接受。
终态:如果 D1 的终态和 D2 的非终态包含在化合物 FA 的任何状态中。
4. 差异(D2 – D1):
任何被 D2 接受的字符串w,不被 D1 接受。
终态:如果 D2 的终态和 D1 的非终态包含在化合物 FA 的任何状态中。