Results 1  10
of
25
FiniteState Transducers in Language and Speech Processing
 Computational Linguistics
, 1997
"... Finitestate machines have been used in various domains of natural language processing. We consider here the use of a type of transducers that supports very efficient programs: sequential transducers. We recall classical theorems and give new ones characterizing sequential stringtostring transducer ..."
Abstract

Cited by 320 (42 self)
 Add to MetaCart
Finitestate machines have been used in various domains of natural language processing. We consider here the use of a type of transducers that supports very efficient programs: sequential transducers. We recall classical theorems and give new ones characterizing sequential stringtostring transducers. Transducers that output weights also play an important role in language and speech processing. We give a specific study of stringtoweight transducers, including algorithms for determinizing and minimizing these transducers very efficiently, and characterizations of the transducers admitting determinization and the corresponding algorithms. Some applications of these algorithms in speech recognition are described and illustrated. 1.
Incremental Construction of Minimal Acyclic Finite State Automata and Transducers
, 1998
"... In this paper, we describe a new method for constructing mi, lmal, determin istic, acyclic finite state automata and transducers. Traditional methods consist of two steps. The first one is to construct a trie, the second one  to perform minimization. Our approach is to construct an automaton i ..."
Abstract

Cited by 46 (5 self)
 Add to MetaCart
In this paper, we describe a new method for constructing mi, lmal, determin istic, acyclic finite state automata and transducers. Traditional methods consist of two steps. The first one is to construct a trie, the second one  to perform minimization. Our approach is to construct an automaton in a single step by adding new strings one by one and minjmizin the resulting automaton onthefly. We present a general algorithm as well as a specialization that relies upon the lexicographical sorting of the input strings.
Experimental evaluation of classical automata constructions
 In In LPAR 2005, LNCS 3835
, 2005
"... Abstract. There are several algorithms for producing the canonical DFA from a given NFA. While the theoretical complexities of these algorithms are known, there has not been a systematic empirical comparison between them. In this work we propose a probabilistic framework for testing the performance ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
(Show Context)
Abstract. There are several algorithms for producing the canonical DFA from a given NFA. While the theoretical complexities of these algorithms are known, there has not been a systematic empirical comparison between them. In this work we propose a probabilistic framework for testing the performance of automatatheoretic algorithms. We conduct a direct experimental comparison between Hopcroft’s and Brzozowski’s algorithms. We show that while Hopcroft’s algorithm has better overall performance, Brzozowski’s algorithm performs better for “highdensity” NFA. We also consider the universality problem, which is traditionally solved explicitly via the subset construction. We propose an encoding that allows this problem to be solved symbolically via a modelchecker. We compare the performance of this approach to that of the standard explicit algorithm, and show that the explicit approach performs significantly better. 1
A Taxonomy of Finite Automata Construction Algorithms
 Computing Science
