public class ExtensibleLStarMealy<I,O> extends ExtensibleAutomatonLStar<MealyMachine<?,I,?,O>,I,Word<O>,Integer,CompactMealyTransition<O>,Void,O,CompactMealy<I,O>> implements OTLearner.OTLearnerMealy<I,O>
ExtensibleAutomatonLStar.BuilderDefaults
OTLearner.OTLearnerDFA<I>, OTLearner.OTLearnerMealy<I,O>
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>
GlobalSuffixLearner.GlobalSuffixLearnerDFA<I>, GlobalSuffixLearner.GlobalSuffixLearnerMealy<I,O>
cexHandler, closingStrategy, initialPrefixes, initialSuffixes
internalHyp, stateInfos
alphabet, oracle, table
Constructor and Description |
---|
ExtensibleLStarMealy(Alphabet<I> alphabet,
MembershipOracle<I,Word<O>> oracle,
List<Word<I>> initialPrefixes,
List<Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super Word<O>> cexHandler,
ClosingStrategy<? super I,? super Word<O>> closingStrategy) |
ExtensibleLStarMealy(Alphabet<I> alphabet,
MembershipOracle<I,Word<O>> oracle,
List<Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super Word<O>> cexHandler,
ClosingStrategy<? super I,? super Word<O>> closingStrategy) |
Modifier and Type | Method and Description |
---|---|
protected MealyMachine<?,I,?,O> |
exposeInternalHypothesis() |
CompactMealy<I,O> |
getHypothesisModel()
Returns the current hypothesis model.
|
protected SuffixOutput<I,Word<O>> |
hypothesisOutput() |
protected List<Word<I>> |
initialSuffixes()
Returns the list of initial suffixes which are used to initialize the table.
|
protected Void |
stateProperty(Row<I> stateRow)
Derives a state property from the corresponding row.
|
protected O |
transitionProperty(Row<I> stateRow,
int inputIdx)
Derives a transition property from the corresponding transition.
|
protected void |
updateInternalHypothesis()
Performs the L*-style hypothesis construction.
|
protected void |
updateOutputs() |
initialPrefixes, refineHypothesisInternal, selectClosingRows
createState, doRefineHypothesis, setTransition, startLearning
addGlobalSuffixes, analyzeInconsistency, completeConsistentTable, getGlobalSuffixes, getObservationTable, incorporateCounterExample, refineHypothesis
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
refineHypothesis, startLearning
getObservationTable
public ExtensibleLStarMealy(Alphabet<I> alphabet, MembershipOracle<I,Word<O>> oracle, List<Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super Word<O>> cexHandler, ClosingStrategy<? super I,? super Word<O>> closingStrategy)
protected void updateInternalHypothesis()
AbstractAutomatonLStar
AbstractAutomatonLStar.stateProperty(Row)
and
AbstractAutomatonLStar.transitionProperty(Row, int)
methods are used to derive the
respective properties.updateInternalHypothesis
in class AbstractAutomatonLStar<MealyMachine<?,I,?,O>,I,Word<O>,Integer,CompactMealyTransition<O>,Void,O,CompactMealy<I,O>>
protected Void stateProperty(Row<I> stateRow)
AbstractAutomatonLStar
stateProperty
in class AbstractAutomatonLStar<MealyMachine<?,I,?,O>,I,Word<O>,Integer,CompactMealyTransition<O>,Void,O,CompactMealy<I,O>>
stateRow
- the row for which the state is createdprotected O transitionProperty(Row<I> stateRow, int inputIdx)
AbstractAutomatonLStar
N.B.: Not the transition row is passed to this method, but the
row for the outgoing state. The transition row can be retrieved
using Row.getSuccessor(int)
.
transitionProperty
in class AbstractAutomatonLStar<MealyMachine<?,I,?,O>,I,Word<O>,Integer,CompactMealyTransition<O>,Void,O,CompactMealy<I,O>>
stateRow
- the row for the source stateinputIdx
- the index of the input symbol to considerprotected List<Word<I>> initialSuffixes()
AbstractLStar
initialSuffixes
in class ExtensibleAutomatonLStar<MealyMachine<?,I,?,O>,I,Word<O>,Integer,CompactMealyTransition<O>,Void,O,CompactMealy<I,O>>
protected void updateOutputs()
protected MealyMachine<?,I,?,O> exposeInternalHypothesis()
exposeInternalHypothesis
in class AbstractAutomatonLStar<MealyMachine<?,I,?,O>,I,Word<O>,Integer,CompactMealyTransition<O>,Void,O,CompactMealy<I,O>>
public CompactMealy<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>>
getHypothesisModel
in class AbstractAutomatonLStar<MealyMachine<?,I,?,O>,I,Word<O>,Integer,CompactMealyTransition<O>,Void,O,CompactMealy<I,O>>
protected SuffixOutput<I,Word<O>> hypothesisOutput()
hypothesisOutput
in class AbstractLStar<MealyMachine<?,I,?,O>,I,Word<O>>
Copyright © 2015. All rights reserved.