public abstract class AbstractDTLearner<M extends SuffixOutput<I,D>,I,D,SP,TP> extends Object implements LearningAlgorithm<M,I,D>
Modifier and Type | Class and Description |
---|---|
static class |
AbstractDTLearner.BuilderDefaults |
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>
Modifier and Type | Field and Description |
---|---|
protected DiscriminationTree<I,D,HState<I,D,SP,TP>> |
dtree |
protected DTLearnerHypothesis<I,D,SP,TP> |
hypothesis |
Modifier | Constructor and Description |
---|---|
protected |
AbstractDTLearner(Alphabet<I> alphabet,
MembershipOracle<I,D> oracle,
LocalSuffixFinder<? super I,? super D> suffixFinder,
boolean repeatedCounterexampleEvaluation,
DiscriminationTree<I,D,HState<I,D,SP,TP>> dtree) |
Modifier and Type | Method and Description |
---|---|
protected HState<I,D,SP,TP> |
createState(HTransition<I,D,SP,TP> trans) |
DiscriminationTree.GraphView |
dtGraphView() |
DiscriminationTree<I,D,HState<I,D,SP,TP>> |
getDiscriminationTree() |
GraphDOTHelper<HState<I,D,SP,TP>,HTransition<I,D,SP,TP>> |
getHypothesisDOTHelper() |
DTLearnerHypothesis<I,D,SP,TP> |
getHypothesisDS() |
protected void |
initializeState(HState<I,D,SP,TP> newState) |
boolean |
refineHypothesis(DefaultQuery<I,D> ceQuery)
Triggers a refinement of the model by providing a counterexample.
|
protected boolean |
refineHypothesisSingle(DefaultQuery<I,D> ceQuery) |
protected abstract Query<I,D> |
spQuery(HState<I,D,SP,TP> state) |
void |
startLearning()
Starts the model inference process, creating an initial hypothesis in the provided
model object.
|
protected abstract Query<I,D> |
tpQuery(HTransition<I,D,SP,TP> transition) |
protected void |
updateHypothesis() |
protected void |
updateTransition(HTransition<I,D,SP,TP> trans) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getHypothesisModel
protected final DTLearnerHypothesis<I,D,SP,TP> hypothesis
public boolean refineHypothesis(DefaultQuery<I,D> ceQuery)
LearningAlgorithm
LearningAlgorithm.startLearning()
should be illegal.refineHypothesis
in interface LearningAlgorithm<M extends SuffixOutput<I,D>,I,D>
ceQuery
- the query which exposes diverging behavior, as posed to the real SUL
(i.e. with the SULs output).public void startLearning()
LearningAlgorithm
startLearning
in interface LearningAlgorithm<M extends SuffixOutput<I,D>,I,D>
public DTLearnerHypothesis<I,D,SP,TP> getHypothesisDS()
public GraphDOTHelper<HState<I,D,SP,TP>,HTransition<I,D,SP,TP>> getHypothesisDOTHelper()
protected boolean refineHypothesisSingle(DefaultQuery<I,D> ceQuery)
protected void updateTransition(HTransition<I,D,SP,TP> trans)
protected void updateHypothesis()
public DiscriminationTree.GraphView dtGraphView()
Copyright © 2015. All rights reserved.