, 1993
"... This paper presents a taxonomy of finite automata construction algorithms. Each algorithm is classified into one of two families: those based upon the structure of regular expressions, and those based upon the automatatheoretic work of Myhill and Nerode. Many of the algorithms appearing in the lite ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
This paper presents a taxonomy of finite automata construction algorithms. Each algorithm is classified into one of two families: those based upon the structure of regular expressions, and those based upon the automatatheoretic work of Myhill and Nerode. Many of the algorithms appearing in the literature are based upon the structure of regular expressions. In this paper, we make this term precise by defining regular expressions as a \Sigmaterm algebra, and automata constructions as various \Sigmaalgebras of automata. Each construction algorithm is then presented as the unique natural homomorphism from the \Sigmaterm algebra of regular expressions to the appropriate \Sigmaalgebra of automata. The concept of duality is introduced and used to derive more practical construction algorithms. In this way, we successfully present (and relate) algorithms given by Thompson, Berry and Sethi, McNaughton and Yamada, Glushkov, and Aho, Sethi, and Ullman. Efficient implementations (including thos...
Program derivation with verified transformations – a case study
 Communications on Pure and Applied Mathematics
, 1996
"... ..."
The design and implementation of the FIRE engine: A C++ toolkit for FInite automata and Regular Expressions
, 1994
"... This paper describes the design and implementation of version 1.1 of the FIRE engine. The FIRE engine is a C++ class library implementing finite automata and regular expression algorithms. The algorithms implemented in the toolkit are almost all of those presented in the taxonomies of finite automa ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
This paper describes the design and implementation of version 1.1 of the FIRE engine. The FIRE engine is a C++ class library implementing finite automata and regular expression algorithms. The algorithms implemented in the toolkit are almost all of those presented in the taxonomies of finite automata algorithms [Wat93a, Wat93b]. The reader is assumed to be familiar with the two taxonomies and with advanced C++ programming techniques. The toolkit is implemented largely in an objectoriented style, with finite automata and regular expressions being defined as classes. All of the classes and functions in the toolkit are presented in the same format. For each class (or function) the format includes a short description of its behaviour, details of its implementation, and techniques for improving its performance. CONTENTS Contents 1 Introduction 3 1.1 Coding conventions and performance issues : : : : : : : : : : : : : : : : : : : : : : 3 1.1.1 Performance tuning : : : : : : : : : : : : ...
Continuant polynomials and worstcase behavior of Hopcroft’s minimization algorithm
, 2009
"... ..."
An introduction to the FIRE engine: A C++ toolkit for FInite automata and Regular Expressions
, 1994
"... This paper is an introduction to the programmer's interface of version 1.1 of the FIRE engine. The FIRE engine is a C++ class library implementing finite automata and regular expression algorithms. The algorithms implemented in the toolkit are almost all of those presented in the taxonomies of ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
This paper is an introduction to the programmer's interface of version 1.1 of the FIRE engine. The FIRE engine is a C++ class library implementing finite automata and regular expression algorithms. The algorithms implemented in the toolkit are almost all of those presented in the taxonomies of finite automata algorithms [Wat93a, Wat93b]. None of the implementation details of the library are discussed  such design and implementation details are given in [Wat94]. The toolkit is unique in providing implementations of all of the known algorithms for constructing finite automata. The implementations, which were developed with efficiency in mind, are intended for use in production quality applications. No shell or graphical userinterface is provided, as the toolkit is intended for integration into applications. The implementations of the algorithms follow directly from the abstract algorithms appearing in [Wat93a, Wat93b]. As such, the toolkit also serves as an educational example of the...
Automatic Verification of Petri Nets in a CLP Framework
, 1997
"... This thesis presents an approach to automatic verification of Petri Nets. The method is formulated in a CLP framework and the class of systems we consider is characterized syntactically as a special class of Constraint Logic Programs. The state space of the system in question coincides with the leas ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This thesis presents an approach to automatic verification of Petri Nets. The method is formulated in a CLP framework and the class of systems we consider is characterized syntactically as a special class of Constraint Logic Programs. The state space of the system in question coincides with the least fixpoint of the program. The method presented can therefore equivalently be viewed as a construction of a fixpoint computation scheme, for the programs under consideration. The main motivation is to synthesize invariants for verification. The approach to verify a program consists of two parts: 1. Computing a finite representation of the fixpoint as a formula in some given theory. 2. Checking that the fixpoint entails the specification, also expressed as a formula in the theory. A CLP program is considered as an inductive definition of a set and the idea is to find the minimal solution by constructing a nonrecursive formula defining the same set in a (decidable) theory. In the case of Petr...
An implementation of deterministic tree automata minimization
"... Abstract. A frontiertoroot deterministic finitestate tree automaton (DTA) can be used as a compact data structure to store collections of unranked ordered trees. DTAs are usually sparser than string automata, as most transitions are undefined and therefore, special care must be taken in order to ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. A frontiertoroot deterministic finitestate tree automaton (DTA) can be used as a compact data structure to store collections of unranked ordered trees. DTAs are usually sparser than string automata, as most transitions are undefined and therefore, special care must be taken in order to minimize them efficiently. However, it is difficult to find simple and detailed descriptions of the minimization procedure in the published literature. Here, we fully describe a simple implementation of the standard minimization algorithm that needs a time in O(A  2), with A  being the size of the DTA. 1