I - input alphabet typeO - output alphabet typepublic class ADTLearner<I,O> extends Object implements LearningAlgorithm.MealyLearner<I,O>, PartialTransitionAnalyzer<ADTState<I,O>,I>, SupportsGrowingAlphabet<I>, Resumable<ADTLearnerState<ADTState<I,O>,I,O>>
| Modifier and Type | Class and Description |
|---|---|
static class |
ADTLearner.BuilderDefaults |
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>PartialTransitionAnalyzer.HypothesisModificationExceptionHYPOTHESIS_MODIFICATION_EXCEPTION| Constructor and Description |
|---|
ADTLearner(Alphabet<I> alphabet,
SymbolQueryOracle<I,O> oracle,
LeafSplitter leafSplitter,
ADTExtender adtExtender,
SubtreeReplacer subtreeReplacer) |
ADTLearner(Alphabet<I> alphabet,
SymbolQueryOracle<I,O> oracle,
LeafSplitter leafSplitter,
ADTExtender adtExtender,
SubtreeReplacer subtreeReplacer,
boolean useObservationTree) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAlphabetSymbol(I symbol) |
void |
closeTransition(ADTState<I,O> state,
I input)
Determine the successor/output of the transition in question (which is usually achieved by sifting the
corresponding long-prefix through the ADT).
|
ADT<ADTState<I,O>,I,O> |
getADT() |
MealyMachine<?,I,?,O> |
getHypothesisModel() |
boolean |
isTransitionDefined(ADTState<I,O> state,
I input)
Check whether the transition in question is defined or not.
|
boolean |
refineHypothesis(DefaultQuery<I,Word<O>> ce) |
boolean |
refineHypothesisInternal(DefaultQuery<I,Word<O>> ceQuery) |
void |
resume(ADTLearnerState<ADTState<I,O>,I,O> state) |
void |
startLearning() |
ADTLearnerState<ADTState<I,O>,I,O> |
suspend() |
public ADTLearner(Alphabet<I> alphabet, SymbolQueryOracle<I,O> oracle, LeafSplitter leafSplitter, ADTExtender adtExtender, SubtreeReplacer subtreeReplacer)
public ADTLearner(Alphabet<I> alphabet, SymbolQueryOracle<I,O> oracle, LeafSplitter leafSplitter, ADTExtender adtExtender, SubtreeReplacer subtreeReplacer, boolean useObservationTree)
public void startLearning()
startLearning in interface LearningAlgorithm<MealyMachine<?,I,?,O>,I,Word<O>>public boolean refineHypothesis(DefaultQuery<I,Word<O>> ce)
refineHypothesis in interface LearningAlgorithm<MealyMachine<?,I,?,O>,I,Word<O>>public boolean refineHypothesisInternal(DefaultQuery<I,Word<O>> ceQuery)
public MealyMachine<?,I,?,O> getHypothesisModel()
getHypothesisModel in interface LearningAlgorithm<MealyMachine<?,I,?,O>,I,Word<O>>public void closeTransition(ADTState<I,O> state, I input)
PartialTransitionAnalyzercloseTransition in interface PartialTransitionAnalyzer<ADTState<I,O>,I>state - the (source) state of the transition in questioninput - the input symbol of the transition in questionpublic boolean isTransitionDefined(ADTState<I,O> state, I input)
PartialTransitionAnalyzerisTransitionDefined in interface PartialTransitionAnalyzer<ADTState<I,O>,I>state - the (source) state of the transition in questioninput - the input symbol of the transition in questiontrue if the transition (and thus the successor/output) is defined, false otherwisepublic void addAlphabetSymbol(I symbol)
addAlphabetSymbol in interface SupportsGrowingAlphabet<I>Copyright © 2020. All rights reserved.