Package de.learnlib.algorithm.ttt.dfa
Class PrefixTTTLearnerDFA<I>
- java.lang.Object
-
- de.learnlib.algorithm.ttt.base.AbstractTTTLearner<DFA<?,I>,I,Boolean>
-
- de.learnlib.algorithm.ttt.dfa.TTTLearnerDFA<I>
-
- de.learnlib.algorithm.ttt.dfa.PrefixTTTLearnerDFA<I>
-
- All Implemented Interfaces:
LearningAlgorithm<DFA<?,I>,I,Boolean>
,LearningAlgorithm.DFALearner<I>
,Resumable<TTTLearnerState<I,Boolean>>
,SupportsGrowingAlphabet<I>
public class PrefixTTTLearnerDFA<I> extends TTTLearnerDFA<I>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
PrefixTTTLearnerDFA.ExtDTNode<I>
-
Nested classes/interfaces inherited from class de.learnlib.algorithm.ttt.base.AbstractTTTLearner
AbstractTTTLearner.BuilderDefaults, AbstractTTTLearner.Splitter<I,D>
-
Nested classes/interfaces inherited from interface de.learnlib.algorithm.LearningAlgorithm
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>, LearningAlgorithm.MooreLearner<I,O>, LearningAlgorithm.NFALearner<I>
-
-
Field Summary
-
Fields inherited from class de.learnlib.algorithm.ttt.base.AbstractTTTLearner
alphabet, analyzer, blockList, dtree, hypothesis, openTransitions, oracle
-
-
Constructor Summary
Constructors Constructor Description PrefixTTTLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, AcexAnalyzer analyzer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected TTTState<I,Boolean>
makeTree(TTTTransition<I,Boolean> trans)
boolean
refineHypothesis(DefaultQuery<I,Boolean> ceQuery)
Triggers a refinement of the model by providing a counterexample.protected boolean
refineHypothesisSingle(DefaultQuery<I,Boolean> ceQuery)
Performs a single refinement of the hypothesis, i.e., without repeated counterexample evaluation.-
Methods inherited from class de.learnlib.algorithm.ttt.dfa.TTTLearnerDFA
computeHypothesisOutput, createNewNode, deriveAcex, getHypothesisDS, getHypothesisModel, initializeState, predictSuccOutcome, succEffect
-
Methods inherited from class de.learnlib.algorithm.ttt.base.AbstractTTTLearner
addAlphabetSymbol, allNodesFinal, closeTransitions, createMap, createTransition, declareFinal, finalizeAny, findOutputInconsistency, getAnySuccessor, getAnySuccessor, getAnyTarget, getDeterministicState, getDiscriminationTree, getNondetSuccessors, link, query, query, resume, split, startLearning, suspend
-
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
startLearning
-
-
-
-
Constructor Detail
-
PrefixTTTLearnerDFA
public PrefixTTTLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, AcexAnalyzer analyzer)
-
-
Method Detail
-
refineHypothesis
public boolean refineHypothesis(DefaultQuery<I,Boolean> ceQuery)
Description copied from interface:LearningAlgorithm
Triggers a refinement of the model by providing a counterexample. A counterexample is a query which exposes different behavior of the real SUL compared to the hypothesis. Please note that invoking this method before an initial invocation ofLearningAlgorithm.startLearning()
should be illegal.- Specified by:
refineHypothesis
in interfaceLearningAlgorithm<DFA<?,I>,I,Boolean>
- Overrides:
refineHypothesis
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
- Parameters:
ceQuery
- the query which exposes diverging behavior, as posed to the real SUL (i.e. with the SULs output).- Returns:
true
if the counterexample triggered a refinement of the hypothesis,false
otherwise (i.e., it was no counterexample).
-
refineHypothesisSingle
protected boolean refineHypothesisSingle(DefaultQuery<I,Boolean> ceQuery)
Description copied from class:AbstractTTTLearner
Performs a single refinement of the hypothesis, i.e., without repeated counterexample evaluation. The parameter and return value have the same significance as inAbstractTTTLearner.refineHypothesis(DefaultQuery)
.- Overrides:
refineHypothesisSingle
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
- Parameters:
ceQuery
- the counterexample (query) to be used for refinement- Returns:
true
if the hypothesis was refined,false
otherwise
-
-