Results 11  20
of
37
New techniques for regular expression searching
 Algorithmica
, 2005
"... We present two new techniques for regular expression searching and use them to derive faster practical algorithms. Based on the specific properties of Glushkov’s nondeterministic finite automaton construction algorithm, we show how to encode a deterministic finite automaton (DFA) using O(m2 m) bits, ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
We present two new techniques for regular expression searching and use them to derive faster practical algorithms. Based on the specific properties of Glushkov’s nondeterministic finite automaton construction algorithm, we show how to encode a deterministic finite automaton (DFA) using O(m2 m) bits, where m is the number of characters, excluding operator symbols, in the regular expression. This compares favorably against the worst case of O(m2 m Σ) bits needed by a classical DFA representation (where Σ is the alphabet) and O(m2 2m) bits needed by the Wu and Manber approach implemented in Agrep. We also present a new way to search for regular expressions, which is able to skip text characters. The idea is to determine the minimum length ℓ of a string matching the regular expression, manipulate the original automaton so that it recognizes all the reverse prefixes of length up to ℓ of the strings originally accepted, and use it to skip text characters as done for exact string matching in previous work. We combine these techniques into two algorithms, one able and one unable to skip text characters. The algorithms are simple to implement, and our experiments show that they permit fast searching for regular expressions, normally faster than any existing algorithm. 1
Implementing WS1S via Finite Automata
 In Automata Implementation, WIA '96, Proceedings, volume 1260 of LNCS
