Liu Desheng, Huang Zhiping, Zhang Yimeng, Guo Xiaojun, Su Shaojing
College of Mechatronics and Automation, National University of Defense Technology, ChangSha 410073, China.
PLoS One. 2016 Nov 2;11(11):e0165864. doi: 10.1371/journal.pone.0165864. eCollection 2016.
Obtaining a minimal automaton is a fundamental issue in the theory and practical implementation of deterministic finite automatons (DFAs). A minimization algorithm is presented in this paper that consists of two main phases. In the first phase, the backward depth information is built, and the state set of the DFA is partitioned into many blocks. In the second phase, the state set is refined using a hash table. The minimization algorithm has a lower time complexity O(n) than a naive comparison of transitions O(n2). Few states need to be refined by the hash table, because most states have been partitioned by the backward depth information in the coarse partition. This method achieves greater generality than previous methods because building the backward depth information is independent of the topological complexity of the DFA. The proposed algorithm can be applied not only to the minimization of acyclic automata or simple cyclic automata, but also to automata with high topological complexity. Overall, the proposal has three advantages: lower time complexity, greater generality, and scalability. A comparison to Hopcroft's algorithm demonstrates experimentally that the algorithm runs faster than traditional algorithms.
获取最小自动机是确定性有限自动机(DFA)理论和实际实现中的一个基本问题。本文提出了一种最小化算法,该算法由两个主要阶段组成。在第一阶段,构建反向深度信息,并将DFA的状态集划分为多个块。在第二阶段,使用哈希表对状态集进行细化。该最小化算法的时间复杂度为O(n),低于朴素的转移比较方法O(n2)。需要通过哈希表细化的状态很少,因为大多数状态在粗划分中已由反向深度信息进行了划分。该方法比以前的方法具有更高的通用性,因为构建反向深度信息与DFA的拓扑复杂性无关。所提出的算法不仅可以应用于无环自动机或简单循环自动机的最小化,还可以应用于具有高拓扑复杂性的自动机。总体而言,该提议具有三个优点:较低的时间复杂度、更高的通用性和可扩展性。与霍普克罗夫特算法的比较实验表明,该算法比传统算法运行得更快。