Packed Acyclic Deterministic Finite Automata

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Shibata, Hiroki, Ishihata, Masakazu, Inenaga, Shunsuke
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913540086956032
author Shibata, Hiroki
Ishihata, Masakazu
Inenaga, Shunsuke
author_facet Shibata, Hiroki
Ishihata, Masakazu
Inenaga, Shunsuke
contents An acyclic deterministic finite automaton (ADFA) is a data structure that represents a set of strings (i.e., a dictionary) and facilitates a pattern searching problem of determining whether a given pattern string is present in the dictionary. We introduce the packed ADFA (PADFA), a compact variant of ADFA, which is designed to achieve more efficient pattern searching by encoding specific paths as packed strings stored in contiguous memory. We theoretically demonstrate that pattern searching in PADFA is near time-optimal with a small additional overhead and becomes fully time-optimal for sufficiently long patterns. Moreover, we prove that a PADFA requires fewer bits than a trie when the dictionary size is relatively smaller than the number of states in the PADFA. Lastly, we empirically show that PADFAs improve both the space and time efficiency of pattern searching on real-world datasets.
format Preprint
id arxiv_https___arxiv_org_abs_2410_07602
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Packed Acyclic Deterministic Finite Automata
Shibata, Hiroki
Ishihata, Masakazu
Inenaga, Shunsuke
Data Structures and Algorithms
An acyclic deterministic finite automaton (ADFA) is a data structure that represents a set of strings (i.e., a dictionary) and facilitates a pattern searching problem of determining whether a given pattern string is present in the dictionary. We introduce the packed ADFA (PADFA), a compact variant of ADFA, which is designed to achieve more efficient pattern searching by encoding specific paths as packed strings stored in contiguous memory. We theoretically demonstrate that pattern searching in PADFA is near time-optimal with a small additional overhead and becomes fully time-optimal for sufficiently long patterns. Moreover, we prove that a PADFA requires fewer bits than a trie when the dictionary size is relatively smaller than the number of states in the PADFA. Lastly, we empirically show that PADFAs improve both the space and time efficiency of pattern searching on real-world datasets.
title Packed Acyclic Deterministic Finite Automata
topic Data Structures and Algorithms
url https://arxiv.org/abs/2410.07602