aima.core.probability.temporal.ForwardStepInference Maven / Gradle / Ivy
package aima.core.probability.temporal;
import java.util.List;
import aima.core.probability.CategoricalDistribution;
import aima.core.probability.proposition.AssignmentProposition;
/**
* * The FORWARD operator is defined by Equation (15.5).
*
*
* P(Xt+1 | e1:t+1)
* = αP(et+1 | Xt+1)∑xtP(Xt+1 | xt, e1:t)P(xt | e1:t)
* = αP(et+1 | Xt+1)∑xtP(Xt+1 | xt)P(xt | e1:t) (Markov Assumption)
*
*
* @author Ciaran O'Reilly
*
*/
public interface ForwardStepInference {
/**
* The FORWARD operator is defined by Equation (15.5).
*
*
* P(Xt+1 | e1:t+1)
* = αP(et+1 | Xt+1)∑xtP(Xt+1 | xt, e1:t)P(xt | e1:t)
* = αP(et+1 | Xt+1)∑xtP(Xt+1 | xt)P(xt | e1:t) (Markov Assumption)
*
*
* @param f1_t
* f1:t
* @param e_tp1
* et+1
* @return f1:t+1
*/
CategoricalDistribution forward(CategoricalDistribution f1_t,
List e_tp1);
}