Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Handbook of theoretical computer science (vol. B)
Minimisation of acyclic deterministic automata in linear time
Theoretical Computer Science - Selected papers of the Combinatorial Pattern Matching School
Data structures, algorithms, and performance
Data structures, algorithms, and performance
Software—Practice & Experience
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
A Trie Compaction Algorithm for a Large Set of Keys
IEEE Transactions on Knowledge and Data Engineering
Building the Minimal DFA for the Set of all Subwords of a Word On-line in Linear Time
Proceedings of the 11th Colloquium on Automata, Languages and Programming
Direct Construction of Compact Directed Acyclic Word Graphs
CPM '97 Proceedings of the 8th Annual Symposium on Combinatorial Pattern Matching
Incremental construction of minimal acyclic finite-state automata
Computational Linguistics - Special issue on finite-state methods in NLP
Incremental construction of minimal acyclic finite state automata and transducers
FSMNLP '09 Proceedings of the International Workshop on Finite State Methods in Natural Language Processing
Incremental construction of minimal deterministic finite cover automata
Theoretical Computer Science - Implementation and application of automata
A Compression Method for Natural Language Automata
Proceedings of the 2009 conference on Finite-State Methods and Natural Language Processing: Post-proceedings of the 7th International Workshop FSMNLP 2008
An incremental algorithm for constructing minimal deterministic finite cover automata
CIAA'05 Proceedings of the 10th international conference on Implementation and Application of Automata
Bisociative discovery in business process models
Bisociative Knowledge Discovery
Hi-index | 5.23 |
In this paper, we present an on-line algorithm for adding words (strings) in deterministic directed acyclic word graphs (DAWGs) i.e. acyclic deterministic finite-state automata (DFAs). The proposed algorithm performs optimal insertion, meaning that if applied to a minimal DAWG, the DAWG after the insertion will also be minimal. The time required to add a new word is O(n) with respect to the size of the DAWG. Repetitive application of the proposed insertion algorithm can be used to construct minimal deterministic DAWGs incrementally, although the algorithm is not time-efficient for building minimal DAWGs from a set of words: to build a DAWG of n words this way, O(n2) time is required. However, the algorithm is quite useful in cases where existing minimal DAWGs have to be updated rapidly (e.g. speller dictionaries), since each word insertion traverses only a limited portion of the graph and no additional minimization operation is required. This makes the process very efficient to be used on-line. This paper provides a proof of correctness for the algorithm, a calculation of its time-complexity and experimental results.