Sublinear Matching With Finite Automata Using Reverse Suffix Scanning
Steven M. Kearns

TL;DR
This paper introduces algorithms to accelerate DFA computation by reverse scanning and offsetting automata, enabling significant input skipping and faster matching, adaptable to memory and time constraints.
Contribution
It presents offsetting finite automata (OFA) and algorithms for their construction and matching, allowing more input skipping than previous methods.
Findings
Over 80% input skipping in examples
Faster matching with OFA compared to previous algorithms
Adaptability to memory and time constraints
Abstract
We give algorithms to accelerate the computation of deterministic finite automata (DFA) by calculating the state of a DFA n positions ahead utilizing a reverse scan of the next n characters. Often this requires scanning fewer than n characters resulting in a fraction of the input being skipped and a commensurate increase in processing speed. The skipped fraction is > 80% in several of our examples. We introduce offsetting finite automata (OFA) to encode the accelerated computation. OFA generalize DFA by adding an integer offset to the current input index at each state transition. We give algorithms for constructing an OFA that accepts the same language as a DFA while possibly skipping input, and for matching with an OFA. Compared to previous algorithms that attempt to skip some of the input, the new matching algorithm can skip more often and can skip farther. In the worst case the new…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · semigroups and automata theory · Network Packet Processing and Optimization
