public class IsSolvableSomewhatExhaustiveEfficient extends EfficientPebbleAlgorithm implements java.util.Iterator<AlgorithmStates>, java.io.Serializable
Constructor and Description |
---|
IsSolvableSomewhatExhaustiveEfficient() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
argumentFormat()
Describe how the argument(s) to the algorithm should be formatted, if applicable.
|
boolean |
countsOperations() |
double |
getVersion()
Mostly for use in comparing results from previous versions of algorithms, and/or so we can know whether or not
data in the database is based on an older version of the algorithm.
|
boolean |
hasNext()
Checks to see if the next method needs to be called (if the state of the algorithm is unknown)
|
void |
initializeMoreData()
Called by initializeData which is called by setPuzzleData.
|
AlgorithmStates |
next()
This is the method that uses the algorithm.
|
void |
parseArguments(java.lang.String args)
Sends a string that the user can enter to the algorithm.
|
void |
reinitializeMoreData()
If resetWithThesePebbles is called, what else needs to be reinitialized before the algorithm can be run?
This is supposed to be much more efficient than calling initializeMoreData.
|
void |
remove()
From Iterator interface.
|
void |
runAlgorithm()
Runs the Algorithm.
|
getCovered, getCurrentProblemData, resetWithThesePebbles, resetWithThesePebbles
getPebbleState, getProblemType, getProgressReport, getResult, initializeData, quit, setPebbleState
getNumberOfOperations, getState, isDone, isNotDone, isQuit, setProblemData, setState
public IsSolvableSomewhatExhaustiveEfficient()
public void runAlgorithm()
AlgorithmInterface
runAlgorithm
in interface AlgorithmInterface<PebbleInstance>
public boolean hasNext()
hasNext
in interface java.util.Iterator<AlgorithmStates>
public AlgorithmStates next()
next
in interface java.util.Iterator<AlgorithmStates>
public void remove()
remove
in interface java.util.Iterator<AlgorithmStates>
public void initializeMoreData()
PebbleAlgorithm
initializeMoreData
in class EfficientPebbleAlgorithm
public void reinitializeMoreData()
EfficientPebbleAlgorithm
reinitializeMoreData
in class EfficientPebbleAlgorithm
public boolean countsOperations()
countsOperations
in interface AlgorithmInterface<PebbleInstance>
public double getVersion()
AlgorithmInterface
getVersion
in interface AlgorithmInterface<PebbleInstance>
public void parseArguments(java.lang.String args)
AlgorithmInterface
parseArguments
in interface AlgorithmInterface<PebbleInstance>
public java.lang.String argumentFormat()
AlgorithmInterface
argumentFormat
in interface AlgorithmInterface<PebbleInstance>