aima.core.probability.temporal.BackwardStepInference Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aima-core Show documentation
Show all versions of aima-core Show documentation
AIMA-Java Core Algorithms from the book Artificial Intelligence a Modern Approach 3rd Ed.
The newest version!
package aima.core.probability.temporal;
import java.util.List;
import aima.core.probability.CategoricalDistribution;
import aima.core.probability.proposition.AssignmentProposition;
/**
* The BACKWARD operator
*
*
* bk+1:t = P(ek+1:t | Xk)
*
*
* is defined by Equation (15.9).
*
*
* P(ek+1:t | Xk)
* = ∑xk+1P(ek+1:t | Xk, xk+1)P(xk+1 | Xk) (conditioning on Xk+1)
* = ∑xk+1P(ek+1:t | xk+1)P(xk+1 | Xk) (by conditional independence)
* = ∑xk+1P(ek+1, ek+2:t | xk+1)P(xk+1 | Xk)
* = ∑xk+1P(ek+1 | xk+1)P(ek+2:t | xk+1)P(xk+1 | Xk)
*
*
* @author Ciaran O'Reilly
*
*/
public interface BackwardStepInference {
/**
* The BACKWARD operator
*
*
* bk+1:t = P(ek+1:t | Xk)
*
*
* is defined by Equation (15.9).
*
*
* P(ek+1:t | Xk)
* = ∑xk+1P(ek+1:t | Xk, xk+1)P(xk+1 | Xk) (conditioning on Xk+1)
* = ∑xk+1P(ek+1:t | xk+1)P(xk+1 | Xk) (by conditional independence)
* = ∑xk+1P(ek+1, ek+2:t | xk+1)P(xk+1 | Xk)
* = ∑xk+1P(ek+1 | xk+1)P(ek+2:t | xk+1)P(xk+1 | Xk)
*
*
* @param b_kp2t
* bk+2:t
* @param e_kp1t
* ek+1:t
* @return bk+1:t
*/
CategoricalDistribution backward(CategoricalDistribution b_kp2t,
List e_kp1t);
}