I
- input symbol typepublic class NLStarLearner<I> extends Object implements NFALearner<I>
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>
Constructor and Description |
---|
NLStarLearner(net.automatalib.words.Alphabet<I> alphabet,
MembershipOracle<I,Boolean> oracle)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
LearningAlgorithm.DFALearner<I> |
asDFALearner()
Retrieves a view of this learner as a DFA learner.
|
net.automatalib.automata.fsa.impl.compact.CompactDFA<I> |
getDeterminizedHypothesis()
Retrieves a deterministic version of the hypothesis.
|
net.automatalib.automata.fsa.impl.compact.CompactNFA<I> |
getHypothesisModel()
Returns the current hypothesis model.
|
boolean |
refineHypothesis(DefaultQuery<I,Boolean> 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.
|
public NLStarLearner(net.automatalib.words.Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle)
alphabet
- the input alphabetoracle
- the membership oraclepublic void startLearning()
LearningAlgorithm
startLearning
in interface LearningAlgorithm<net.automatalib.automata.fsa.NFA<?,I>,I,Boolean>
public LearningAlgorithm.DFALearner<I> asDFALearner()
getDeterminizedHypothesis()
public net.automatalib.automata.fsa.impl.compact.CompactDFA<I> getDeterminizedHypothesis()
NFAs.determinize(net.automatalib.automata.fsa.NFA)
.public boolean refineHypothesis(DefaultQuery<I,Boolean> ceQuery)
LearningAlgorithm
LearningAlgorithm.startLearning()
should be illegal.refineHypothesis
in interface LearningAlgorithm<net.automatalib.automata.fsa.NFA<?,I>,I,Boolean>
ceQuery
- the query which exposes diverging behavior, as posed to the real SUL (i.e. with the SULs output).public net.automatalib.automata.fsa.impl.compact.CompactNFA<I> 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.fsa.NFA<?,I>,I,Boolean>
Copyright © 2018. All rights reserved.