, 1997
"... It has long been known that WS1S is decidable through the use of finite automata. However, since the worst case running time has been proven to grow extremely quickly, few have explored the implementation of the algorithm. In this paper we describe some of the points of interest that have come up ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
It has long been known that WS1S is decidable through the use of finite automata. However, since the worst case running time has been proven to grow extremely quickly, few have explored the implementation of the algorithm. In this paper we describe some of the points of interest that have come up while coding and running the algorithm. These points include the data structures used as well as the special properties of the automata, which we can exploit to perform minimization very quickly in certain cases. We also present some data that enable us to gain insight into how the algorithm performs in the average case, both on random inputs ans on inputs that come from the use of Presburger Arithmetic (which can be converted to WS1S) in compiler optimization. 1 Introduction 1.1 Definitions 1.1.1 WS1S The language L S1S is the secondorder predicate calculus ranging over the natural numbers, with variables x 1 ; X 1 ; x 2 ; X 2 ; : : : (to represent numbers and sets of numbers), r...
Anticipatory Guidance of Plot
 In proceedings of Workshop of Adaptive Behaviour in Anticipatory Learning Systems (ABiALS
, 2002
"... Abstract. An anticipatory system for guiding plot development in interactive narratives is described. The executable model is a finite automaton that provides the implemented system with a lookahead. The identification of undesirable future states in the model is used to guide the player, in a trans ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Abstract. An anticipatory system for guiding plot development in interactive narratives is described. The executable model is a finite automaton that provides the implemented system with a lookahead. The identification of undesirable future states in the model is used to guide the player, in a transparent manner. In this way, too radical twists of the plot that lead to behaviors of the autonomous fellow players, which may be experienced as counterintuitive, can be avoided. Since the player participates in the development of the plot, such guidance can have many forms, depending on the environment of the player, on the behavior of the other players, and on the means of player interaction. We present a topdown design method for interactive narratives which make designs suitable for the implementation of anticipatory mechanisms. Use of the method is illustrated by application to our interactive computer game Kaktus. 1 Interactive Narrative
On the performance of automata minimization algorithms
 DCC  FC & LIACC, UNIVERSIDADE DO PORTO
, 2007
"... Apart from the theoretical worstcase running time analysis not much is known about the averagecase analysis or practical performance of finite automata minimization algorithms. On this paper we compare the running time of four minimization algorithms based on experimental results. We applied thes ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
Apart from the theoretical worstcase running time analysis not much is known about the averagecase analysis or practical performance of finite automata minimization algorithms. On this paper we compare the running time of four minimization algorithms based on experimental results. We applied these algorithms to both deterministic and nondeterministic random automata.
Current Issues in Software Engineering for Natural Language Processing
 Proc. of the Workshop on Software Engineering and Architecture of Language Technology Systems (SEALTS), the Joint Conf. for Human Language Technology and the Annual Meeting of the Noth American Chapter of the Association for Computational Linguistics (HLT
, 2003
"... In Natural Language Processing (NLP), research results from software engineering and software technology have often been neglected. ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
In Natural Language Processing (NLP), research results from software engineering and software technology have often been neglected.
Checking NFA equivalence with bisimulations up to congruence
"... Abstract—We introduce bisimulation up to congruence as a technique for proving language equivalence of nondeterministic finite automata. Exploiting this technique, we devise an optimisation of the classical algorithm by Hopcroft and Karp [12] that, instead of computing the whole determinised automa ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Abstract—We introduce bisimulation up to congruence as a technique for proving language equivalence of nondeterministic finite automata. Exploiting this technique, we devise an optimisation of the classical algorithm by Hopcroft and Karp [12] that, instead of computing the whole determinised automata, explores only a small portion of it. Although the optimised algorithm remains exponential in worst case (the problem is PSPACEcomplete), experimental results show improvements of several orders of magnitude over the standard algorithm. I.
Brzozowski’s algorithm (co)algebraically
"... Abstract. We give a new presentation of Brzozowski’s algorithm to minimize finite automata, using elementary facts from universal algebra and coalgebra, and building on earlier work by Arbib and Manes on the duality between reachability and observability. This leads to a simple proof of its correctn ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Abstract. We give a new presentation of Brzozowski’s algorithm to minimize finite automata, using elementary facts from universal algebra and coalgebra, and building on earlier work by Arbib and Manes on the duality between reachability and observability. This leads to a simple proof of its correctness and opens the door to further generalizations. 1
Multitape Automata for Speech and Language Systems: A Prolog Implementation
, 1998
"... . This paper describes a Prolog implementation of multitape finitestate automata and illustrates its use with a rewrite rules system. Operators which are multitape specific are defined and algorithms for constructing their behaviour into multitape machines are given. 1 Introduction Finitestate ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
. This paper describes a Prolog implementation of multitape finitestate automata and illustrates its use with a rewrite rules system. Operators which are multitape specific are defined and algorithms for constructing their behaviour into multitape machines are given. 1 Introduction Finitestate machines have been used in natural language and speech systems for a few decades (for the latest in the field, see (Roche, 1997)). Their ease of implementation and mathematical elegance made them popular for many purposes, especially systems which require regular rewrite rules. Traditionally, two versions of finitestate machines have been used: acceptors  with one input tape  where each transition is marked with a symbol, and transducers (or Mealy machines (Mealy, 1955))  with one input tape and one output tape  where a transition is marked with two symbols for input and output, respectively. Hence, a transducer is seen as describing a mathematical settheoretic binary relation. ...
A Taxonomy of Algorithms for Constructing Minimal Acyclic Deterministic Finite Automata
 Proc. Workshop on Implementing Automata
, 1999
"... this paper, we present a taxonomy of algorithms for constructing minimal acyclic deterministic finite automata (MADFAs). MADFAs represent finite languages and are therefore useful in applications such as storing words for spellchecking, computer and biological virus searching, text indexing and XML ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
this paper, we present a taxonomy of algorithms for constructing minimal acyclic deterministic finite automata (MADFAs). MADFAs represent finite languages and are therefore useful in applications such as storing words for spellchecking, computer and biological virus searching, text indexing and XML tag lookup. In such applications, the automata can grow extremely large (with more than 10
Towards SPARE Time: A New Taxonomy and Toolkit of Keyword Pattern Matching Algorithms
, 2003
"... We present a new taxonomy and toolkit of keyword pattern matching algorithms. The new taxonomy is an extension of a prior taxonomy of such algorithms. It includes a number of algorithms (including factor and factor oraclebased and bitparallel prefixbased pattern matching algorithms) that have be ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
We present a new taxonomy and toolkit of keyword pattern matching algorithms. The new taxonomy is an extension of a prior taxonomy of such algorithms. It includes a number of algorithms (including factor and factor oraclebased and bitparallel prefixbased pattern matching algorithms) that have been published or received a lot of attention in the last decade. Based on the new taxonomy, we developed a pattern matching toolkit. This toolkit is a revision and extension of the SPARE Parts toolkit that had been developed based on the original taxonomy. We present the architecture of the new toolkit, which is named SPARE Time. Samenvatting We presenteren een nieuwe taxonomie en toolkit van algorithmen voor keyword pattern matching. De nieuwe taxonomie vormt een uitbreiding van een eerdere taxonomie van zulke algorithmen. Ze bevat een aantal algorithmen (waaronder algorithmen gebaseerd op factoren en factor oracles en bitparallelle algorithmen gebaseerd op prefixen) die in de afgelopen tien jaar gepubliceerd zijn of veel aandacht gekregen hebben.