aima.core.probability.bayes.DynamicBayesianNetwork 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.bayes;
import java.util.List;
import java.util.Map;
import java.util.Set;
import aima.core.probability.RandomVariable;
/**
* Artificial Intelligence A Modern Approach (3rd Edition): page 590.
*
* A dynamic Bayesian network, or DBN, is a Bayesian network that
* represents a temporal probability model. In general, each slice of a DBN can
* have any number of state variables XtEt. For simplicity, we assume that the variables
* and their links are exactly replicated from slice to slice and that the DBN
* represents a first-order Markov process, so that each variable can have
* parents only in its own slice or the immediately preceding slice.
*
* @author Ciaran O'Reilly
*
*/
public interface DynamicBayesianNetwork extends BayesianNetwork {
/**
*
* @return a Bayesian Network containing just the nodes representing the
* prior distribution (layer 0) of the dynamic bayesian network.
*/
BayesianNetwork getPriorNetwork();
/**
*
* @return the set of state variables representing the prior distribution.
*/
Set getX_0();
/**
*
* @return the set of state variables representing the first posterior slice
* of the DBN. This along with X0 should represent
* the transition model P(X1 |
* X0).
*/
Set getX_1();
/**
*
* @return the X_1 variables in topological order.
*/
List getX_1_VariablesInTopologicalOrder();
/**
*
* @return a Map indicating equivalent variables between X0 and
* X1.
*/
Map getX_0_to_X_1();
/**
*
* @return a Map indicating equivalent variables between X1 and
* X0.
*/
Map getX_1_to_X_0();
/**
*
* @return the set of state variables representing the evidence variables
* for the DBN. This along with X1 should
* represent the sensor model P(E1 |
* X1).
*/
Set getE_1();
}