public class MealyDHC<I,O> extends Object implements LearningAlgorithm.MealyLearner<I,O>, AccessSequenceTransformer<I>
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>
Constructor and Description |
---|
MealyDHC(Alphabet<I> alphabet,
MembershipOracle<I,Word<O>> oracle) |
Modifier and Type | Method and Description |
---|---|
MealyMachine<?,I,?,O> |
getHypothesisModel()
Returns the current hypothesis model.
|
boolean |
isAccessSequence(Word<I> word) |
boolean |
refineHypothesis(DefaultQuery<I,Word<O>> ceQuery)
Triggers a refinement of the model by providing a counterexample.
|
void |
startLearning()
Starts the model inference process, creating an initial hypothesis in the provided
model object.
|
Word<I> |
transformAccessSequence(Word<I> word) |
public void startLearning()
LearningAlgorithm
startLearning
in interface LearningAlgorithm<MealyMachine<?,I,?,O>,I,Word<O>>
public boolean refineHypothesis(DefaultQuery<I,Word<O>> ceQuery)
LearningAlgorithm
LearningAlgorithm.startLearning()
should be illegal.refineHypothesis
in interface LearningAlgorithm<MealyMachine<?,I,?,O>,I,Word<O>>
ceQuery
- the query which exposes diverging behavior, as posed to the real SUL
(i.e. with the SULs output).public 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<MealyMachine<?,I,?,O>,I,Word<O>>
public Word<I> transformAccessSequence(Word<I> word)
transformAccessSequence
in interface AccessSequenceTransformer<I>
public boolean isAccessSequence(Word<I> word)
isAccessSequence
in interface AccessSequenceTransformer<I>
Copyright © 2014. All Rights Reserved.