Package de.learnlib.algorithm.ttt.dfa
Class TTTLearnerDFA<I>
- java.lang.Object
-
- de.learnlib.algorithm.ttt.base.AbstractTTTLearner<DFA<?,I>,I,Boolean>
-
- de.learnlib.algorithm.ttt.dfa.TTTLearnerDFA<I>
-
- All Implemented Interfaces:
LearningAlgorithm<DFA<?,I>,I,Boolean>
,LearningAlgorithm.DFALearner<I>
,Resumable<TTTLearnerState<I,Boolean>>
,SupportsGrowingAlphabet<I>
- Direct Known Subclasses:
PrefixTTTLearnerDFA
,TTTAdapterDFA
public class TTTLearnerDFA<I> extends AbstractTTTLearner<DFA<?,I>,I,Boolean> implements LearningAlgorithm.DFALearner<I>
-
-
Nested Class Summary
-
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 Modifier Constructor Description TTTLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, AcexAnalyzer analyzer)
protected
TTTLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, AcexAnalyzer analyzer, Supplier<? extends AbstractBaseDTNode<I,Boolean>> rootSupplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Boolean
computeHypothesisOutput(TTTState<I,Boolean> state, Word<I> suffix)
protected AbstractBaseDTNode<I,Boolean>
createNewNode(AbstractBaseDTNode<I,Boolean> parent, Boolean parentOutput)
protected OutInconsPrefixTransformAcex<I,Boolean>
deriveAcex(OutputInconsistency<I,Boolean> outIncons)
TTTHypothesisDFA<I>
getHypothesisDS()
DFA<?,I>
getHypothesisModel()
Returns the current hypothesis model.protected void
initializeState(TTTState<I,Boolean> state)
Initializes a state.protected Boolean
predictSuccOutcome(TTTTransition<I,Boolean> trans, AbstractBaseDTNode<I,Boolean> succSeparator)
protected Boolean
succEffect(Boolean effect)
-
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, makeTree, query, query, refineHypothesis, refineHypothesisSingle, 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
refineHypothesis, startLearning
-
-
-
-
Constructor Detail
-
TTTLearnerDFA
public TTTLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, AcexAnalyzer analyzer)
-
TTTLearnerDFA
protected TTTLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, AcexAnalyzer analyzer, Supplier<? extends AbstractBaseDTNode<I,Boolean>> rootSupplier)
-
-
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.
-
initializeState
protected void initializeState(TTTState<I,Boolean> state)
Description copied from class:AbstractTTTLearner
Initializes a state. Creates its outgoing transition objects, and adds them to the "open" list.- Overrides:
initializeState
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
- Parameters:
state
- the state to initialize
-
deriveAcex
protected OutInconsPrefixTransformAcex<I,Boolean> deriveAcex(OutputInconsistency<I,Boolean> outIncons)
- Overrides:
deriveAcex
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
-
succEffect
protected Boolean succEffect(Boolean effect)
- Specified by:
succEffect
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
-
predictSuccOutcome
protected Boolean predictSuccOutcome(TTTTransition<I,Boolean> trans, AbstractBaseDTNode<I,Boolean> succSeparator)
- Specified by:
predictSuccOutcome
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
-
computeHypothesisOutput
protected Boolean computeHypothesisOutput(TTTState<I,Boolean> state, Word<I> suffix)
- Specified by:
computeHypothesisOutput
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
-
getHypothesisDS
public TTTHypothesisDFA<I> getHypothesisDS()
- Overrides:
getHypothesisDS
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
-
createNewNode
protected AbstractBaseDTNode<I,Boolean> createNewNode(AbstractBaseDTNode<I,Boolean> parent, Boolean parentOutput)
- Specified by:
createNewNode
in classAbstractTTTLearner<DFA<?,I>,I,Boolean>
-
-