Academia.eduAcademia.edu

Nondeterministic Finite Automata

2019, Automata and Computability

Abstract

Deterministic finite automata are one of the simplest and most practical models of computation studied in automata theory. Their conceptual extension is the non-deterministic finite automata which also have plenty of applications. In this article, we study these models through the lens of succinct data structures where our ultimate goal is to encode these mathematical objects using information theoretically optimal number of bits along with supporting queries on them efficiently. Towards this goal, we first design a succinct data structure for representing any deterministic finite automaton D having n states over a σ-letter alphabet Σ using (σ − 1)n log n + O(n log σ) bits of space, which can determine, given an input string x over Σ, whether D accepts x optimally in time proportional to the length of x, using constant words of working space. When the input deterministic finite automaton is acyclic, we can improve the above space bound significantly to (σ − 1)(n − 1) log n + 3n + O(log 2 σ) + o(n) bits, without compromising the running time for string acceptance checking. Finally, we exhibit our succinct data structure for representing a non-deterministic finite automaton N having n states over a σ-letter alphabet Σ using σn 2 + n bits of space, such that given an input string x, we can decide whether N accepts x efficiently in polynomial time.