TWiki> FST Web>FstQuickTour>SynchronizeDoc (revision 5)EditAttach



This operation synchronizes a transducer. The result will be an equivalent FST that has the property that during the traversal of a path, the delay is either zero or strictly increasing, where the delay is the difference between the number of non-epsilon output labels and input labels along the path.

For the algorithm to terminate, the input transducer must have bounded delay, i.e., the delay of every cycle must be zero.


template <class Arc>
void Synchronize(const Fst<Arc> &ifst, MutableFst<Arc> *ofst);
doc [bad link?]
template <class Arc> SynchronizeFst<Arc>::
SynchronizeFst(const Fst<Arc>& fst);
fstsynchronize a.fst out.fst




Synchronize of A:


Synchronize(A, &B);
fstsynchronize a.fst out.fst


  • A has bound delay: exponential
  • A does not have bound delay: does not terminate
  • Constructor: O(1)
  • Traversal:
    • A has bound delay: exponential
    • A does not have bound delay: does not terminate


-- CyrilAllauzen - 22 Jun 2007

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg synchronize1.jpg r3 r2 r1 manage 7.6 K 2007-06-26 - 17:40 CyrilAllauzen Input transducer for synchronize example
JPEGjpg synchronize2.jpg r3 r2 r1 manage 12.3 K 2007-06-26 - 17:34 CyrilAllauzen Output transducer for synchronize example
Edit | Attach | Watch | Print version | History: r9 | r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r5 - 2007-06-26 - CyrilAllauzen
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback