package dist;
import shared.Copyable;
import shared.DataSet;
import shared.Instance;
/**
* A distribution who's probabilities
* are precalculated and stored in the observation
* @author Andrew Guillory gtg008g@mail.gatech.edu
* @version 1.0
*/
public class PrecalculatedDistribution extends AbstractDistribution implements Copyable {
/**
* The index at which the precalculated probability is stored
*/
private int i;
/**
* Make a new precalculated output distribution
* @param i the index
*/
public PrecalculatedDistribution(int i) {
this.i = i;
}
/**
* @see hmm.distribution.OutputDistribution#generateRandom(hmm.observation.Observation)
*/
public Instance sample(Instance input) {
return null;
}
/**
* @see hmm.distribution.OutputDistribution#generateMostLikely(hmm.observation.Observation)
*/
public Instance mode(Instance input) {
return null;
}
/**
* @see hmm.distribution.OutputDistribution#probabilityOfObservation(hmm.observation.Observation)
*/
public double p(Instance inst) {
return inst.getContinuous(i);
}
/**
* @see dist.Distribution#logLikelihood(shared.Instance)
*/
public double logp(Instance i) {
return Math.log(p(i));
}
/**
* @see dist.Distribution#estimate(shared.DataSet)
*/
public void estimate(DataSet observations) { }
/**
* @see java.lang.Object#toString()
*/
public String toString() {
return "Precalculated " + i;
}
/**
* @see shared.Copyable#copy()
*/
public Copyable copy() {
return this;
}
}