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

aima.core.probability.FiniteProbabilityModel Maven / Gradle / Ivy

Go to download

AIMA-Java Core Algorithms from the book Artificial Intelligence a Modern Approach 3rd Ed.

There is a newer version: 3.0.0
Show newest version
package aima.core.probability;

import aima.core.probability.proposition.Proposition;

/**
 * Artificial Intelligence A Modern Approach (3rd Edition): page 484.
*
* A probability model on a discrete, countable set of worlds. The proper * treatment of the continuous case brings in certain complications that are * less relevant for most purposes in AI. * * @author Ciaran O'Reilly */ public interface FiniteProbabilityModel extends ProbabilityModel { /** * P(X,...)
* * @param phi * the propositions of interest. * @return all the possible values of the propositions φ. This is a * Vector of numbers, where we assume a predefined ordering of the * domain of the relevant random variables. */ CategoricalDistribution priorDistribution(Proposition... phi); /** * Get a conditional distribution. Example:
*
* P(X | Y) gives the values of P(X = xi | Y = * yj) for each possible i, j pair. * * @param phi * the proposition for which a probability distribution is to be * returned. * @param evidence * information we already have. * @return the conditional distribution for P(φ | evidence). */ CategoricalDistribution posteriorDistribution(Proposition phi, Proposition... evidence); /** * Get a distribution on multiple variables. Example, the product rule:
*
* P(X, Y) gives the values of P(X = xi | Y = * yj)P(Y = yj) for each possible i, j pair. * * @param propositions * the propositions for which a joint probability distribution is * to be returned. * @return the joint distribution for P(X, Y, ...). */ CategoricalDistribution jointDistribution(Proposition... propositions); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy