edu.duke.cs.banjo.learner.components
Class CycleCheckerApplyThenCheck

java.lang.Object
  extended byedu.duke.cs.banjo.learner.components.CycleChecker
      extended byedu.duke.cs.banjo.learner.components.CycleCheckerApplyThenCheck
All Implemented Interfaces:
CycleCheckerI

public class CycleCheckerApplyThenCheck
extends CycleChecker

Checks for a cycle in the network by breadth first traversal.

Details:

Change History:
Created on Nov 23, 2004

2/8/2005 (v2.0) hjs Rename to better reflect the core function of this class.

Author:
Jurgen Sladeczek (hjs)
For the latest info, please visit www.cs.duke.edu.

Field Summary
 
Fields inherited from class edu.duke.cs.banjo.learner.components.CycleChecker
acyclicChangeTypeTracker, bayesNetChange, bayesNetManager, consideredChangeTypeTracker, processData
 
Constructor Summary
CycleCheckerApplyThenCheck(BayesNetManagerI initialBayesNet, Settings processData)
           
 
Method Summary
 boolean isChangeValid(BayesNetManagerI _bayesNetManager, BayesNetChangeI _bayesNetChange)
          Checks whether the proposed bayesNetChange results in a cycle in the network described by the bayesNetManager.
protected  boolean isCyclic()
           
 
Methods inherited from class edu.duke.cs.banjo.learner.components.CycleChecker
provideCollectedStatistics, updateProcessData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CycleCheckerApplyThenCheck

public CycleCheckerApplyThenCheck(BayesNetManagerI initialBayesNet,
                                  Settings processData)
                           throws java.lang.Exception
Method Detail

isChangeValid

public boolean isChangeValid(BayesNetManagerI _bayesNetManager,
                             BayesNetChangeI _bayesNetChange)
                      throws java.lang.Exception
Description copied from interface: CycleCheckerI
Checks whether the proposed bayesNetChange results in a cycle in the network described by the bayesNetManager.

Specified by:
isChangeValid in interface CycleCheckerI
Specified by:
isChangeValid in class CycleChecker
Throws:
java.lang.Exception

isCyclic

protected boolean isCyclic()
                    throws java.lang.Exception
Throws:
java.lang.Exception