English

Sorting Finite Automata via Partition Refinement

Data Structures and Algorithms 2023-12-19 v2

Abstract

Wheeler nondeterministic finite automata (WNFAs) were introduced as a generalization of prefix sorting from strings to labeled graphs. WNFAs admit optimal solutions to classic hard problems on labeled graphs and languages. The problem of deciding whether a given NFA is Wheeler is known to be NP-complete. Recently, however, Alanko et al. showed how to side-step this complexity by switching to preorders: letting QQ be the set of states, EE the set of transitions, Q=n|Q|=n, and E=m|E|=m, they provided a O(mn2)O(mn^2)-time algorithm computing a totally-ordered partition of the WNFA's states such that (1) equivalent states recognize the same regular language, and (2) the order of non-equivalent states is consistent with any Wheeler order, when one exists. Then, the output is a preorder of the states as useful for pattern matching as standard Wheeler orders. Further research generalized these concepts to arbitrary NFAs by introducing co-lex partial preorders: any NFA admits a partial preorder of its states reflecting the co-lex order of their accepted strings; the smaller the width of such preorder is, the faster regular expression matching queries can be performed. To date, the fastest algorithm for computing the smallest-width partial preorder on NFAs runs in O(m2+n5/2)O(m^2+n^{5/2}) time, while on DFAs the same can be done in O(min(n2logn,mn))O(\min(n^2\log n,mn)) time. In this paper, we provide much more efficient solutions to the problem above. Our results are achieved by extending a classic algorithm for the relational coarsest partition refinement problem to work with ordered partitions. Specifically, we provide a O(mlogn)O(m\log n)-time algorithm computing a co-lex total preorder when the input is a WNFA, and an algorithm with the same time complexity computing the smallest-width co-lex partial order of any DFA. Also, we present implementations of our algorithms and show that they are very efficient in practice.

Keywords

Cite

@article{arxiv.2305.05129,
  title  = {Sorting Finite Automata via Partition Refinement},
  author = {Ruben Becker and Manuel Cáceres and Davide Cenzato and Sung-Hwan Kim and Bojana Kodric and Francisco Olivares and Nicola Prezza},
  journal= {arXiv preprint arXiv:2305.05129},
  year   = {2023}
}
R2 v1 2026-06-28T10:29:19.116Z