The collection of distributions required from a Query(IQueryOptions, IQueryOutput). Only request those that you need.

Namespace:  BayesServer.Inference.VariableElimination
Assembly:  BayesServer.Inference (in BayesServer.Inference.dll)
Version: 2.2.0.0 (2.2.0.0)

Syntax

C#
public IQueryDistributionCollection QueryDistributions { get; set; }
Visual Basic (Declaration)
Public Property QueryDistributions As IQueryDistributionCollection
Visual C++
public:
virtual property IQueryDistributionCollection^ QueryDistributions {
	IQueryDistributionCollection^ get () sealed;
	void set (IQueryDistributionCollection^ value) sealed;
}

Implements

IInference..::.QueryDistributions

Remarks

Each distribution added, such as a Table, acts like a buffer. I.e. the values are populated by the Query(IQueryOptions, IQueryOutput) method. This means that the same distributions can be resused across multiple calls to Query(IQueryOptions, IQueryOutput), without the need to recreate the distribution each time.

It is important not to request distributions you do not need, because the computations will take longer. For example, it is common to request all marginal probabilities, P(A), P(B), P(C), ... , P(Z) given the evidence, however if you only need to know P(A) and P(B) given the evidence, then limit the query to just these distributions.

Typically the distributions requested are a number of marginal propabilities, such as P(A), P(B), P(C) etc... given the evidence, however it is also possible to request distributions over more than one variable, so we might query P(A), P(B,C) given the evidence.

If you are performing a batch of queries, there is no need to remove those distributions that you require, however happen to have evidence set for a particular query.

See Also