Module de.learnlib.algorithm.lambda
Package de.learnlib.algorithm.lambda.ttt
Class AbstractTTTLambda<M extends SuffixOutput<I,D>,I,D>
java.lang.Object
de.learnlib.algorithm.lambda.ttt.AbstractTTTLambda<M,I,D>
- All Implemented Interfaces:
AccessSequenceTransformer<I>,LearningAlgorithm<M,,I, D> LearnerStateTracker,Resumable<TTTLambdaState<I,,D>> SupportsGrowingAlphabet<I>,FiniteRepresentation
- Direct Known Subclasses:
TTTLambdaDFA,TTTLambdaMealy
public abstract class AbstractTTTLambda<M extends SuffixOutput<I,D>,I,D>
extends Object
implements LearningAlgorithm<M,I,D>, AccessSequenceTransformer<I>, SupportsGrowingAlphabet<I>, Resumable<TTTLambdaState<I,D>>, FiniteRepresentation, LearnerStateTracker
-
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> -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractTTTLambda(Alphabet<I> alphabet, MembershipOracle<I, D> mqs, MembershipOracle<I, D> ceqs) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAlphabetSymbol(I symbol) protected abstract AbstractDecisionTree<I,D> dtree()booleanReturns whether the learning process has started yet.protected voidmakeConsistent(MembershipOracle<I, D> oracle) protected abstract intmaxSearchIndex(int ceLength) booleanrefineHypothesis(DefaultQuery<I, D> counterexample) Triggers a refinement of the model by providing a counterexample.voidresume(TTTLambdaState<I, D> state) Resume the data structure from a previously suspended point in time.voidStarts the model inference process, creating an initial hypothesis in the provided model object.suspend()Expose the state object.transformAccessSequence(Word<I> word) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.learnlib.AccessSequenceTransformer
isAccessSequence, longestASPrefixMethods inherited from interface net.automatalib.automaton.concept.FiniteRepresentation
sizeMethods inherited from interface de.learnlib.LearnerStateTracker
requireLearningProcessNotStarted, requireLearningProcessStartedMethods inherited from interface de.learnlib.algorithm.LearningAlgorithm
getHypothesisModel
-
Field Details
-
alphabet
-
strie
-
ptree
-
-
Constructor Details
-
AbstractTTTLambda
protected AbstractTTTLambda(Alphabet<I> alphabet, MembershipOracle<I, D> mqs, MembershipOracle<I, D> ceqs)
-
-
Method Details
-
maxSearchIndex
protected abstract int maxSearchIndex(int ceLength) -
getState
-
dtree
-
startLearning
public void startLearning()Description copied from interface:LearningAlgorithmStarts the model inference process, creating an initial hypothesis in the provided model object.- Specified by:
startLearningin interfaceLearningAlgorithm<M extends SuffixOutput<I,D>, I, D>
-
refineHypothesis
Description copied from interface:LearningAlgorithmTriggers 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.- Specified by:
refineHypothesisin interfaceLearningAlgorithm<M extends SuffixOutput<I,D>, I, D> - Parameters:
counterexample- the query which exposes diverging behavior, as posed to the real SUL (i.e. with the SULs output).- Returns:
trueif the counterexample triggered a refinement of the hypothesis,falseotherwise (i.e., it was no counterexample).
-
hasLearningProcessStarted
public boolean hasLearningProcessStarted()Description copied from interface:LearnerStateTrackerReturns whether the learning process has started yet.- Specified by:
hasLearningProcessStartedin interfaceLearnerStateTracker- Returns:
trueif the learning process has started,falseotherwise
-
addAlphabetSymbol
- Specified by:
addAlphabetSymbolin interfaceSupportsGrowingAlphabet<M extends SuffixOutput<I,D>>
-
transformAccessSequence
- Specified by:
transformAccessSequencein interfaceAccessSequenceTransformer<M extends SuffixOutput<I,D>>
-
makeConsistent
-
suspend
Description copied from interface:ResumableExpose the state object. -
resume
Description copied from interface:ResumableResume the data structure from a previously suspended point in time.
-