[论文解读] On minimising automata with errors
该论文提出了一种简化且更高效的有限自动机 $k$-最小化算法,对于有限语言实现 $\mathcal{O}(\lvert M\rvert\log n)$ 时间复杂度,对于一般 DFA(包括部分转移函数的 DFA)实现 $\mathcal{O}(\lvert M\rvert\log^2 n)$ 时间复杂度。此外,论文证明了在 $k$-最小化中最小化错误数是 NP-难问题,确立了带误差限制压缩的根本性限制。
The problem of k-minimisation for a DFA M is the computation of a smallest DFA N (where the size |M| of a DFA M is the size of the domain of the transition function) such that their recognized languages differ only on words of length less than k. The previously best algorithm, which runs in time O(|M| log^2 n) where n is the number of states, is extended to DFAs with partial transition functions. Moreover, a faster O(|M| log n) algorithm for DFAs that recognise finite languages is presented. In comparison to the previous algorithm for total DFAs, the new algorithm is much simpler and allows the calculation of a k-minimal DFA for each k in parallel. Secondly, it is demonstrated that calculating the least number of introduced errors is hard: Given a DFA M and numbers k and m, it is NP-hard to decide whether there exists a k-minimal DFA N differing from DFA M on at most m words. A similar result holds for hyper-minimisation of DFAs in general: Given a DFA M and numbers s and m, it is NP-hard to decide whether there exists a DFA N with at most s states such that DFA M and N differ on at msot m words.
研究动机与目标
- 设计一种针对具有部分转移函数的 DFA 的更简单、更快速的 $k$-最小化算法。
- 将该算法扩展为在单次运行中计算所有 $k$ 的 $k$-最小化 DFA。
- 研究在 $k$-最小化过程中引入错误数最小化的计算复杂度。
- 确定在压缩(状态数)与错误数之间进行权衡是否在计算上是可行的。
提出的方法
- 作者提出一种基于改进状态等价类的新 $k$-最小化算法,该类允许在保持 $k$-相似性的同时高效合并状态。
- 他们利用 $k$-最小化 DFA 的紧凑表示,通过单次执行同时计算所有 $k$ 的结果。
- 该算法使用一种修改后的划分细化过程,仅关注长度小于 $k$ 的单词上的语言差异,采用广义的状态等价概念。
- 对于有限语言,该算法利用其结构特性,通过优化数据结构将时间复杂度降低至 $\mathcal{O}(\lvert M\rvert\log n)$。
- 通过从 3-可图性问题约化,建立了 NP-难性结果,构造出一个 DFA,其 $k$-最小化错误计数对应于着色冲突的数量。
- 该构造使用层级模块和状态超等价性,以受控方式模拟错误传播,从而实现精确的错误计数。
实验结果
研究问题
- RQ1能否为具有部分转移函数的 DFA 设计一种更简单、更快速的 $k$-最小化算法?
- RQ2是否可以使用新算法在单次运行中计算所有 $k$ 的 $k$-最小化 DFA?
- RQ3在 $k$-最小化过程中引入错误数最小化的计算复杂度是什么?
- RQ4是否存在一个多项式时间算法,可找到一个最多包含 $s$ 个状态且相对于原 DFA 最多引入 $m$ 个错误的 DFA?
- RQ5在压缩(状态数)与错误数之间进行权衡是否可以高效优化?
主要发现
- 所提出的 $k$-最小化算法在一般 DFA 上的时间复杂度为 $\mathcal{O}(\lvert M\rvert\log^2 n)$,在有限语言上为 $\mathcal{O}(\lvert M\rvert\log n)$,优于先前的最佳算法。
- 新算法显著简化了以往方法,且可在单次遍历中并行计算所有 $k$ 的 $k$-最小化 DFA。
- 判断是否存在最多引入 $m$ 个错误的 $k$-最小化 DFA 的问题即使在 $k$ 固定时也是 NP-难问题。
- 寻找最多包含 $s$ 个状态且最多引入 $m$ 个错误的 DFA 的问题同样为 NP-难问题,表明在压缩与错误之间权衡存在固有的复杂性。
- 作者构造了一个 DFA,其 $k$-最小化错误计数恰好等于图中无效 3-着色的数量,通过从 3-可图性问题约化证明了 NP-难性。
- 该构造确保所有错误均局限于长度小于 $k$ 的单词上,从而确认了 $k$-相似性,并证明所得到的 $k$-最小化 DFA 在状态数上是最优的。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。