gov.sandia.cognition.algorithm
Interface IterativeAlgorithm

All Known Subinterfaces:
AnytimeAlgorithm<ResultType>, AnytimeBatchLearner<DataType,ResultType>, FunctionMinimizer<InputType,OutputType,EvaluatorType>, LineMinimizer<EvaluatorType>, MarkovChainMonteCarlo<ObservationType,ParameterType>, ParameterCostMinimizer<ResultType>, RootBracketer, RootFinder
All Known Implementing Classes:
AbstractAnytimeAlgorithm, AbstractAnytimeBatchLearner, AbstractAnytimeFunctionMinimizer, AbstractAnytimeLineMinimizer, AbstractAnytimeSupervisedBatchLearner, AbstractBaggingLearner, AbstractBaumWelchAlgorithm, AbstractBracketedRootFinder, AbstractDecisionTreeLearner, AbstractIterativeAlgorithm, AbstractMarkovChainMonteCarlo, AbstractMinimizerBasedParameterCostMinimizer, AbstractParameterCostMinimizer, AbstractRootFinder, AdaBoost, AffinityPropagation, AgglomerativeClusterer, AnytimeAlgorithmWrapper, BaggingCategorizerLearner, BaggingRegressionLearner, BatchMultiPerceptron, BaumWelchAlgorithm, BinaryBaggingLearner, CategorizationTreeLearner, CategoryBalancedBaggingLearner, CategoryBalancedIVotingLearner, DirichletProcessClustering, DirichletProcessMixtureModel, DistributionParameterEstimator, FletcherXuHybridEstimation, FunctionMinimizerBFGS, FunctionMinimizerConjugateGradient, FunctionMinimizerDFP, FunctionMinimizerDirectionSetPowell, FunctionMinimizerFletcherReeves, FunctionMinimizerGradientDescent, FunctionMinimizerLiuStorey, FunctionMinimizerNelderMead, FunctionMinimizerPolakRibiere, FunctionMinimizerQuasiNewton, GaussianContextRecognizer.Learner, GaussNewtonAlgorithm, GeneralizedHebbianAlgorithm, GeneticAlgorithm, IVotingCategorizerLearner, KernelAdatron, KernelBasedIterativeRegression, KernelPerceptron, KernelWeightedRobustRegression, KMeansClusterer, KMeansClustererWithRemoval, LatentDirichletAllocationVectorGibbsSampler, LeastSquaresEstimator, LentzMethod, LevenbergMarquardtEstimation, LineMinimizerBacktracking, LineMinimizerDerivativeBased, LineMinimizerDerivativeFree, LogisticRegression, MetropolisHastingsAlgorithm, MinimizerBasedRootFinder, MixtureOfGaussians.EMLearner, MixtureOfGaussians.Learner, MultiCategoryAdaBoost, OptimizedKMeansClusterer, ParallelBaumWelchAlgorithm, ParallelDirichletProcessMixtureModel, ParallelizedGeneticAlgorithm, ParallelizedKMeansClusterer, ParallelLatentDirichletAllocationVectorGibbsSampler, ParameterDerivativeFreeCostMinimizer, ParameterDifferentiableCostMinimizer, PartitionalClusterer, Perceptron, PrimalEstimatedSubGradient, ProbabilisticLatentSemanticAnalysis, RegressionTreeLearner, RootBracketExpander, RootFinderBisectionMethod, RootFinderFalsePositionMethod, RootFinderNewtonsMethod, RootFinderRiddersMethod, RootFinderSecantMethod, ScalarMixtureDensityModel.EMLearner, SequentialMinimalOptimization, SimulatedAnnealer, SuccessiveOverrelaxation

@CodeReviews(reviews={@CodeReview(reviewer="Kevin R. Dixon",date="2008-02-08",changesNeeded=false,comments="Class looks fine."),@CodeReview(reviewer="Justin Basilico",date="2006-10-02",changesNeeded=false,comments="Interface is fine.")})
public interface IterativeAlgorithm

The IterativeAlgorithm interface defines the functionality of a algorithm that works through multiple iteration steps in order to perform its computation. It can add listeners to the algorithm that are notified at the beginning/end of the algorithm and the beginning/end of each step of the algorithm.

Since:
2.0
Author:
Justin Basilico

Method Summary
 void addIterativeAlgorithmListener(IterativeAlgorithmListener listener)
          Adds a listener for the iterations of the algorithm.
 int getIteration()
          Gets the current number of iterations executed by this algorithm since its it was started.
 void removeIterativeAlgorithmListener(IterativeAlgorithmListener listener)
          Removes a listener for the iterations of the algorithm.
 

Method Detail

getIteration

int getIteration()
Gets the current number of iterations executed by this algorithm since its it was started.

Returns:
Current number of iterations executed by this algorithm.

addIterativeAlgorithmListener

void addIterativeAlgorithmListener(IterativeAlgorithmListener listener)
Adds a listener for the iterations of the algorithm.

Parameters:
listener - The listener to add.

removeIterativeAlgorithmListener

void removeIterativeAlgorithmListener(IterativeAlgorithmListener listener)
Removes a listener for the iterations of the algorithm.

Parameters:
listener - The listener to remove.