HAPI::Domain Class Reference

A domain is the HUGIN representation of a network. More...

Inheritance diagram for HAPI::Domain:
HAPI::NetworkModel

List of all members.

Public Member Functions

void adapt ()
 Adapts this Domain according to the evidence entered.
double approximate (double epsilon)
 Remove "near-zero" probabilities from the clique probability tables.
bool cgEvidenceIsPropagated () const
 Test if CG evidence has been propagated for this Domain.
Domainclone () const
 Clone a Domain object.
void compile ()
 Compile this Domain using the default triangulation method.
double compress ()
 Remove the zero entries from the clique and separator tables of the junction trees in this Domain.
void computeSensitivityData (const NodeList &nodes, const std::vector< size_t > &states)
 Compute the constants of the sensitivity functions for the specified output probabilities and all CPT parameters in the network.
 Domain (const Class *cls)
 Construct a runtime domain from the given class.
 Domain (const Domain *domain)
 Construct a new domain by cloning an existing domain.
 Domain (const std::string &filename, ParseListener *pl)
 Construct a domain by reading a NET file description.
 Domain (const std::string &filename, const std::string &password)
 Construct a domain by loading the corresponding password protected Hugin Knowledge Base from file.
 Domain (const std::string &filename)
 Construct a domain by loading the corresponding Hugin Knowledge Base from file.
 Domain ()
 Construct a new, empty Domain object.
void enterCase (size_t index)
 Enters a case as evidence.
bool equilibriumIs (Equilibrium eq) const
 Test for Equilibrium type.
bool evidenceIsPropagated () const
 Test if evidence has been propagated for this Domain.
bool evidenceModeIs (EvidenceMode ev) const
 Test for evidence mode.
void findMAPConfigurations (const NodeList &nodes, double minProbability)
 Find all configurations of nodes with probability at least minProbability.
