public class ExtensibleLStarMealy<I,O> extends AbstractExtensibleAutomatonLStar<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>,Integer,net.automatalib.automata.transout.impl.compact.CompactMealyTransition<O>,Void,O,net.automatalib.automata.transout.impl.compact.CompactMealy<I,O>> implements OTLearner.OTLearnerMealy<I,O>
AbstractExtensibleAutomatonLStar.BuilderDefaultsOTLearner.OTLearnerDFA<I>, OTLearner.OTLearnerMealy<I,O>LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>GlobalSuffixLearner.GlobalSuffixLearnerDFA<I>, GlobalSuffixLearner.GlobalSuffixLearnerMealy<I,O>cexHandler, closingStrategy, initialPrefixes, initialSuffixesinternalHyp, stateInfosalphabet, oracle, table| Constructor and Description |
|---|
ExtensibleLStarMealy(net.automatalib.words.Alphabet<I> alphabet,
MembershipOracle<I,net.automatalib.words.Word<O>> oracle,
List<net.automatalib.words.Word<I>> initialPrefixes,
List<net.automatalib.words.Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super net.automatalib.words.Word<O>> cexHandler,
ClosingStrategy<? super I,? super net.automatalib.words.Word<O>> closingStrategy) |
ExtensibleLStarMealy(net.automatalib.words.Alphabet<I> alphabet,
MembershipOracle<I,net.automatalib.words.Word<O>> oracle,
List<net.automatalib.words.Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super net.automatalib.words.Word<O>> cexHandler,
ClosingStrategy<? super I,? super net.automatalib.words.Word<O>> closingStrategy) |
| Modifier and Type | Method and Description |
|---|---|
protected net.automatalib.automata.transout.MealyMachine<?,I,?,O> |
exposeInternalHypothesis() |
net.automatalib.automata.transout.impl.compact.CompactMealy<I,O> |
getHypothesisModel()
Returns the current hypothesis model.
|
protected net.automatalib.automata.concepts.SuffixOutput<I,net.automatalib.words.Word<O>> |
hypothesisOutput() |
protected List<net.automatalib.words.Word<I>> |
initialSuffixes()
Returns the list of initial suffixes which are used to initialize the table.
|
protected Void |
stateProperty(ObservationTable<I,net.automatalib.words.Word<O>> table,
Row<I> stateRow)
Derives a state property from the corresponding row.
|
protected O |
transitionProperty(ObservationTable<I,net.automatalib.words.Word<O>> table,
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, selectClosingRowsaddAlphabetSymbol, createState, doRefineHypothesis, resume, setTransition, startLearning, suspendaddGlobalSuffixes, analyzeInconsistency, completeConsistentTable, getGlobalSuffixes, getObservationTable, incorporateCounterExample, refineHypothesisclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrefineHypothesis, startLearninggetObservationTablepublic ExtensibleLStarMealy(net.automatalib.words.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.words.Word<O>> oracle, List<net.automatalib.words.Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super net.automatalib.words.Word<O>> cexHandler, ClosingStrategy<? super I,? super net.automatalib.words.Word<O>> closingStrategy)
public ExtensibleLStarMealy(net.automatalib.words.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.words.Word<O>> oracle, List<net.automatalib.words.Word<I>> initialPrefixes, List<net.automatalib.words.Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super net.automatalib.words.Word<O>> cexHandler, ClosingStrategy<? super I,? super net.automatalib.words.Word<O>> closingStrategy)
protected List<net.automatalib.words.Word<I>> initialSuffixes()
AbstractLStarinitialSuffixes in class AbstractExtensibleAutomatonLStar<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>,Integer,net.automatalib.automata.transout.impl.compact.CompactMealyTransition<O>,Void,O,net.automatalib.automata.transout.impl.compact.CompactMealy<I,O>>public net.automatalib.automata.transout.impl.compact.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<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>getHypothesisModel in class AbstractAutomatonLStar<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>,Integer,net.automatalib.automata.transout.impl.compact.CompactMealyTransition<O>,Void,O,net.automatalib.automata.transout.impl.compact.CompactMealy<I,O>>protected net.automatalib.automata.transout.MealyMachine<?,I,?,O> exposeInternalHypothesis()
exposeInternalHypothesis in class AbstractAutomatonLStar<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>,Integer,net.automatalib.automata.transout.impl.compact.CompactMealyTransition<O>,Void,O,net.automatalib.automata.transout.impl.compact.CompactMealy<I,O>>protected void updateInternalHypothesis()
AbstractAutomatonLStarAbstractAutomatonLStar.stateProperty(ObservationTable, Row) and AbstractAutomatonLStar.transitionProperty(ObservationTable, Row, int) methods are
used to derive the respective properties.updateInternalHypothesis in class AbstractAutomatonLStar<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>,Integer,net.automatalib.automata.transout.impl.compact.CompactMealyTransition<O>,Void,O,net.automatalib.automata.transout.impl.compact.CompactMealy<I,O>>protected Void stateProperty(ObservationTable<I,net.automatalib.words.Word<O>> table, Row<I> stateRow)
AbstractAutomatonLStarstateProperty in class AbstractAutomatonLStar<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>,Integer,net.automatalib.automata.transout.impl.compact.CompactMealyTransition<O>,Void,O,net.automatalib.automata.transout.impl.compact.CompactMealy<I,O>>table - the current observation tablestateRow - the row for which the state is createdprotected O transitionProperty(ObservationTable<I,net.automatalib.words.Word<O>> table, 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<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>,Integer,net.automatalib.automata.transout.impl.compact.CompactMealyTransition<O>,Void,O,net.automatalib.automata.transout.impl.compact.CompactMealy<I,O>>stateRow - the row for the source stateinputIdx - the index of the input symbol to considerprotected void updateOutputs()
protected net.automatalib.automata.concepts.SuffixOutput<I,net.automatalib.words.Word<O>> hypothesisOutput()
hypothesisOutput in class AbstractLStar<net.automatalib.automata.transout.MealyMachine<?,I,?,O>,I,net.automatalib.words.Word<O>>Copyright © 2018. All rights reserved.