GClasses
|
The base class of nodes in a belief network that represent variable values.
#include <GBayesianNetwork.h>
Public Member Functions | |
GBNVariable () | |
virtual | ~GBNVariable () |
virtual void | addCatParent (GBNCategorical *pNode, GBNNode *pDefaultVal)=0 |
Adds a categorical node as a parent of this node. Calling this method will cause This node to resize its table of distribution parameters, so a default value is required to fill in new elements. Typically, you will set these new elements to something more meaningful after you call this method. More... | |
size_t | catCount () |
Returns the total number of combinations of categorical values supported by the categorical parents of this node. This node is expected to specify a distribution for each of these categorical combinations. More... | |
const std::vector< GBNVariable * > & | children () |
Returns all nodes that are known to depend on this one. More... | |
size_t | currentCatIndex () |
Queries the categorical parent nodes to determine their current values, and combines them to produce a single index value that is unique for this combination of categorical values. The value this returns will be from 0 to catCount()-1. The values are organized in little-endian manner. That is, it cycles through all values supported by the first categorical parent before moving on to the next value of the next parent. More... | |
virtual double | currentValue ()=0 |
Return the most recent value sampled from this node. More... | |
virtual double | likelihood (double x)=0 |
Compute the likelihood of drawing the value "x" from the distribution represented in this node given the current values in all of the parent nodes. If "x" is not a supported value, then this should return 0.0;. More... | |
virtual void | onNewChild (GBNVariable *pChild) |
This method links back to the child node that just added this node as a parent. More... | |
virtual void | sample (GRand *pRand)=0 |
Draw a new Gibbs sample for this node given the current values of all other nodes it its Markov blanket. More... | |
void | setObserved (double value) |
Set this node to an observed value. After calling this, subsequent calls to sample will not change its value. More... | |
void | setUnobserved () |
Set this node to an unobserved value. After calling this, subsequent calls to sample will draw new values for this node. More... | |
Public Member Functions inherited from GClasses::GBNNode | |
GBNNode () | |
virtual | ~GBNNode () |
Protected Attributes | |
std::vector< GBNCategorical * > | m_catParents |
std::vector< GBNVariable * > | m_children |
Protected Attributes inherited from GClasses::GBNNode | |
bool | m_observed |
double | m_observedValue |
GClasses::GBNVariable::GBNVariable | ( | ) |
|
virtual |
|
pure virtual |
Adds a categorical node as a parent of this node. Calling this method will cause This node to resize its table of distribution parameters, so a default value is required to fill in new elements. Typically, you will set these new elements to something more meaningful after you call this method.
Implemented in GClasses::GBNInverseGamma, GClasses::GBNGamma, GClasses::GBNBeta, GClasses::GBNExponential, GClasses::GBNPoisson, GClasses::GBNUniformContinuous, GClasses::GBNUniformDiscrete, GClasses::GBNPareto, GClasses::GBNLogNormal, GClasses::GBNNormal, and GClasses::GBNCategorical.
size_t GClasses::GBNVariable::catCount | ( | ) |
Returns the total number of combinations of categorical values supported by the categorical parents of this node. This node is expected to specify a distribution for each of these categorical combinations.
|
inline |
Returns all nodes that are known to depend on this one.
size_t GClasses::GBNVariable::currentCatIndex | ( | ) |
Queries the categorical parent nodes to determine their current values, and combines them to produce a single index value that is unique for this combination of categorical values. The value this returns will be from 0 to catCount()-1. The values are organized in little-endian manner. That is, it cycles through all values supported by the first categorical parent before moving on to the next value of the next parent.
|
pure virtual |
Return the most recent value sampled from this node.
Implements GClasses::GBNNode.
Implemented in GClasses::GBNMetropolisNode, and GClasses::GBNCategorical.
|
pure virtual |
Compute the likelihood of drawing the value "x" from the distribution represented in this node given the current values in all of the parent nodes. If "x" is not a supported value, then this should return 0.0;.
Implemented in GClasses::GBNInverseGamma, GClasses::GBNGamma, GClasses::GBNBeta, GClasses::GBNExponential, GClasses::GBNPoisson, GClasses::GBNUniformContinuous, GClasses::GBNUniformDiscrete, GClasses::GBNPareto, GClasses::GBNLogNormal, GClasses::GBNNormal, and GClasses::GBNCategorical.
|
virtual |
This method links back to the child node that just added this node as a parent.
Implements GClasses::GBNNode.
|
pure virtual |
Draw a new Gibbs sample for this node given the current values of all other nodes it its Markov blanket.
Implemented in GClasses::GBNMetropolisNode, and GClasses::GBNCategorical.
|
inline |
Set this node to an observed value. After calling this, subsequent calls to sample will not change its value.
|
inline |
Set this node to an unobserved value. After calling this, subsequent calls to sample will draw new values for this node.
|
protected |
|
protected |