#include <plJointDistribution.h>
Inheritance diagram for plJointDistribution:
Public Member Functions | |
plJointDistribution (const plVariablesConjunction &all_params, const plKernel &f) | |
Creates a description with a single function. | |
plJointDistribution (const plKernel &f) | |
Creates a description with a single function. | |
plJointDistribution (const plVariablesConjunction &all_params, const plComputableObjectList &decomposition) | |
Creates a description with a multiple functions. | |
plJointDistribution (const plComputableObjectList &decomposition) | |
Creates a description with a multiple functions. | |
virtual | ~plJointDistribution () |
Destroys the description. | |
void | ask (plCndKernel &CndExpr, const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, plOptimizationCriterion optimization=PL_NO_OPTIMIZATION) const |
Creates an expression using exhaustive integration. | |
plCndKernel | ask (const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, plOptimizationCriterion optimization=PL_NO_OPTIMIZATION) const |
Creates an expression using exhaustive integration. | |
void | ask (plCndKernel &CndExpr, const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, unsigned int n) const |
Creates an expression using Monte Carlo integration using {n} points. | |
plCndKernel | ask (const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, unsigned int n) const |
Creates an expression using Monte Carlo integration using {n} points. | |
void | ask (plCndKernel &CndExpr, const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, int n) const |
Creates an expression using Monte Carlo integration using {n} points. | |
void | ask (plCndKernel &CndExpr, const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, plIntegrationModeType integration_mode, plFloat convergence_threshold) const |
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. | |
plCndKernel | ask (const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, plIntegrationModeType integration_mode, plFloat convergence_threshold) const |
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. | |
void | ask (plCndKernel &CndExpr, const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, bool do_not_build_normalization_expression, plOptimizationCriterion optimization=PL_NO_OPTIMIZATION) const |
Creates an expression using exhaustive integration. | |
void | ask (plCndKernel &CndExpr, const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, bool do_not_build_normalization_expression, unsigned int n) const |
Creates an expression using Monte Carlo integration using {n} points. | |
void | ask (plCndKernel &CndExpr, const plVariablesConjunction &search_params, const plVariablesConjunction &known_params, bool do_not_build_normalization_expression, plIntegrationModeType integration_mode, plFloat convergence_threshold) const |
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. | |
void | ask (plKernel &Expr, const plVariablesConjunction &search_params) const |
Creates an expression using exhaustive integration. | |
plKernel | ask (const plVariablesConjunction &search_params) const |
Creates an expression using exhaustive integration. | |
void | ask (plKernel &Expr, const plVariablesConjunction &search_params, unsigned int n) const |
Creates an expression using Monte Carlo integration using {n} points. | |
plKernel | ask (const plVariablesConjunction &search_params, unsigned int n) const |
Creates an expression using Monte Carlo integration using {n} points. | |
void | ask (plKernel &Expr, const plVariablesConjunction &search_params, int n) const |
Creates an expression using Monte Carlo integration using {n} points. | |
void | ask (plKernel &Expr, const plVariablesConjunction &search_paramss, plIntegrationModeType integration_mode, plFloat convergence_threshold) const |
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. | |
plKernel | ask (const plVariablesConjunction &search_params, plIntegrationModeType integration_mode, plFloat convergence_threshold) const |
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. |
Defining this decomposition is equivalent to the graph construction part in standard Bayesian Networks (BN) creation tools, while defining the parametric forms of the elementary distributions corresponds to the probability assessment part in standard BN creation tools.
So, a {plJointDistribution} object contains both the structural information (i.e dependencies between variables) and information on the parametric forms of the used elementary distributions (already constructed and passed as parameters to the constructor).
Given a {plJointDistribution} object, one can infer any target (query) distribution using the {ask} methods to construct the corresponding {exact} or {approximate} (Monte Carlo) expression (see the {ask} methods and their parameters) using Bayes rule and some other symbolic simplifications.
Definition at line 60 of file plJointDistribution.h.
|
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. { abs(Estim(t+1) - Estim(t))/ Estim(t)} < convergence_threshold) Note that this method returns a freshly created object. If you are calling it in a loop, consider using the version that modifies an existing object instead. |
|
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. { abs(Estim(t+1) - Estim(t))/ Estim(t)} < convergence_threshold) |
|
Creates an expression using Monte Carlo integration using {n} points. Note that this method returns a freshly created object. If you are calling it in a loop, consider using the version that modifies an existing object instead. |
|
Creates an expression using exhaustive integration. Note that this method returns a freshly created object. If you are calling it in a loop, consider using the version that modifies an existing object instead. |
|
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. { abs(Estim(t+1) - Estim(t))/ Estim(t)} < convergence_threshold) |
|
Creates an expression using exhaustive integration. The parameter "optimization" defines the optimality criterion when constructing the evaluation tree. If "optimization = PL_OPTIMIZE_COMPILATION_TIME", the built tree will optimize the number of arithmetic operations required by the first compilation of P(search_params | known_params) (i.e for the first "instantiate", "compile" sequence). If "optimization = PL_OPTIMIZE_UPDATE_TIME", this tree will optimize the number of arithmetic operations required to update P(search_params | known_params) given a new value for "known_params" (i.e. for the nth (n >= 2) "instantiate", "compile" sequences). if "optimization = PL_OPTIMIZE_MEMORY_USE", the built tree will optimize the used memory size. PL_NO_OPTIMIZATION is the default value. |
|
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. { abs(Estim(t+1) - Estim(t))/ Estim(t)} < convergence_threshold) Note that this method returns a freshly created object. If you are calling it in a loop, consider using the version that modifies an existing object instead. |
|
Creates an expression using Monte Carlo integration using a number of points that allows convergence of the estimation according to the threshold value {convergence_threshold} (i.e. { abs(Estim(t+1) - Estim(t))/ Estim(t)} < convergence_threshold) |
|
Creates an expression using Monte Carlo integration using {n} points. Note that this method returns a freshly created object. If you are calling it in a loop, consider using the version that modifies an existing object instead. |
|
Creates an expression using exhaustive integration. The parameter "optimization" defines the optimality criterion when constructing the evaluation tree. If "optimization = PL_OPTIMIZE_COMPILATION_TIME", the built tree will optimize the number of arithmetic operations required by the first compilation of P(search_params | known_params) (i.e for the first "instantiate", "compile" sequence). If "optimization = PL_OPTIMIZE_UPDATE_TIME", this tree will optimize the number of arithmetic operations required to update P(search_params | known_params) given a new value for "known_params" (i.e. for the nth (n >= 2) "instantiate", "compile" sequences). if "optimization = PL_OPTIMIZE_MEMORY_USE", the built tree will optimize the used memory size. PL_NO_OPTIMIZATION is the default value. Note that this method returns a freshly created object. If you are calling it in a loop, consider using the version that modifies an existing object instead. |
|
Creates an expression using exhaustive integration. The parameter "optimization" defines the optimality criterion when constructing the evaluation tree. If "optimization = PL_OPTIMIZE_COMPILATION_TIME", the built tree will optimize the number of arithmetic operations required by the first compilation of P(search_params | known_params) (i.e for the first "instantiate", "compile" sequence). If "optimization = PL_OPTIMIZE_UPDATE_TIME", this tree will optimize the number of arithmetic operations required to update P(search_params | known_params) given a new value for "known_params" (i.e. for the nth (n >= 2) "instantiate", "compile" sequences). if "optimization = PL_OPTIMIZE_MEMORY_USE", the built tree will optimize the used memory size. PL_NO_OPTIMIZATION is the default value. Referenced by ask(). |