Class OPLearnerDFA<I>
- java.lang.Object
-
- de.learnlib.algorithm.observationpack.AbstractOPLearner<DFA<?,I>,I,Boolean,Boolean,Void>
-
- de.learnlib.algorithm.observationpack.dfa.OPLearnerDFA<I>
-
- Type Parameters:
I
- input symbol class
- All Implemented Interfaces:
LearningAlgorithm<DFA<?,I>,I,Boolean>
,LearningAlgorithm.DFALearner<I>
,Resumable<OPLearnerState<I,Boolean,Boolean,Void>>
,SupportsGrowingAlphabet<I>
- Direct Known Subclasses:
ObservationPackAdapterDFA
public class OPLearnerDFA<I> extends AbstractOPLearner<DFA<?,I>,I,Boolean,Boolean,Void> implements LearningAlgorithm.DFALearner<I>
Algorithm for learning DFA using the Discrimination Tree algorithm.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface de.learnlib.algorithm.LearningAlgorithm
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>, LearningAlgorithm.MooreLearner<I,O>, LearningAlgorithm.NFALearner<I>
-
-
Constructor Summary
Constructors Constructor Description OPLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, LocalSuffixFinder<? super I,? super Boolean> suffixFinder, boolean repeatedCounterexampleEvaluation, boolean epsilonRoot)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DFA<?,I>
getHypothesisModel()
Returns the current hypothesis model.protected Query<I,Boolean>
spQuery(HState<I,Boolean,Boolean,Void> state)
protected @Nullable Query<I,Boolean>
tpQuery(HTransition<I,Boolean,Boolean,Void> transition)
-
Methods inherited from class de.learnlib.algorithm.observationpack.AbstractOPLearner
addAlphabetSymbol, createState, getDiscriminationTree, getHypothesisDS, initializeState, refineHypothesis, refineHypothesisSingle, resume, startLearning, suspend, updateHypothesis, updateTransitions
-
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
refineHypothesis, startLearning
-
-
-
-
Constructor Detail
-
OPLearnerDFA
public OPLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, LocalSuffixFinder<? super I,? super Boolean> suffixFinder, boolean repeatedCounterexampleEvaluation, boolean epsilonRoot)
Constructor.- Parameters:
alphabet
- the input alphabetoracle
- the membership oraclesuffixFinder
- method to use for analyzing counterexamplesepsilonRoot
- whether to ensure the root of the discrimination tree is always labeled using the empty word.
-
-
Method Detail
-
getHypothesisModel
public DFA<?,I> getHypothesisModel()
Description copied from interface:LearningAlgorithm
Returns the current hypothesis model.N.B.: By the contract of this interface, the model returned by this method may not be modified (i.e., M generally should refer to an immutable interface), and its validity is retained only until the next invocation of
LearningAlgorithm.refineHypothesis(DefaultQuery)
. If older hypotheses have to be maintained, a copy of the returned model must be made.Please note that it should be illegal to invoke this method before an initial invocation of
LearningAlgorithm.startLearning()
.- Specified by:
getHypothesisModel
in interfaceLearningAlgorithm<DFA<?,I>,I,Boolean>
- Returns:
- the current hypothesis model.
-
-