double getAIC () const
 Computes the AIC score (Akaike's Information Criterion) of the case data.
double getApproximationConstant () const
 Return the approximation constant.
double getBIC () const
 Computes the BIC score (Bayesian Information Criterion) of the case data.
Number getCaseCount (size_t index) const
 Return the case count associated with case index in this domain.
size_t getConcurrencyLevel () const
 Get the current level of concurrency.
double getConflict () const
 Return the conflict value.
NodeList getDConnectedNodes (const NodeList &source, const NodeList &evidence) const
 Performs a d-separation test and returns a list of d-connected nodes.
NodeList getDConnectedNodes (const NodeList &source, const NodeList &hard, const NodeList &soft) const
 Performs a d-separation test and returns a list of d-connected nodes.
NodeList getDSeparatedNodes (const NodeList &source, const NodeList &evidence) const
 Performs a d-separation test and returns a list of d-separated nodes.
NodeList getDSeparatedNodes (const NodeList &source, const NodeList &hard, const NodeList &soft) const
 Performs a d-separation test and returns a list of d-separated nodes.
NodeList getEliminationOrder () const
 Return the triangulation order.
Number getExpectedUtility () const
 Return the total expected utility associated with this Domain.
size_t getGrainSize () const
 Return the current value of the grain size parameter.
JunctionTreeList getJunctionTrees () const
 Return the JunctionTrees of this Domain.
double getLogLikelihood () const
 Computes the log-likelihood of the case data.
double getLogLikelihoodTolerance () const
 Get current setting of the log-likelihood tolerance in this domain.
double getLogNormalizationConstant () const
 Get the logarithm to the normalization constant.
std::vector< size_t > getMAPConfiguration (size_t index) const
 Return a MAP configuration.
TablegetMarginal (const NodeList &nodes) const
 Compute the marginal distribution for the Nodes provided as argument with respect to the (imaginary) joint potential, determined by the current potentials on the junction tree (s) of this Domain.
size_t getMaxNumberOfEMIterations () const
 Retrieve the current maximum number of iterations for the EM algorithm.
size_t getMaxNumberOfSeparators () const
 Retrieve the current maximum number of separators allowed during triangulation.
double getNormalDeviate (double mean, double variance)
 Uses the pseudo-random number generator for this Domain to sample a real number from a normal (aka Gaussian) distribution.
double getNormalizationConstant () const
 Retrieve the normalization constant from the most recent propagation.
size_t getNumberOfCases () const
 Return the number of cases currently allocated for this domain.
size_t getNumberOfMAPConfigurations () const
 Return the number of MAP configurations.
double getProbabilityOfMAPConfiguration (size_t index) const
 Return the probability of a MAP configuration.
NodeList getSensitivitySet (size_t output) const
 Return the sensitivity set computed by the most recent call to Domain::computeSensitivityData.
NodeList getSensitivitySet () const
 Return the sensitivity set computed by the most recent call to DiscreteChanceNode::computeSensitivityData.
double getSignificanceLevel () const
 Get current setting of the significance level in this domain.
double getUniformDeviate ()
 Uses the pseudo-random number generator for this Domain to sample a real number from the uniform distribution over the interval [0,1).
bool hasEvidenceToPropagate () const
 Test if evidence has been entered since last propagation.
bool hasTablesToPropagate () const
 Test for new node tables.
void initialize ()
 Establish the initial values for all tables of this Domain (which must be compiled).
bool isCompiled () const
 Test whether this Domain is compiled.
bool isCompressed () const
 Test whether this Domain is compressed.
bool isTriangulated () const
 Test whether this Domain is triangulated.
void learnClassTables ()
 Perform EM learning on an OOBN.
void learnStructure ()
 Learn the structure of a network from data.
void learnTables ()
 Learn the conditional probability tables for each node in this domain that has an experience table.
bool likelihoodIsPropagated () const
 Test if likelihood eveidence has been propagated for this Domain.
size_t newCase ()
 Allocate storage within this domain to a new case.
void parseCase (const std::string &filename, ParseListener *pl)
 Parses the case stored in a file with the given filename and enters the associated findings into this Domain.
void parseCases (const std::string &filename, ParseListener *pl)
 Parses a set of cases, stored in a file with the given filename.
void propagate (Equilibrium eq=H_EQUILIBRIUM_SUM, EvidenceMode ev=H_MODE_NORMAL)
 Establish the specified equilibrium using the evidence mode indicated for incorporation of evidence on all junction trees in this Domain.
void resetInferenceEngine ()
 Establish the initial state of the inference engine.
void retractFindings ()
 Retract (all) findings for all nodes in this Domain.
void saveAsKB (const std::string &filename, const std::string &password)
 Save this Domain as a password protected Hugin Knowledge Base.
void saveAsKB (const std::string &filename)
 Save this Domain as a Hugin Knowledge Base.
void saveCase (const std::string &filename)
 Saves all evidence entered in this Domain in a file with the given fileName (if the file exists, it is overwritten).
void saveCases (const std::string &filename, const NodeList &nodes, const std::vector< size_t > &cases, bool caseCounts, const std::string &separator, const std::string &missingData)
 Saves the specified cases entered in this Domain in a file with the given fileName.
void saveCases (const std::string &filename, const NodeList &nodes, bool caseCounts, const std::string &separator, const std::string &missingData)
 Saves all cases entered in this Domain in a file with the given fileName.
void saveToMemory ()
 Create a copy in memory of the belief and junction tree tables of this Domain.
void seedRandom (unsigned int seed)
 Seeds the random number generator.
void setCaseCount (size_t index, Number count)
 Set the case count associated with case index in this domain to count.
void setConcurrencyLevel (size_t level)
 Set the level of concurrency.
void setGrainSize (size_t size)
 Set the grains size parameter.
void setLogLikelihoodTolerance (double tolerance)
 Specify the tolerance of the log-likelihood.
void setMaxNumberOfEMIterations (size_t iterations)
 Set the maximal number of iterations allowed for the EM algorithm.
void setMaxNumberOfSeparators (size_t separators)
 Set the maximal number of separators allowed during triangulation.
void setNumberOfCases (size_t number)
 Adjust the storage capacity for cases in this domain.
void setSignificanceLevel (double significancelevel)
 Specify the Significance Level used for the structurel learning aglorithm.
void simulate ()
 Sample a configuration for this Domain with respect to the current distribution.
void triangulate (const NodeList &order)
 Triangulates the graph of this Domain using the specified elimination order.
void triangulate (TriangulationMethod tm=H_TM_BEST_GREEDY)
 Triangulate the graph of this Domain using the specified triangulation method.
void uncompile ()
 Uncompiles this Domain.
void updatePolicies ()
 Update the policy tables of this domain.
 ~Domain () throw ()
 Destruct a Domain object.

Detailed Description

A domain is the HUGIN representation of a network.

It is one of the principal structures in HUGIN. It must be constructed before any nodes belonging to the network.

See also:
Node
JunctionTree

Constructor & Destructor Documentation

HAPI::Domain::Domain ( const std::string &  filename  )  [explicit]

Construct a domain by loading the corresponding Hugin Knowledge Base from file.

Parameters:
filename the name of the Hugin KB file
HAPI::Domain::Domain ( const std::string &  filename,
const std::string &  password 
)

Construct a domain by loading the corresponding password protected Hugin Knowledge Base from file.

If the given password does not match, an exception is thrown.

Parameters:
filename the name of the Hugin KB file
password the password for the file
HAPI::Domain::Domain ( const std::string &  filename,
ParseListener pl 
)

Construct a domain by reading a NET file description.

Parameters:
filename The name of the NET file.
pl Pointer to object derived from class ParseListener.
HAPI::Domain::Domain ( const Domain domain  ) 

Construct a new domain by cloning an existing domain.

Parameters:
domain The domain to be cloned.
HAPI::Domain::Domain ( const Class cls  ) 

Construct a runtime domain from the given class.

Parameters:
cls The Class from which to create the runtime domain.

Member Function Documentation

double HAPI::Domain::approximate ( double  epsilon  ) 

Remove "near-zero" probabilities from the clique probability tables.

For each Clique object in this domain, a value delta is computed such that the sum of all elements less than delta in the (discrete part) of the clique table is less than epsilon. These elements (less than delta) are then set to 0.

Parameters:
epsilon The threshold value. Maximal probability mass to eradicate from each clique.
Returns:
A double value which is the sum of all entries in clique probability tables that have been zeroed.
bool HAPI::Domain::cgEvidenceIsPropagated (  )  const

Test if CG evidence has been propagated for this Domain.

Returns:
boolean
Domain* HAPI::Domain::clone (  )  const

Clone a Domain object.

This function returns a pointer to a copy of this domain.

void HAPI::Domain::compile (  ) 

Compile this Domain using the default triangulation method.

If the domain is already triangulated, nothing is changed. The domain must contain at least one chance or decision node.

double HAPI::Domain::compress (  ) 

Remove the zero entries from the clique and separator tables of the junction trees in this Domain.

Compression can only be applied to (compiled) ordinary belief networks. Continuous nodes are allowed, but compression only applies to configurations of states of the discrete nodes.

Returns:
A double value which indicates a measure of compression achieved. The measure should be less than 1, indicating that the compressed domain requires less space than the uncompressed domain. An output greater than 1 means that the "compressed" domain requires more space than the uncompressed domain.
void HAPI::Domain::computeSensitivityData ( const NodeList nodes,
const std::vector< size_t > &  states 
)

Compute the constants of the sensitivity functions for the specified output probabilities and all CPT parameters in the network.

The output probabilities are specified using a list of nodes and a list of corresponding states.

Parameters:
nodes the list of (output) nodes
states a list of states of the nodes in the nodes list
void HAPI::Domain::enterCase ( size_t  index  ) 

Enters a case as evidence.

A subsequent propagate operation will perform inference using the case.

Parameters:
index the index of the case to enter.
bool HAPI::Domain::equilibriumIs ( Equilibrium  eq  )  const

Test for Equilibrium type.

If the equilibrium of all junction trees of this Domain is eq, return true.

Parameters:
eq Type of Equilibrium to test for.
bool HAPI::Domain::evidenceModeIs ( EvidenceMode  ev  )  const

Test for evidence mode.

Test if the equilibrium of all junction trees of this Domain could have been obtained through a propagation using ev as the evidence incorporation mode.

Parameters:
ev Type of EvidenceMode to test for.
void HAPI::Domain::findMAPConfigurations ( const NodeList nodes,
double  minProbability 
)

Find all configurations of nodes with probability at least minProbability.

This method uses a Monte Carlo algorithm to solve a generalized form of the maximum a posteriori (MAP) configuration problem: The MAP configuration problem is the problem of finding the most probable configuration of a set of nodes given evidence on some of the remaining nodes.

The results of this method are provided by Domain::getNumberOfMAPConfigurations, Domain::getMAPConfiguration, and Domain::getProbabilityOfMAPConfiguration.

Parameters:
nodes a NodeList containing the DiscreteNodes for which to find configurations.
minProbability configurations with a lower probability than minProbability are ignored.
double HAPI::Domain::getApproximationConstant (  )  const

Return the approximation constant.

The number returned is based on the most recent (explicit or implicit) approximation operation. An implicit approximation takes place when you change some conditional probability tables of acompressed domain, and then perform a propagation operation. Since some (discrete) state configurations have been removed from a compressed domain, the probability mass of the remaining configurations will typically be less than 1. This probability mass is returned by getApproximationConstant ().

Returns:
A double expressing the probability mass remaining in the approximated domain.
size_t HAPI::Domain::getConcurrencyLevel (  )  const

Get the current level of concurrency.

See also:
setConcurrencyLevel
double HAPI::Domain::getConflict (  )  const

Return the conflict value.

The conflict value is valid for this Domain computed during the most recent propagation. If no propagation has been performed, 1 is returned.

Returns:
A double-precision real value expressing the conflict measure in the domain.
NodeList HAPI::Domain::getDConnectedNodes ( const NodeList source,
const NodeList evidence 
) const

Performs a d-separation test and returns a list of d-connected nodes.

Assuming evidence on the specified evidence nodes, this method returns the list of nodes that are d-connected to the specified list of source nodes.

Returns:
the list of d-connected nodes
Parameters:
source list of source nodes
evidence list of nodes assumed to be instantiated.
NodeList HAPI::Domain::getDConnectedNodes ( const NodeList source,
const NodeList hard,
const NodeList soft 
) const

Performs a d-separation test and returns a list of d-connected nodes.

Assuming evidence on the specified evidence nodes, this method returns the list of nodes that are d-connected to the specified list of source nodes.

Returns:
the list of d-connected nodes
Parameters:
source list of source nodes
hard list of nodes assumed to be instantiated
soft list of nodes assumed to have multi-state or likelihood evidence.
NodeList HAPI::Domain::getDSeparatedNodes ( const NodeList source,
const NodeList evidence 
) const

Performs a d-separation test and returns a list of d-separated nodes.

Assuming evidence on the specified evidence nodes, this method returns the list of nodes that are d-separated to the specified list of source nodes.

Returns:
the list of d-separated nodes
Parameters:
source list of source nodes
evidence list of nodes assumed to be instantiated.
NodeList HAPI::Domain::getDSeparatedNodes ( const NodeList source,
const NodeList hard,
const NodeList soft 
) const

Performs a d-separation test and returns a list of d-separated nodes.

Assuming evidence on the specified evidence nodes, this method returns the list of nodes that are d-separated to the specified list of source nodes.

Returns:
the list of d-separated nodes
Parameters:
source list of source nodes
hard list of nodes assumed to be instantiated
soft list of nodes assumed to have multi-state or likelihood evidence.
NodeList HAPI::Domain::getEliminationOrder (  )  const

Return the triangulation order.

A NodeList containing a list of nodes in the order used to triangulate the network of this Domain is returned.

Returns:
NodeList containing Nodes representing the elimination order used.
size_t HAPI::Domain::getGrainSize (  )  const

Return the current value of the grain size parameter.

Returns:
Positive integer.
JunctionTreeList HAPI::Domain::getJunctionTrees (  )  const

Return the JunctionTrees of this Domain.

Returns:
JunctionTreeList.
double HAPI::Domain::getLogLikelihood (  )  const

Computes the log-likelihood of the case data.

std::vector<size_t> HAPI::Domain::getMAPConfiguration ( size_t  index  )  const

Return a MAP configuration.

This method returns the configuration identified by index among the configurations with probability at least minProbability — as specified in the most recent successful call to Domain::findMAPConfigurations.

The index argument must be a nonnegative integer less than Domain::getNumberOfMAPConfigurations: 0 requests the most probable configuration, 1 the second-most probable configuration, etc.

Parameters:
index identifies the configuration.
Returns:
a vector of state indexes forming the configuration.
Table* HAPI::Domain::getMarginal ( const NodeList nodes  )  const

Compute the marginal distribution for the Nodes provided as argument with respect to the (imaginary) joint potential, determined by the current potentials on the junction tree (s) of this Domain.

If nodes contains continuous nodes, they must be last in the list. This operation is not allowed on compressed domains.

Parameters:
nodes NodeList containing the Node objects over which to compute the marginal.
Returns:
A Table which contains the marginal distribution over the nodes provided.
double HAPI::Domain::getNormalDeviate ( double  mean,
double  variance 
)

Uses the pseudo-random number generator for this Domain to sample a real number from a normal (aka Gaussian) distribution.

Parameters:
mean the mean of the distribution
variance the variance of the distribution
double HAPI::Domain::getNormalizationConstant (  )  const

Retrieve the normalization constant from the most recent propagation.

For sum-propagation, the normalization constant is equal to the probability of the evidence propagated. For max-propagation, the normalization constant is the probability of the most probable configuration with the evidence incorporated.

size_t HAPI::Domain::getNumberOfMAPConfigurations (  )  const

Return the number of MAP configurations.

This method returns the number of configurations found by the most recent successful call to Domain::findMAPConfigurations.

double HAPI::Domain::getProbabilityOfMAPConfiguration ( size_t  index  )  const

Return the probability of a MAP configuration.

This method returns the probability of the configuration returned by Domain::getMAPConfiguration (index).

Parameters:
index identifies the configuration.
Returns:
the probability of the specified configuration.
NodeList HAPI::Domain::getSensitivitySet ( size_t  output  )  const

Return the sensitivity set computed by the most recent call to Domain::computeSensitivityData.

If the results produced by that call have been invalidated, a usage exception is thrown.

Parameters:
output identifies one of the output probabilities specified in the call to Domain::computeSensitivityData.
NodeList HAPI::Domain::getSensitivitySet (  )  const

Return the sensitivity set computed by the most recent call to DiscreteChanceNode::computeSensitivityData.

If the results produced by that call have been invalidated, a usage exception is thrown.

bool HAPI::Domain::hasTablesToPropagate (  )  const

Test for new node tables.

Are there any nodes in this Domain having (a conditional probability or utility) table that has changed since the most recent compilation or propagation.

void HAPI::Domain::initialize (  ) 

Establish the initial values for all tables of this Domain (which must be compiled).

Using this method will erase all evidence previously entered.

bool HAPI::Domain::isTriangulated (  )  const

Test whether this Domain is triangulated.

Being "triangulated" means that the junction forest has been created, but not the associated tables.

void HAPI::Domain::learnClassTables (  ) 

Perform EM learning on an OOBN.

This requires, that the data matches the domain created from the OOBN, and not the OOBN itself.

size_t HAPI::Domain::newCase (  ) 

Allocate storage within this domain to a new case.

Returns:
New case index.
void HAPI::Domain::parseCase ( const std::string &  filename,
ParseListener pl 
)

Parses the case stored in a file with the given filename and enters the associated findings into this Domain.

All existing evidence in the Domain is retracted before entering the case findings.

Parameters:
filename the name of the file containing the case.
pl the ParseListener used for handling parse errors.
void HAPI::Domain::parseCases ( const std::string &  filename,
ParseListener pl 
)

Parses a set of cases, stored in a file with the given filename.

The found cases are entered into the Domain.

Parameters:
filename the name of the file containing the case.
pl the ParseListener used for handling parse errors.
void HAPI::Domain::propagate ( Equilibrium  eq = H_EQUILIBRIUM_SUM,
EvidenceMode  ev = H_MODE_NORMAL 
)

Establish the specified equilibrium using the evidence mode indicated for incorporation of evidence on all junction trees in this Domain.

Also, revised beliefs will be computed for all nodes.

Parameters:
eq Equilibrium type. Defaults to H_EQUILIBRIUM_SUM.
ev EvidenceMode type. Defaults to H_MODE_NORMAL.
void HAPI::Domain::resetInferenceEngine (  ) 

Establish the initial state of the inference engine.

: sum-equilibrium with no evidence incorporated. Any propagated findings will thus be removed from the junction tree potentials, but entered findings will still be "registred" (i.e., they will be incorporated in the next propagation).

void HAPI::Domain::saveAsKB ( const std::string &  filename,
const std::string &  password 
)

Save this Domain as a password protected Hugin Knowledge Base.

Parameters:
filename Name of the file to save the knowledge base into.
password The password for the file.
void HAPI::Domain::saveAsKB ( const std::string &  filename  ) 

Save this Domain as a Hugin Knowledge Base.

Parameters:
filename Name of the file to save the knowledge base into.
void HAPI::Domain::saveCase ( const std::string &  filename  ) 

Saves all evidence entered in this Domain in a file with the given fileName (if the file exists, it is overwritten).

Parameters:
filename the name of the file in which the case is going to be saved.
void HAPI::Domain::saveCases ( const std::string &  filename,
const NodeList nodes,
const std::vector< size_t > &  cases,
bool  caseCounts,
const std::string &  separator,
const std::string &  missingData 
)

Saves the specified cases entered in this Domain in a file with the given fileName.

Parameters:
filename The name of the file in which the cases will be saved (if the file exists, it is overwritten).
nodes A list of the nodes which are to be included in the file.
cases A list of indexes of cases to be included in the file.
caseCounts If true, include case counts in the data file. If false, case counts will not be included.
separator The string used to separate the items in the file.
missingData The string used to represent missing data.
void HAPI::Domain::saveCases ( const std::string &  filename,
const NodeList nodes,
bool  caseCounts,
const std::string &  separator,
const std::string &  missingData 
)

Saves all cases entered in this Domain in a file with the given fileName.

Parameters:
filename The name of the file in which the cases will be saved (if the file exists, it is overwritten).
nodes A list of the nodes which are to be included in the file.
caseCounts If true, include case counts in the data file. If false, case counts will not be included.
separator The string used to separate the items in the file.
missingData The string used to represent missing data.
void HAPI::Domain::saveToMemory (  ) 

Create a copy in memory of the belief and junction tree tables of this Domain.

This operation can only be performed if the domain is compiled, the current equilibrium is "sum", and no evidence has been incorporated.

void HAPI::Domain::seedRandom ( unsigned int  seed  ) 

Seeds the random number generator.

The random number generator, used by HUGIN, generates a sequence of numbers which appears random, but are in fact deterministic. However, "seeding" the generator will change the starting point within the sequence.

Parameters:
seed determines the starting point of the random number generator.
void HAPI::Domain::setConcurrencyLevel ( size_t  level  ) 

Set the level of concurrency.

The level of concurrency specifies the maximum number of threads to create when performing a specific table operation. Setting the level of concurrency to 1 will cause all table operations to be performed sequentially. The initial parameter value is 1.

void HAPI::Domain::setGrainSize ( size_t  size  ) 

Set the grains size parameter.

The grain size parameter specifies a lower limit of the tasks to be performed by each thread. The size of a task is approximately equal to the number of floating-point operations needed to perform the task (e.g., the number of elements to sum when performing a marginalization task).

The initial value of the grain size parameter is 10000.

void HAPI::Domain::setLogLikelihoodTolerance ( double  tolerance  ) 

Specify the tolerance of the log-likelihood.

Terminate the EM learning when the relative difference between the log-likelihood of two successive iterations becomes less than tolerance.

void HAPI::Domain::setMaxNumberOfEMIterations ( size_t  iterations  ) 

Set the maximal number of iterations allowed for the EM algorithm.

The algorithm termnates when this number is reached or when the relative improvement becomes lower than the log-likelihood tolerance.

Parameters:
iterations Maximum allowed number of iterations.
void HAPI::Domain::setMaxNumberOfSeparators ( size_t  separators  ) 

Set the maximal number of separators allowed during triangulation.

Parameters:
separators Maximum number of separators allowed durring triangulation.
void HAPI::Domain::setNumberOfCases ( size_t  number  ) 

Adjust the storage capacity for cases in this domain.

Parameters:
number Storage capacity.
void HAPI::Domain::simulate (  ) 

Sample a configuration for this Domain with respect to the current distribution.

The current distribution must be in sum-equilibrium and with evidence incorporated in normal mode.

void HAPI::Domain::triangulate ( const NodeList order  ) 

Triangulates the graph of this Domain using the specified elimination order.

The elimination order must contain each chance and decision node of this Domain exactly once, and continuous nodes must appear before discrete nodes.

Parameters:
order a NodeList containing the Nodes of the network in the order of elimination
void HAPI::Domain::triangulate ( TriangulationMethod  tm = H_TM_BEST_GREEDY  ) 

Triangulate the graph of this Domain using the specified triangulation method.

Parameters:
tm the TriangulationMethod to use.
void HAPI::Domain::uncompile (  ) 

Uncompiles this Domain.

The data structures of this Domain produced by a triangulation or a compilation are deleted. Note that pointers to objects within the compiled structure (e.g., Cliques and JunctionTrees) are invalidated. Also note that many of the editing functions automatically performs an uncompile() operation. When this happens, the domain must be compiled again before it can be used for inference.

void HAPI::Domain::updatePolicies (  ) 

Update the policy tables of this domain.

The policies of all unmade decisions are updated. The new policies maximize the overall expected utility.


Copyright Hugin Expert A/S 1993-2010