|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.co.agena.minerva.model.Propagation
uk.co.agena.minerva.model.MinervaPropagation
uk.co.agena.minerva.model.DynDiscPropagation
public class DynDiscPropagation
Nested Class Summary |
---|
Nested classes/interfaces inherited from class uk.co.agena.minerva.model.Propagation |
---|
Propagation.PropagationEventGenerator |
Field Summary |
---|
Fields inherited from class uk.co.agena.minerva.model.Propagation |
---|
BASIC_PROPAGATION, DD_PROPAGATION, inconsistentEvidencePropagated, lengthOfProgressableTask, model, ONLY_PROPAGATE_MODIFIED_EXTENDEDBNS, progress, progressableTaskDone, propagationEventGenerator, terminateProgressableTask |
Constructor Summary | |
---|---|
DynDiscPropagation(Model model)
|
Method Summary | |
---|---|
void |
calculateLengthOfProgressableTask(java.util.List extendedBNsToCalculate)
Calculates the length of a propagation task based upon the Scenario's and ExtendedBN's being propagated and the types of ExtendedNode contained in the ExtnededBN's (Normal or Simulation). |
void |
ddPropagate(ExtendedBN theEBN,
Scenario theScenario)
|
void |
destroy()
Removes DDP as a Listener from the Model and does any other necessary cleaning up. |
java.lang.String |
doesBasicChecksPass()
This method should run some basic check that need to pass before the DD propagation can continue. |
void |
modelChanged(ModelEvent ebne)
Called whenever a Model changes. |
void |
modelPropagationFinished(ModelEvent me,
boolean completionSuccessful)
Called whenever the propagation has finished. |
void |
modelPropagationStarting(ModelEvent me)
Called whenever the propagation is about to start. |
protected void |
propagateScenario(java.util.List extendedbns,
Scenario scenario,
boolean propagate,
int propagationExclusivity)
This is the method which does the application of the scenarios. |
void |
setupEntropyErrors(java.util.List tddNodes)
Ensures that the DD flags are set correctly, and the entropy errors list is empty to start with |
void |
splitStatesForNodeWithEvidence(ContinuousEN ddNode,
double evidence,
Range userEnteredAnswerRange,
DataSet marginals,
int noOfSplits,
ExtendedBN ebn)
AKA Log serach/split This function will split a State into X new States based upon the log of the current States range. |
void |
updateCurrentProgressForSimulationNode(ExtendedNode exn)
Update the currentProgress after the supplied node has been discritised. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface uk.co.agena.minerva.model.ModelListener |
---|
modelInconsistentEvidencePropagated |
Constructor Detail |
---|
public DynDiscPropagation(Model model)
Method Detail |
---|
public void destroy()
destroy
in class Propagation
protected void propagateScenario(java.util.List extendedbns, Scenario scenario, boolean propagate, int propagationExclusivity) throws ModelException, PropagationException, InconsistentEvidenceException, PropagationTerminatedException
MinervaPropagation
propagateScenario
in class MinervaPropagation
ModelException
PropagationException
InconsistentEvidenceException
PropagationTerminatedException
public void ddPropagate(ExtendedBN theEBN, Scenario theScenario) throws PropagationException, InconsistentEvidenceException, ModelException, PropagationTerminatedException
PropagationException
InconsistentEvidenceException
ModelException
PropagationTerminatedException
public java.lang.String doesBasicChecksPass()
doesBasicChecksPass
in class Propagation
updateStringInformation
- This string should be updated by this method, to provide
information to the user about why the checks may not have passed.
public void setupEntropyErrors(java.util.List tddNodes) throws PropagationException
PropagationException
ExtendedBNException
public void calculateLengthOfProgressableTask(java.util.List extendedBNsToCalculate)
calculateLengthOfProgressableTask
in class Propagation
extendedBNsToCalculate
- The ExtendedBN's being propagated.public void updateCurrentProgressForSimulationNode(ExtendedNode exn)
exn
- The node which has been discritisedpublic void splitStatesForNodeWithEvidence(ContinuousEN ddNode, double evidence, Range userEnteredAnswerRange, DataSet marginals, int noOfSplits, ExtendedBN ebn) throws PropagationException, ExtendedBNException, MinervaRangeException, InconsistentEvidenceException, NPTGeneratorInsufficientStateRangeException, NPTGeneratorException
ddNode
- The ExtendedNode whose State will be split.userEnteredAnswerRange
- If the user has entered an answer then we need to be careful how
much we split the states.marginals
- The current evidence data.noOfSplits
- The number of splits that should take place, hence no of new
States.ebn
- The ExtendedBN the ExtendedNode belongs to.allDDNodes
- A List of all the DynDisc ExtendedNodes.
PropagationException
ExtendedBNException
NPTGeneratorException
InconsistentEvidenceException
MinervaRangeException
NPTGeneratorInsufficientStateRangeException
public void modelChanged(ModelEvent ebne)
ModelListener
modelChanged
in interface ModelListener
ebne
- the event encapsulating the changepublic void modelPropagationStarting(ModelEvent me)
ModelListener
modelPropagationStarting
in interface ModelListener
public void modelPropagationFinished(ModelEvent me, boolean completionSuccessful)
ModelListener
modelPropagationFinished
in interface ModelListener
completionSuccessful
- TODO
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |