he automaton that we use for performing the mapping between these
two levels is the finite-state transducer or FST. A transducer maps between
one set of symbols and another; a finite-state transducer does this via a fi- nite automaton. Thus we usually visualize an FST as a two-tape automaton which recognizes or generates pairs of strings. The FST thus has a more general function than an FSA; where an FSA defines a formal language by defining a set of strings, an FST defines a relation between sets of strings. This relates to another view of an FST; as a machine that reads one string and generates another, Here’s a summary of this four-fold way of thinking about transducers:
An FST can be formally defined in a number of ways; we will rely
on the following definition, based on what is called the Mealy machine extension to a simple FSA: Q: a finite set of N states q 0 q 1 q N Σ: a finite alphabet of complex symbols. Each complex symbol is composed of an input-output pair i : o; one symbol i from an input alphabet I, and one symbol o from an output alphabet O, thus Σ I/O. I and O may each also include the epsilon symbol ε. q 0 : the start state F: the set of final states, F Q δ ( q ; i : o ) : the transition function or transition matrix between states. Given a state q 2 Q and complex symbol i : o 2 Σ, δ ( q ; i : o ) returns a new state q 0 2 Q. δ is thus a relation from Q X Σ to Q; Where an FSA accepts a language stated over a finite alphabet of single symbols, such as the alphabet of our sheep language: