Class AbstractOPLearner<M extends SuffixOutput<I,D>,I,D,SP,TP>
- java.lang.Object
-
- de.learnlib.algorithm.observationpack.AbstractOPLearner<M,I,D,SP,TP>
-
- All Implemented Interfaces:
LearningAlgorithm<M,I,D>,Resumable<OPLearnerState<I,D,SP,TP>>,SupportsGrowingAlphabet<I>
- Direct Known Subclasses:
OPLearnerDFA,OPLearnerMealy,OPLearnerMoore
public abstract class AbstractOPLearner<M extends SuffixOutput<I,D>,I,D,SP,TP> extends Object implements LearningAlgorithm<M,I,D>, SupportsGrowingAlphabet<I>, Resumable<OPLearnerState<I,D,SP,TP>>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractOPLearner.BuilderDefaults-
Nested classes/interfaces inherited from interface de.learnlib.algorithm.LearningAlgorithm
LearningAlgorithm.DFALearner<I extends Object>, LearningAlgorithm.MealyLearner<I extends Object,O extends Object>, LearningAlgorithm.MooreLearner<I extends Object,O extends Object>, LearningAlgorithm.NFALearner<I extends Object>
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractOPLearner(Alphabet<I> alphabet, MembershipOracle<I,D> oracle, LocalSuffixFinder<? super I,? super D> suffixFinder, boolean repeatedCounterexampleEvaluation, AbstractWordBasedDiscriminationTree<I,D,HState<I,D,SP,TP>> dtree)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddAlphabetSymbol(I symbol)protected HState<I,D,SP,TP>createState(HTransition<I,D,SP,TP> trans)AbstractWordBasedDiscriminationTree<I,D,HState<I,D,SP,TP>>getDiscriminationTree()OPLearnerHypothesis<I,D,SP,TP>getHypothesisDS()protected voidinitializeState(HState<I,D,SP,TP> newState)booleanrefineHypothesis(DefaultQuery<I,D> ceQuery)protected booleanrefineHypothesisSingle(DefaultQuery<I,D> ceQuery)voidresume(OPLearnerState<I,D,SP,TP> state)protected abstract @Nullable Query<I,D>spQuery(HState<I,D,SP,TP> state)voidstartLearning()OPLearnerState<I,D,SP,TP>suspend()protected abstract @Nullable Query<I,D>tpQuery(HTransition<I,D,SP,TP> transition)protected voidupdateHypothesis()protected voidupdateTransitions()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.learnlib.algorithm.LearningAlgorithm
getHypothesisModel
-
-
-
-
Method Detail
-
startLearning
public void startLearning()
- Specified by:
startLearningin interfaceLearningAlgorithm<M extends SuffixOutput<I,D>,I,D>
-
refineHypothesis
public boolean refineHypothesis(DefaultQuery<I,D> ceQuery)
- Specified by:
refineHypothesisin interfaceLearningAlgorithm<M extends SuffixOutput<I,D>,I,D>
-
refineHypothesisSingle
protected boolean refineHypothesisSingle(DefaultQuery<I,D> ceQuery)
-
updateHypothesis
protected void updateHypothesis()
-
updateTransitions
protected void updateTransitions()
-
getDiscriminationTree
public AbstractWordBasedDiscriminationTree<I,D,HState<I,D,SP,TP>> getDiscriminationTree()
-
getHypothesisDS
public OPLearnerHypothesis<I,D,SP,TP> getHypothesisDS()
-
addAlphabetSymbol
public void addAlphabetSymbol(I symbol)
- Specified by:
addAlphabetSymbolin interfaceSupportsGrowingAlphabet<M extends SuffixOutput<I,D>>
-
suspend
public OPLearnerState<I,D,SP,TP> suspend()
-
-