public class TTTLearnerMealy<I,O> extends AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>> implements LearningAlgorithm.MealyLearner<I,O>
AbstractTTTLearner.BuilderDefaults, AbstractTTTLearner.Splitter<I,D>
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>
alphabet, analyzer, blockList, dtree, hypothesis, openTransitions, oracle
Constructor and Description |
---|
TTTLearnerMealy(net.automatalib.words.Alphabet<I> alphabet,
MembershipOracle<I,net.automatalib.words.Word<O>> oracle,
AcexAnalyzer analyzer) |
Modifier and Type | Method and Description |
---|---|
protected net.automatalib.words.Word<O> |
computeHypothesisOutput(TTTState<I,net.automatalib.words.Word<O>> state,
net.automatalib.words.Word<I> suffix) |
protected AbstractBaseDTNode<I,net.automatalib.words.Word<O>> |
createNewNode(AbstractBaseDTNode<I,net.automatalib.words.Word<O>> parent,
net.automatalib.words.Word<O> parentOutput) |
protected TTTTransition<I,net.automatalib.words.Word<O>> |
createTransition(TTTState<I,net.automatalib.words.Word<O>> state,
I sym) |
protected OutInconsPrefixTransformAcex<I,net.automatalib.words.Word<O>> |
deriveAcex(OutputInconsistency<I,net.automatalib.words.Word<O>> outIncons) |
protected OutputInconsistency<I,net.automatalib.words.Word<O>> |
findOutputInconsistency() |
net.automatalib.automata.transout.MealyMachine<?,I,?,O> |
getHypothesisModel()
Returns the current hypothesis model.
|
protected net.automatalib.words.Word<O> |
predictSuccOutcome(TTTTransition<I,net.automatalib.words.Word<O>> trans,
AbstractBaseDTNode<I,net.automatalib.words.Word<O>> succSeparator) |
boolean |
refineHypothesisSingle(DefaultQuery<I,net.automatalib.words.Word<O>> ceQuery)
Performs a single refinement of the hypothesis, i.e., without repeated counterexample evaluation.
|
protected net.automatalib.words.Word<O> |
succEffect(net.automatalib.words.Word<O> effect) |
addAlphabetSymbol, addEventListener, allNodesFinal, closeTransitions, createMap, declareFinal, finalizeAny, getAnySuccessor, getAnySuccessor, getAnyTarget, getDeterministicState, getDiscriminationTree, getHypothesisDS, getNondetSuccessors, getStateTransition, initializeState, link, makeTree, query, query, refineHypothesis, removeEventListener, resume, split, startLearning, suspend
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
refineHypothesis, startLearning
public TTTLearnerMealy(net.automatalib.words.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.words.Word<O>> oracle, AcexAnalyzer analyzer)
public net.automatalib.automata.transout.MealyMachine<?,I,?,O> getHypothesisModel()
LearningAlgorithm
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()
.
getHypothesisModel
in interface LearningAlgorithm<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
protected TTTTransition<I,net.automatalib.words.Word<O>> createTransition(TTTState<I,net.automatalib.words.Word<O>> state, I sym)
createTransition
in class AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
public boolean refineHypothesisSingle(DefaultQuery<I,net.automatalib.words.Word<O>> ceQuery)
AbstractTTTLearner
AbstractTTTLearner.refineHypothesis(DefaultQuery)
.refineHypothesisSingle
in class AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
ceQuery
- the counterexample (query) to be used for refinementtrue
if the hypothesis was refined, false
otherwiseprotected OutInconsPrefixTransformAcex<I,net.automatalib.words.Word<O>> deriveAcex(OutputInconsistency<I,net.automatalib.words.Word<O>> outIncons)
deriveAcex
in class AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
protected net.automatalib.words.Word<O> succEffect(net.automatalib.words.Word<O> effect)
succEffect
in class AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
protected OutputInconsistency<I,net.automatalib.words.Word<O>> findOutputInconsistency()
findOutputInconsistency
in class AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
protected net.automatalib.words.Word<O> predictSuccOutcome(TTTTransition<I,net.automatalib.words.Word<O>> trans, AbstractBaseDTNode<I,net.automatalib.words.Word<O>> succSeparator)
predictSuccOutcome
in class AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
protected net.automatalib.words.Word<O> computeHypothesisOutput(TTTState<I,net.automatalib.words.Word<O>> state, net.automatalib.words.Word<I> suffix)
computeHypothesisOutput
in class AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
protected AbstractBaseDTNode<I,net.automatalib.words.Word<O>> createNewNode(AbstractBaseDTNode<I,net.automatalib.words.Word<O>> parent, net.automatalib.words.Word<O> parentOutput)
createNewNode
in class AbstractTTTLearner<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>
Copyright © 2018. All rights reserved.