void EnterNodeLikelihood_bn ( node_bn*  node,   const prob_bn*  likelihood )

Enters a likelihood finding for node, which is a finding that is not completely certain (it is sometimes called "virtual evidence").

likelihood is a vector containing one probability for each state of node.

node must be a discrete or discretized nature node (i.e., not a utility or decision node).

By calling this function several times, you can combine the effects of several independent partial observations. If you don't want the likelihood findings to accumulate, call RetractNodeFindings_bn between calls.

The likelihood finding is equivalent to the following scenario:

There are a number of possible observations you can make: A, B, ... N.

P(B|Si) denotes the probability of making observation B if the true state of node is Si.

LB is a vector composed of <P(B|S1), P(B|S2), ..., P(B|Sm)> where m is the number of states of node.

You actually make observation B, so you enter the vector LB as a likelihood finding for node (or LA if observation A was made, etc.). You pass it to EnterNodeLikelihood_bn as the likelihood parameter.

Notice that each component of a likelihood vector is between 0 and 1 inclusive, they must not all be zero, and they aren't required to sum to 1.

If you enter several accumulating likelihood findings for a node, they should correspond to observations that are independent given the value of the node (if not, look up "likelihood finding, not independent" in the index).

If the net has auto-updating (see SetNetAutoUpdate_bn), then a belief updating will be done to reflect the new finding before this function returns (otherwise it will just be done when needed).


This function is available in all versions.

See also:

EnterFinding_bn    To enter a certain finding that a node is in some state
EnterFindingNot_bn    To indicate that node isn't in some state
GetNodeLikelihood_bn    To retrieve the likelihood finding entered
RetractNodeFindings_bn    To remove the findings entered


See GetNodeFinding_bn