gov.sandia.cognition.learning.algorithm.root
Class RootFinderBisectionMethod

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.algorithm.AbstractIterativeAlgorithm
          extended by gov.sandia.cognition.algorithm.AbstractAnytimeAlgorithm<ResultType>
              extended by gov.sandia.cognition.learning.algorithm.AbstractAnytimeBatchLearner<Evaluator<Double,Double>,InputOutputPair<Double,Double>>
                  extended by gov.sandia.cognition.learning.algorithm.root.AbstractRootFinder
                      extended by gov.sandia.cognition.learning.algorithm.root.AbstractBracketedRootFinder
                          extended by gov.sandia.cognition.learning.algorithm.root.RootFinderBisectionMethod
All Implemented Interfaces:
AnytimeAlgorithm<InputOutputPair<Double,Double>>, IterativeAlgorithm, MeasurablePerformanceAlgorithm, StoppableAlgorithm, AnytimeBatchLearner<Evaluator<Double,Double>,InputOutputPair<Double,Double>>, BatchLearner<Evaluator<Double,Double>,InputOutputPair<Double,Double>>, RootFinder, CloneableSerializable, Serializable, Cloneable

@PublicationReference(author="Wikipedia",
                      title="Bisection method",
                      type=WebPage,
                      year=2009,
                      url="http://en.wikipedia.org/wiki/Bisection_method")
public class RootFinderBisectionMethod
extends AbstractBracketedRootFinder

Bisection algorithm for root finding. This works sort of like a "binary search" algorithm, by halving the possible region where the root could be by half each iteration. This algorithm is guaranteed to find the root if given a valid bracket. However, it tends to be the slowest algorithm for root finding.

Since:
3.0
Author:
Kevin R. Dixon
See Also:
Serialized Form

Field Summary
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.root.AbstractBracketedRootFinder
DEFAULT_ROOT_BRACKETER
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.root.AbstractRootFinder
DEFAULT_MAX_ITERATIONS, DEFAULT_TOLERANCE
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.AbstractAnytimeBatchLearner
data, keepGoing
 
Fields inherited from class gov.sandia.cognition.algorithm.AbstractAnytimeAlgorithm
maxIterations
 
Fields inherited from class gov.sandia.cognition.algorithm.AbstractIterativeAlgorithm
DEFAULT_ITERATION, iteration
 
Constructor Summary
RootFinderBisectionMethod()
          Creates a new instance of RootFinderBisectionMethod
 
Method Summary
protected  boolean step()
          Called to take a single step of the learning algorithm.
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.root.AbstractBracketedRootFinder
cleanupAlgorithm, getBracketer, getResult, getRootBracket, initializeAlgorithm, setBracketer, setRootBracket
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.root.AbstractRootFinder
clone, getInitialGuess, getPerformance, getTolerance, setInitialGuess, setTolerance
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.AbstractAnytimeBatchLearner
getData, getKeepGoing, learn, setData, setKeepGoing, stop
 
Methods inherited from class gov.sandia.cognition.algorithm.AbstractAnytimeAlgorithm
getMaxIterations, isResultValid, setMaxIterations
 
Methods inherited from class gov.sandia.cognition.algorithm.AbstractIterativeAlgorithm
addIterativeAlgorithmListener, fireAlgorithmEnded, fireAlgorithmStarted, fireStepEnded, fireStepStarted, getIteration, getListeners, removeIterativeAlgorithmListener, setIteration, setListeners
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.BatchLearner
learn
 
Methods inherited from interface gov.sandia.cognition.algorithm.AnytimeAlgorithm
getMaxIterations, setMaxIterations
 
Methods inherited from interface gov.sandia.cognition.algorithm.IterativeAlgorithm
addIterativeAlgorithmListener, getIteration, removeIterativeAlgorithmListener
 
Methods inherited from interface gov.sandia.cognition.algorithm.StoppableAlgorithm
isResultValid, stop
 

Constructor Detail

RootFinderBisectionMethod

public RootFinderBisectionMethod()
Creates a new instance of RootFinderBisectionMethod

Method Detail

step

protected boolean step()
Description copied from class: AbstractAnytimeBatchLearner
Called to take a single step of the learning algorithm.

Specified by:
step in class AbstractAnytimeBatchLearner<Evaluator<Double,Double>,InputOutputPair<Double,Double>>
Returns:
True if another step can be taken and false it the algorithm should halt.