Efficient concise deterministic pattern-matching automata for ambiguous patterns
ACM SIGPLAN Notices
Minimal deterministic left-to-right pattern-matching automata
ACM SIGPLAN Notices
Improving Space, Time, and Termination in Rewriting-Based Programming
Proceedings of the 14th International conference on Industrial and engineering applications of artificial intelligence and expert systems: engineering of intelligent systems
Optimal Adaptive Pattern Matching
IEA/AIE '02 Proceedings of the 15th international conference on Industrial and engineering applications of artificial intelligence and expert systems: developments in applied artificial intelligence
Minimal Adaptive Pattern-Matching Automata for Efficient Term Rewriting
CIAA '01 Revised Papers from the 6th International Conference on Implementation and Application of Automata
Handbook of automated reasoning
Efficient pattern matching for non-strongly sequential term rewriting systems
IEA/AIE'2003 Proceedings of the 16th international conference on Developments in applied artificial intelligence
Efficient manipulation of binary data using pattern matching
Journal of Functional Programming
On preventing intrusions by process behavior monitoring
ID'99 Proceedings of the 1st conference on Workshop on Intrusion Detection and Network Monitoring - Volume 1
Compiling pattern matching to good decision trees
Proceedings of the 2008 ACM SIGPLAN workshop on ML
More efficient left-to-right pattern matching in non-sequential equational programs
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
A high-performance network monitoring platform for intrusion detection
ICOIN'05 Proceedings of the 2005 international conference on Information Networking: convergence in broadband and mobile networking
Complete pattern matching: recursivity versus multi-threading
VECPAR'04 Proceedings of the 6th international conference on High Performance Computing for Computational Science
Intrusion detection system for high-speed network
Computer Communications
Hi-index | 0.00 |
Pattern matching is an important operation used in many applications such as functional programming, rewriting, and rule-based expert systems. By preprocessing the patterns into a DFA-like automaton, we can rapidly select the matching pattern(s) in a single scan of the relevant portions of the input term. This automaton is typically based on left-to-right traversal of the patterns. By adapting the traversal order to suit the set of input patterns, it is possible to considerably reduce the space and matching time requirements of the automaton. The design of such adaptive automata is the focus of this paper. We first formalize the notion of an adaptive traversal. We then present several strategies for synthesizing adaptive traversal orders aimed at reducing space and matching time complexity. In the worst case, however, the space requirements can be exponential in the size of the patterns. We show this by establishing an exponential lower bounds on space that is independent of the traversal order used. We then discuss an orthogonal approach to space minimization based on direct construction of optimal dag automata. Finally, our work brings forth the impact of typing in pattern matching. In particular, we show that several important problems (e.g., lazy pattern matching in ML) are computationally hard in the presence of type disciplines, whereas they can be solved efficiently in the untyped setting.