Results 1  10
of
15
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 308 (41 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 42 (4 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 LPAR 2005, LNCS 3835
, 2005
"... 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 auto ..."
Abstract

Cited by 17 (3 self)
 Add to MetaCart
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.
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 15 (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
, 1995
"... A program development methodology based on verified program transformations is described and illustrated through derivations of a high level bisimulation algorithm and an improved minimumstate DFA algorithm. Certain doubts that were raised about the correctness of an initial paperandpencil deriva ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
A program development methodology based on verified program transformations is described and illustrated through derivations of a high level bisimulation algorithm and an improved minimumstate DFA algorithm. Certain doubts that were raised about the correctness of an initial paperandpencil derivation of the DFA minimizationalgorithm were laid to rest by machinechecked formal proofs of the most difficult derivational steps. Although the protracted labor involved in designing and checking these proofs was almost overwhelming, the expense was somewhat offset by a successful reuse of major portions of these proofs. In particular, the DFA minimization algorithm is obtained by specializing and then extending the last step in the derivation of the high level bisimulation algorithm. Our experience suggests that a major focus of future research should be aimed towards improving the technology of machine checkable proofs  their construction, presentation, and reuse. This paper demonstrat...
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 3 (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...
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
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 finit ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
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...
Finite State Transducers in Haskell
, 2001
"... Acknowledgement I would like to thank my tutor Aarne Ranta, who introduced me to the subject of transducers and has always been there for me throughout the work when I had some questions or if I needed help to get out of a general state of confusion. I would also like to thank my friend Bj"orn ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Acknowledgement I would like to thank my tutor Aarne Ranta, who introduced me to the subject of transducers and has always been there for me throughout the work when I had some questions or if I needed help to get out of a general state of confusion. I would also like to thank my friend Bj"orn Nyberg, who was invaluable in the final step of this work. Finally, I would like to direct a general thanks to all the wonderful people in my life, none mentioned, none forgotten.