package edu.berkeley.cs.nlp.ocular.model.transition;
import java.util.Collection;
import edu.berkeley.cs.nlp.ocular.gsm.GlyphChar;
import edu.berkeley.cs.nlp.ocular.model.TransitionStateType;
import edu.berkeley.cs.nlp.ocular.util.Tuple2;
/**
* @author Taylor Berg-Kirkpatrick (tberg@eecs.berkeley.edu)
*/
public interface SparseTransitionModel {
public static interface TransitionState {
public int getLanguageIndex();
/**
* The index of the character that was generated by the language model.
*/
public int getLmCharIndex();
/**
* The index of the character that will be rendered, as opposed to the
* underlying character generated by the language model.
*/
public GlyphChar getGlyphChar();
public TransitionStateType getType();
public int getOffset();
public int getExposure();
public Collection<Tuple2<TransitionState,Double>> forwardTransitions();
public Collection<Tuple2<TransitionState,Double>> nextLineStartStates();
public double endLogProb();
}
public Collection<Tuple2<TransitionState,Double>> startStates();
}