Papers
Topics
Authors
Recent
Search
2000 character limit reached

On Indexing and Compressing Finite Automata

Published 15 Jul 2020 in cs.DS | (2007.07718v1)

Abstract: An index for a finite automaton is a powerful data structure that supports locating paths labeled with a query pattern, thus solving pattern matching on the underlying regular language. In this paper, we solve the long-standing problem of indexing arbitrary finite automata. Our solution consists in finding a partial co-lexicographic order of the states and proving, as in the total order case, that states reached by a given string form one interval on the partial order, thus enabling indexing. We provide a lower bound stating that such an interval requires O(p)O(p) words to be represented, pp being the order's width (i.e. the size of its largest antichain). Indeed, we show that pp determines the complexity of several fundamental problems on finite automata: (i) Letting σ\sigma be the alphabet size, we provide an encoding for NFAs using ⌈log⁡σ⌉+2⌈log⁡p⌉+2\lceil\log \sigma\rceil + 2\lceil\log p\rceil + 2 bits per transition and a smaller encoding for DFAs using ⌈log⁡σ⌉+⌈log⁡p⌉+2\lceil\log \sigma\rceil + \lceil\log p\rceil + 2 bits per transition. This is achieved by generalizing the Burrows-Wheeler transform to arbitrary automata. (ii) We show that indexed pattern matching can be solved in O~(m⋅p<sup>2)\tilde O(m\cdot p<sup>2) query time on NFAs. (iii) We provide a polynomial-time algorithm to index DFAs, while matching the optimal value for p p . On the other hand, we prove that the problem is NP-hard on NFAs. (iv) We show that, in the worst case, the classic powerset construction algorithm for NFA determinization generates an equivalent DFA of size $2p(n-p+1)-1$, where nn is the number of NFA's states.

Citations (35)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.