交替自动机空性测试的简化方法
1. 引言
交替有限自动机(AFA)转换为非确定有限自动机(NFA)的过程具有指数级复杂度,这也是直接在交替自动机上判定空性的主要原因。而确定化过程可能会导致指数级的状态增长,但在一定范围内应用确定化,可简化转换关系并减少状态数量。
2. 局部确定化的思路
我们的目标是在自动机的局部部分应用确定化,以降低成本并减小自动机的规模。对于分离的AFA,确定化后的DFA状态是“状态公式”,即基于状态的布尔公式。初始DFA状态是原子公式 $q_0$,状态公式 $\phi$ 在字母 $\alpha$ 上的后继通过将 $\phi$ 中的每个状态 $q$ 替换为 $\delta(q, \alpha)$ 得到。为保证终止性,构造的后继状态公式需进行逻辑等价模运算或转换为某种范式。对于非分离的AFA,替换操作会更复杂,可能涉及转换为分离形式、对符号 $\alpha$ 进行存在量化和量词消除。
3. 局部确定化的关键步骤
3.1 状态上移(Up - Shifting of States)
状态上移是局部确定化的主要步骤。我们先定义一些必要的符号:若公式有向无环图(DAG)的节点或相应公式属于 $B^+(Q)$(其文字仅为状态),则称其为纯的。同时定义函数 $\Delta$,它将 $\delta$ 推广到 $B^+(Q)$ 中的所有公式。对于状态 $q \in Q$,$\Delta(q) = \delta(q)$;对于非状态的纯公式 $\phi$,$\Delta(\phi)$ 通过将 $\phi$ 中的每个直接子公式 $\psi$ 替换为 $\Delta(\psi)$ 得到。
给定公