Module de.learnlib.algorithm.lstar
Class ExtensibleLStarMoore<I,O>
- java.lang.Object
-
- de.learnlib.algorithm.lstar.AbstractLStar<A,I,D>
-
- de.learnlib.algorithm.lstar.AbstractAutomatonLStar<A,I,D,S,T,SP,TP,AI>
-
- de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>,Integer,Integer,O,Void,net.automatalib.automaton.transducer.impl.CompactMoore<I,O>>
-
- de.learnlib.algorithm.lstar.moore.ExtensibleLStarMoore<I,O>
-
- Type Parameters:
I
- input symbol typeO
- output symbol type
- All Implemented Interfaces:
GlobalSuffixLearner<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>>
,LearningAlgorithm<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>>
,LearningAlgorithm.MooreLearner<I,O>
,ObservationTableFeature<I,net.automatalib.word.Word<O>>
,OTLearner<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>>
,OTLearner.OTLearnerMoore<I,O>
,Resumable<AutomatonLStarState<I,net.automatalib.word.Word<O>,net.automatalib.automaton.transducer.impl.CompactMoore<I,O>,Integer>>
,net.automatalib.alphabet.SupportsGrowingAlphabet<I>
- Direct Known Subclasses:
MalerPnueliMoore
,RivestSchapireMoore
public class ExtensibleLStarMoore<I,O> extends AbstractExtensibleAutomatonLStar<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>,Integer,Integer,O,Void,net.automatalib.automaton.transducer.impl.CompactMoore<I,O>> implements OTLearner.OTLearnerMoore<I,O>
AMooreMachine
-based specialization of the extensible L* learner.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar
AbstractExtensibleAutomatonLStar.BuilderDefaults
-
Nested classes/interfaces inherited from interface de.learnlib.algorithm.GlobalSuffixLearner
GlobalSuffixLearner.GlobalSuffixLearnerDFA<I>, GlobalSuffixLearner.GlobalSuffixLearnerMealy<I,O>
-
Nested classes/interfaces inherited from interface de.learnlib.algorithm.LearningAlgorithm
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>, LearningAlgorithm.MooreLearner<I,O>, LearningAlgorithm.NFALearner<I>
-
Nested classes/interfaces inherited from interface de.learnlib.datastructure.observationtable.OTLearner
OTLearner.OTLearnerDFA<I>, OTLearner.OTLearnerMealy<I,O>, OTLearner.OTLearnerMoore<I,O>
-
-
Field Summary
-
Fields inherited from class de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar
cexHandler, closingStrategy, initialPrefixes, initialSuffixes
-
Fields inherited from class de.learnlib.algorithm.lstar.AbstractAutomatonLStar
internalHyp, stateInfos
-
Fields inherited from class de.learnlib.algorithm.lstar.AbstractLStar
alphabet, oracle, table
-
-
Constructor Summary
Constructors Constructor Description ExtensibleLStarMoore(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> oracle, List<net.automatalib.word.Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super net.automatalib.word.Word<O>> cexHandler, ClosingStrategy<? super I,? super net.automatalib.word.Word<O>> closingStrategy)
ExtensibleLStarMoore(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> oracle, List<net.automatalib.word.Word<I>> initialPrefixes, List<net.automatalib.word.Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super net.automatalib.word.Word<O>> cexHandler, ClosingStrategy<? super I,? super net.automatalib.word.Word<O>> closingStrategy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>
getHypothesisModel()
Returns the current hypothesis model.protected net.automatalib.automaton.concept.SuffixOutput<I,net.automatalib.word.Word<O>>
hypothesisOutput()
protected O
stateProperty(ObservationTable<I,net.automatalib.word.Word<O>> table, Row<I> stateRow)
Derives a state property from the corresponding row.protected Void
transitionProperty(ObservationTable<I,net.automatalib.word.Word<O>> table, Row<I> stateRow, int inputIdx)
Derives a transition property from the corresponding transition.-
Methods inherited from class de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar
initialPrefixes, initialSuffixes, refineHypothesisInternal, selectClosingRows
-
Methods inherited from class de.learnlib.algorithm.lstar.AbstractAutomatonLStar
addAlphabetSymbol, createState, doRefineHypothesis, resume, setTransition, startLearning, suspend, updateInternalHypothesis
-
Methods inherited from class de.learnlib.algorithm.lstar.AbstractLStar
addGlobalSuffixes, analyzeInconsistency, completeConsistentTable, getGlobalSuffixes, getObservationTable, incorporateCounterExample, refineHypothesis
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.learnlib.algorithm.LearningAlgorithm
refineHypothesis, startLearning
-
Methods inherited from interface de.learnlib.datastructure.observationtable.ObservationTableFeature
getObservationTable
-
-
-
-
Constructor Detail
-
ExtensibleLStarMoore
public ExtensibleLStarMoore(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> oracle, List<net.automatalib.word.Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super net.automatalib.word.Word<O>> cexHandler, ClosingStrategy<? super I,? super net.automatalib.word.Word<O>> closingStrategy)
-
ExtensibleLStarMoore
public ExtensibleLStarMoore(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> oracle, List<net.automatalib.word.Word<I>> initialPrefixes, List<net.automatalib.word.Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super net.automatalib.word.Word<O>> cexHandler, ClosingStrategy<? super I,? super net.automatalib.word.Word<O>> closingStrategy)
-
-
Method Detail
-
getHypothesisModel
public net.automatalib.automaton.transducer.MooreMachine<?,I,?,O> getHypothesisModel()
Description copied from interface:LearningAlgorithm
Returns the current hypothesis model.N.B.: By the contract of this interface, the model returned by this method should not be modified by external code (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()
.- Specified by:
getHypothesisModel
in interfaceLearningAlgorithm<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>>
- Returns:
- the current hypothesis model.
-
stateProperty
protected O stateProperty(ObservationTable<I,net.automatalib.word.Word<O>> table, Row<I> stateRow)
Description copied from class:AbstractAutomatonLStar
Derives a state property from the corresponding row.- Specified by:
stateProperty
in classAbstractAutomatonLStar<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>,Integer,Integer,O,Void,net.automatalib.automaton.transducer.impl.CompactMoore<I,O>>
- Parameters:
table
- the current observation tablestateRow
- the row for which the state is created- Returns:
- the state property of the corresponding state
-
transitionProperty
protected Void transitionProperty(ObservationTable<I,net.automatalib.word.Word<O>> table, Row<I> stateRow, int inputIdx)
Description copied from class:AbstractAutomatonLStar
Derives a transition property from the corresponding transition.Note that 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)
.- Specified by:
transitionProperty
in classAbstractAutomatonLStar<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>,Integer,Integer,O,Void,net.automatalib.automaton.transducer.impl.CompactMoore<I,O>>
- Parameters:
table
- the observation tablestateRow
- the row for the source stateinputIdx
- the index of the input symbol to consider- Returns:
- the transition property of the corresponding transition
-
hypothesisOutput
protected net.automatalib.automaton.concept.SuffixOutput<I,net.automatalib.word.Word<O>> hypothesisOutput()
- Specified by:
hypothesisOutput
in classAbstractLStar<net.automatalib.automaton.transducer.MooreMachine<?,I,?,O>,I,net.automatalib.word.Word<O>>
-
-