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

java.lang.Object
  extended byedu.duke.cs.banjo.learner.components.Proposer
      extended byedu.duke.cs.banjo.learner.components.ProposerAllLocalMoves
All Implemented Interfaces:
ProposerI

public class ProposerAllLocalMoves
extends Proposer

Proposes a list of all BayesNetChanges that can be applied in a single step (using addition, deletion, or reversal of a single edge), based on the current network configuration.

Details:

Change History:
Created on Dec 20, 2004

8/25/2005 (v1.0.1) hjs Add conditions to check proposed changes against maxParentCount.
2/15/2006 (v2.0) hjs Properly enable reversals of edges between any 2 nodes of lag 0.
4/15/2008 (v2.2) hjs Add additional condition for selecting reversals.

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

Nested Class Summary
protected  class ProposerAllLocalMoves.EdgesAsArraySelector
           
protected  class ProposerAllLocalMoves.EdgesAsMatrixSelector
           
private  class ProposerAllLocalMoves.multipleMovesStructureSelector
           
 
Nested classes inherited from class edu.duke.cs.banjo.learner.components.Proposer
Proposer.AllowEdgeReversalSelector, Proposer.EdgeSelector, Proposer.OmitEdgeReversalSelector, Proposer.StructureSelector
 
Field Summary
protected  int bayesNetChangeSelectLimit
           
 
Fields inherited from class edu.duke.cs.banjo.learner.components.Proposer
bayesNetChange, bayesNetManager, changeList, changeTypeCount, edgeSelector, maxMarkovLag, maxParentCount, minMarkovLag, processData, proposedChangeTypeTracker, rnd, structureSelector, varCount
 
Constructor Summary
ProposerAllLocalMoves(BayesNetManagerI initialBayesNet, Settings processData)
           
 
Method Summary
 BayesNetChangeI suggestBayesNetChange(BayesNetManagerI _bayesNetManager)
           
 java.util.List suggestBayesNetChanges(BayesNetManagerI _bayesNetManager)
           
 
Methods inherited from class edu.duke.cs.banjo.learner.components.Proposer
provideCollectedStatistics, updateProcessData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bayesNetChangeSelectLimit

protected final int bayesNetChangeSelectLimit
Constructor Detail

ProposerAllLocalMoves

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

suggestBayesNetChange

public BayesNetChangeI suggestBayesNetChange(BayesNetManagerI _bayesNetManager)
                                      throws java.lang.Exception
Specified by:
suggestBayesNetChange in interface ProposerI
Specified by:
suggestBayesNetChange in class Proposer
Returns:
Returns the bayesNetChange.
Throws:
java.lang.Exception

suggestBayesNetChanges

public java.util.List suggestBayesNetChanges(BayesNetManagerI _bayesNetManager)
                                      throws java.lang.Exception
Returns:
Returns a list of BayesNetChanges based on the proposer algorithm.
Throws:
java.lang.Exception