Sub-automata of Finite-State Automata. Application to the Compression of Electronic Dictionaries
Sous-automates à nombre fini d'états. Application à la compression de dictionnaires électroniques
Résumé
This work deals with the internal structure of acyclic finite-state automata (FSA). We propose an O(n3) algorithm to compute all sub-automata of a given automaton. This study can be used in applications such as decomposing a very large FSA into smaller ones, discovering and factoring frequently occurring sub-automata, and reducing memory consumption.
The second part of our work uses our algorithm for the compression and indexation of automata that represent electronic dictionaries. We propose a compression algorithm for such automata, with preservation of an efficient access to data. We developed several applications, which take advantage, on the one hand, of the directed acyclic word graph, initially devised for indexing text, but here used to index the sub-automata, and, on the other hand, of heuristics meant to select the most interesting substructures to factor, i.e. those that most reduce memory storage.
Dans ce travail, nous nous intéressons à l'étude de la structure interne des automates acycliques à nombre fini d'états. Nous proposons un algorithme en O(n3) pour calculer l'ensemble des sous-automates associés à un automate donné. Cette étude ouvre les portes à diverses applications telles que la décomposition de grands automates, la recherche et la factorisation de sous-automates identiques, et elle peut aussi contribuer à une compression de ces données.
La seconde partie du travail applique notre algorithme à la compression et l'indexation des automates représentant des dictionnaires électroniques. Nous proposons un algorithme de compression de ces automates avec conservation d'un accès efficace aux données. Dans ce contexte, nous avons développé diverses applications qui mettent en jeu, d'une part, l'automate des suffixes initialement conçu pour l'indexation de texte, mais ici utilisé pour indexer les sous-automates, et, d'autre part, des heuristiques permettant de sélectionner les sous-structures les plus intéressantes à factoriser, celles qui maximisent le gain de mémoire.
Origine | Fichiers produits par l'(les) auteur(s) |
---|