Module de.learnlib.algorithm.lstar
Package de.learnlib.algorithm.lstar
Class AbstractExtensibleAutomatonLStar<A,I,D,S,T,SP,TP,AI extends net.automatalib.automaton.MutableDeterministic<S,I,T,SP,TP> & net.automatalib.alphabet.SupportsGrowingAlphabet<I>>
- 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<A,I,D,S,T,SP,TP,AI>
-
- All Implemented Interfaces:
GlobalSuffixLearner<A,I,D>
,LearningAlgorithm<A,I,D>
,ObservationTableFeature<I,D>
,OTLearner<A,I,D>
,Resumable<AutomatonLStarState<I,D,AI,S>>
,net.automatalib.alphabet.SupportsGrowingAlphabet<I>
- Direct Known Subclasses:
ClassicLStarMealy
,ClassicLStarMoore
,ExtensibleLStarDFA
,ExtensibleLStarMealy
,ExtensibleLStarMoore
public abstract class AbstractExtensibleAutomatonLStar<A,I,D,S,T,SP,TP,AI extends net.automatalib.automaton.MutableDeterministic<S,I,T,SP,TP> & net.automatalib.alphabet.SupportsGrowingAlphabet<I>> extends AbstractAutomatonLStar<A,I,D,S,T,SP,TP,AI>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
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 Modifier and Type Field Description protected ObservationTableCEXHandler<? super I,? super D>
cexHandler
protected ClosingStrategy<? super I,? super D>
closingStrategy
protected List<net.automatalib.word.Word<I>>
initialPrefixes
protected List<net.automatalib.word.Word<I>>
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 Modifier Constructor Description protected
AbstractExtensibleAutomatonLStar(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,D> oracle, AI internalHyp, List<net.automatalib.word.Word<I>> initialPrefixes, List<net.automatalib.word.Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super D> cexHandler, ClosingStrategy<? super I,? super D> closingStrategy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<net.automatalib.word.Word<I>>
initialPrefixes()
protected List<net.automatalib.word.Word<I>>
initialSuffixes()
Returns the list of initial suffixes which are used to initialize the table.protected void
refineHypothesisInternal(DefaultQuery<I,D> ceQuery)
protected List<Row<I>>
selectClosingRows(List<List<Row<I>>> unclosed)
This method selects a set of rows to use for closing the table.-
Methods inherited from class de.learnlib.algorithm.lstar.AbstractAutomatonLStar
addAlphabetSymbol, createState, doRefineHypothesis, resume, setTransition, startLearning, stateProperty, suspend, transitionProperty, updateInternalHypothesis
-
Methods inherited from class de.learnlib.algorithm.lstar.AbstractLStar
addGlobalSuffixes, analyzeInconsistency, completeConsistentTable, getGlobalSuffixes, getObservationTable, hypothesisOutput, 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
getHypothesisModel
-
-
-
-
Field Detail
-
cexHandler
protected final ObservationTableCEXHandler<? super I,? super D> cexHandler
-
closingStrategy
protected final ClosingStrategy<? super I,? super D> closingStrategy
-
-
Constructor Detail
-
AbstractExtensibleAutomatonLStar
protected AbstractExtensibleAutomatonLStar(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,D> oracle, AI internalHyp, List<net.automatalib.word.Word<I>> initialPrefixes, List<net.automatalib.word.Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I,? super D> cexHandler, ClosingStrategy<? super I,? super D> closingStrategy)
-
-
Method Detail
-
refineHypothesisInternal
protected void refineHypothesisInternal(DefaultQuery<I,D> ceQuery)
-
initialPrefixes
protected final List<net.automatalib.word.Word<I>> initialPrefixes()
- Overrides:
initialPrefixes
in classAbstractLStar<A,I,D>
-
initialSuffixes
protected final List<net.automatalib.word.Word<I>> initialSuffixes()
Description copied from class:AbstractLStar
Returns the list of initial suffixes which are used to initialize the table.- Specified by:
initialSuffixes
in classAbstractLStar<A,I,D>
- Returns:
- the list of initial suffixes.
-
selectClosingRows
protected List<Row<I>> selectClosingRows(List<List<Row<I>>> unclosed)
Description copied from class:AbstractLStar
This method selects a set of rows to use for closing the table. It receives as input a list of row lists, such that each (inner) list contains long prefix rows with (currently) identical contents, which have no matching short prefix row. The outer list is the list of all those equivalence classes.- Overrides:
selectClosingRows
in classAbstractLStar<A,I,D>
- Parameters:
unclosed
- a list of equivalence classes of unclosed rows.- Returns:
- a list containing a representative row from each class to move to the short prefix part.
-
-