All Downloads are FREE. Search and download functionalities are using the official Maven repository.

aima.core.probability.bayes.BayesianNetwork Maven / Gradle / Ivy

Go to download

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 aima.core.probability.RandomVariable;

/**
 * Artificial Intelligence A Modern Approach (3rd Edition): page 510.
*
* Bayesian Networks are used to represent the dependencies among Random * Variables. They can represent essentially any full joint probability * distribution and in many cases can do so very concisely. A Bayesian network * is a directed graph in which each node is annotated with quantitative * probability information. The full specification is as follows:
*
* 1. Each node corresponds to a random variable, which may be discrete or * continuous.
*
* 2. A set of directed links or arrows connects pairs of nodes. If there is an * arrow from node X to node Y, X is said to be a parent of Y. The graph has no * directed cycles (and hence is a directed acyclic graph, or DAG.
*
* 3. Each node Xi has a conditional probability distribution * P(Xi | Parents(Xi)) that quantifies the effect of the * parents on the node.
*
* The topology of the network - the set of nodes and links - specifies the * conditional independence relationships that hold in the domain.
*
* A network with both discrete and continuous variables is called a hybrid * Bayesian network.
*
* Note(1): "Bayesian Network" is the most common name used, but there * are many synonyms, including "belief network", "probabilistic network", * "causal network", and "knowledge map". * * @author Ciaran O'Reilly */ public interface BayesianNetwork { /** * @return a list of the Random Variables, in topological order, contained * within the network. */ List getVariablesInTopologicalOrder(); /** * * @param rv * the RandomVariable whose corresponding Node is to be * retrieved. * @return the Node associated with the random variable in this Bayesian * Network. */ Node getNode(RandomVariable rv); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy