acceptor : An acceptor is a finite automaton where each transition has a label and possibly a weight. In this library, an acceptor is represented as a transducer with the input and output label of each transition being equal.
accessible
: A state
co-accessible
: A state
delayed : An FST is delayed (or lazy, on-the-fly, or dynamic) if the computation of its states and transitions occur only when requested. The complexity of a delayed FSTs constructor is constant-time, while the complexity of its traversal is a function of only those states and transitions that are visited.
deterministic
: An acceptor is deterministic iff for each state
epsilon, ε : An input label that consumes no input or an output label emits no output.
equivalent : Two transducers are equivalent if for each input string, they produce the same output strings with the same weight. The output strings, however, may differ in the number of paths, in the location of epsilon transitions, or in the distribution of the weights along the paths.
functional : A transducer is functional if each input string is transduced to a unique output string. There may be multiple paths, however, that contain this input and output string pair.
multiplicity : The maximum number of times a label is repeated at a state - a measure of non-determinism.
out-degree : The number of transitions exiting a state.
semiring
: A semiring is a set of elements (weights) together with two binary
operations
successful path : A path from the initial state to some final state.
transducer : A transducer is a finite automaton where each transition has an input label, an output label, and possibly a weight.
trim : An automaton is trim (or connected) iff it contains no inaccessible or no-coaccessible states.
unambiguous : A transducer is unambiguous iff it has at most one successful path for any input labeling.
zero-sum-free
: A semiring is zero-sum-free if