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

java.lang.Object
  extended byedu.duke.cs.banjo.learner.components.Decider
      extended byedu.duke.cs.banjo.learner.components.DeciderMetropolis
All Implemented Interfaces:
DeciderI

public class DeciderMetropolis
extends Decider

Decides whether to keep a proposed change, based on a Metropolis-Hastings decision algorithm.

Details:

Change History:
Created on May 14, 2004

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

Field Summary
private  double currentTemperature
           
 
Fields inherited from class edu.duke.cs.banjo.learner.components.Decider
betterScoreChangeTypeTracker, comparisonsSinceLastHighScore, consideredChangeTypeTracker, currentScore, minMarkovLag, otherAcceptedChangeTypeTracker, processData, rnd
 
Constructor Summary
DeciderMetropolis(BayesNetManagerI _initialBayesNet, Settings _processData, double _initialScore)
           
 
Method Summary
 boolean isChangeAccepted(double _newScore, BayesNetChangeI _bayesNetChange)
           
 java.lang.StringBuffer provideCollectedStatistics()
          Collects a basic set of decider-related statistics that any subclass can use as default.
 void updateProcessData(Settings _processData)
          Updates whatever setting within processData that is being changed in the particular decider implementation (usually called from the overarching search method; See, e.g., the exchange of data between SearcherSimAnneal and DeciderMetropolis).
 
Methods inherited from class edu.duke.cs.banjo.learner.components.Decider
getComparisonsSinceLastHighScore, getCurrentScore, setCurrentScore
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

currentTemperature

private double currentTemperature
Constructor Detail

DeciderMetropolis

public DeciderMetropolis(BayesNetManagerI _initialBayesNet,
                         Settings _processData,
                         double _initialScore)
                  throws java.lang.Exception
Method Detail

isChangeAccepted

public boolean isChangeAccepted(double _newScore,
                                BayesNetChangeI _bayesNetChange)
                         throws java.lang.Exception
Specified by:
isChangeAccepted in interface DeciderI
Specified by:
isChangeAccepted in class Decider
Returns:
Returns whether to keep the newScore based on the bayesNetChange.
Throws:
java.lang.Exception

updateProcessData

public void updateProcessData(Settings _processData)
                       throws java.lang.Exception
Description copied from interface: DeciderI
Updates whatever setting within processData that is being changed in the particular decider implementation (usually called from the overarching search method; See, e.g., the exchange of data between SearcherSimAnneal and DeciderMetropolis).

Specified by:
updateProcessData in interface DeciderI
Overrides:
updateProcessData in class Decider
Throws:
java.lang.Exception

provideCollectedStatistics

public java.lang.StringBuffer provideCollectedStatistics()
                                                  throws java.lang.Exception
Description copied from class: Decider
Collects a basic set of decider-related statistics that any subclass can use as default.

Specified by:
provideCollectedStatistics in interface DeciderI
Overrides:
provideCollectedStatistics in class Decider
Throws:
java.lang.Exception