Computer Science > Data Structures and Algorithms
[Submitted on 22 Jun 2023 (this version), latest version 4 Sep 2024 (v3)]
Title:Faster Compression of Deterministic Finite Automata
View PDFAbstract:Deterministic finite automata (DFA) are a classic tool for high throughput matching of regular expressions, both in theory and practice.
Due to their high space consumption, extensive research has been devoted to compressed representations of DFAs that still support efficient pattern matching queries.
Kumar~et~al.~[SIGCOMM 2006] introduced the \emph{delayed deterministic finite automaton} (\ddfa{}) which exploits the large redundancy between inter-state transitions in the automaton.
They showed it to obtain up to two orders of magnitude compression of real-world DFAs, and their work formed the basis of numerous subsequent results.
Their algorithm, as well as later algorithms based on their idea, have an inherent quadratic-time bottleneck, as they consider every pair of states to compute the optimal compression.
In this work we present a simple, general framework based on locality-sensitive hashing for speeding up these algorithms to achieve sub-quadratic construction times for \ddfa{}s.
We apply the framework to speed up several algorithms to near-linear time, and experimentally evaluate their performance on real-world regular expression sets extracted from modern intrusion detection systems.
We find an order of magnitude improvement in compression times, with either little or no loss of compression, or even significantly better compression in some cases.
Submission history
From: Philip Bille [view email][v1] Thu, 22 Jun 2023 09:51:40 UTC (2,151 KB)
[v2] Fri, 19 Jan 2024 14:28:40 UTC (3,135 KB)
[v3] Wed, 4 Sep 2024 10:40:12 UTC (3,142 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.