TWiki> FST Web>FstQuickTour>ReweightDoc (revision 2)EditAttach

Reweight

Description

This operation reweights an FST according to the potentials and in the direction specified by the user. Weight needs to be left distributive when reweighting towards the initial state and right distributive when reweighting towards the final states.

An arc of weight w, with an origin state of potential p and destination state of potential q, is reweighted by p-1 ⊗ (w ⊗ q) when reweighting towards the initial state and by (p ⊗ w) ⊗ q-1 when reweighting towards the final states.

Usage

enum ReweightType { REWEIGHT_TO_INITIAL, REWEIGHT_TO_FINAL };
template <class Arc>
void Reweight(MutableFst<Arc> *fst, vector<typename Arc::Weight> potential, ReweightType type)
%DOX{namespacefst.html#Reweight[doc]}%
fstreweight [--opts] a.fst potentials.txt out.fst
    --to_final: type = bool, default = false
      Push/reweight to final (vs. to initial) states
 

Complexity

Reweight:

  • Time: O(V + E)
  • Space: O(V + E)
where V = # of states and E = # of arcs.

-- CyrilAllauzen - 04 Jul 2007

Edit | Attach | Watch | Print version | History: r6 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2007-07-04 - CyrilAllauzen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback