Package uk.co.agena.minerva.model.extendedbn

This package contains classes that act as an extended "wrapper" around Bayesian Networks.

See:
          Description

Interface Summary
ExtendedBNListener Defines a listener for ExtendedBNEvents.
ExtendedNodeListener Defines a listener for ExtendedNodes.
ExtendedStateListener Defines a listener for s.
 

Class Summary
BooleanEN This class is used to represent nodes with just two states that correspond to {true, false} or {yes, no}.
ContinuousEN  
ContinuousIntervalEN This class represents NumericalExtendedNodes whose ExtendedStates contain ranges (e.g.
DiscreteRealEN A DiscreteRealEN is a node whose states represent real numbers that are in no particular order e.g.
ExtendedBN An ExtendedBN is an encapsulation of a Bayesian Network.
ExtendedBNEvent ExtendedBNEvent is used to notify interested parties that an ExtendedBN has changed in some way.
ExtendedBNList This class encapsulates a List of ExtendedBNs and provides extra utility methods for accessing the ExtendedBNs in the underlying List.
ExtendedNode An ExtendedNode corresponds to a node in an underlying BN.
ExtendedNodeAdapter Defines an adapter for ExtendedNodes.
ExtendedNodeEvent ExtendedNodeEvent is used to notify interested parties that an ExtendedNode has changed in some way.
ExtendedNodeEventGenerator This class encapsulates the generation and broadcasting of ExtendedNodeEvents to interested ExtendedNodeListeners.
ExtendedNodeFunction This class encapsulates a function used to define (in full or in part) the NPT for an ExtendedNode.
ExtendedState An ExtendedState corresponds to a state on a node in an underlying BN.
ExtendedStateEvent ExtendedStateEvent is used to notify interested parties that an ExtendedState has changed in some way.
IntegerIntervalEN This class is used to represent intervals that contain only integers; floating point numbers in between are ignored.
LabelledEN A LabelledEN is an ExtendedNode whose states are not numerical or in any order but simply have labels e.g.{Java, C++, C, Ada}.
NumericalEN This is an abstract class representing all ExtendedNodes that have numerical states.
RankedEN This class is used to represent nodes whose states are in a ranked order e.g.
 

Exception Summary
ExtendedBNException Thrown whenever there is a general problem with ExtendedBNs.
ExtendedBNNotCompiledException Thrown whenever an operation is performed on an ExtendedBN before it is compiled and when compilation is necessary.
ExtendedBNNotFoundException Thrown whenever an ExtendedBN is not found.
ExtendedNodeCreationException Thrown when there is a problem creating an ExtendedNode.
ExtendedNodeFunctionException Thrown when there is some kind of problem when handling ExtendedNodeFunctions.
ExtendedNodeMethodNotSupportedException Thrown when an attempt is made to call an implementation of a method on a subclass of ExtendedNode when there is no implementation.
ExtendedNodeNotFoundException Thrown when an attempt is made to access an ExtendedNode that does not exist.
ExtendedStateException Thrown when there is a problem with creating or adding an ExtendedState.
ExtendedStateNotFoundException Thrown when an attempt is made to access an ExtendedState that does not exist.
ExtendedStateNumberingException Thrown whenever there is a state-numbering problem in an ExtendedNode.
InconsistentEvidenceException  
 

Package uk.co.agena.minerva.model.extendedbn Description

This package contains classes that act as an extended "wrapper" around Bayesian Networks. An ExtendedBN encapsulates a CoreBN (and ExtendedNodes and ExtendedStates capture the information about CoreBNNodes and their states).

Typically, an ExtendedBN is created internally by a Model. It is either generated from a file that contains a CoreBN (.net or .cor) or initialised as empty and then populated using information loaded from a .mdl file. Using this latter method, new ExtendedBNs can be instantiated and populated within an application.

The following code illustrates how you might go about creating an ExtendedBN from a .net file, compiling it, entering evidence on one node and then querying the marginals on another node:

  ExtendedBN ebn = ExtendedBN.createExtendedBNFromNetFile("cancer.net");
  ebn.compile();
  ExtendedNode node = ebn.getExtendedNodes("A: Metastatic Cancer").get(0);
  node.enterHardEvidence(0, true); // enters evidence on first state and then propagates
  ExtendedNode node2 = ebn.getExtendedNodes("D: Coma").get(0);
  DataSet ds = node2.getMarginals();
  System.out.println("Marginals:");
  System.out.println(ds);



Copyright © 2006 Agena Ltd. All Rights Reserved.