Module de.learnlib.algorithm.aaar
Class AbstractGenericAAARLearner<L extends LearningAlgorithm<CM,CI,D> & net.automatalib.alphabet.SupportsGrowingAlphabet<CI>,AM,CM,AI,CI,D>
- java.lang.Object
-
- de.learnlib.algorithm.aaar.AbstractAAARLearner<L,AM,CM,AI,CI,D>
-
- de.learnlib.algorithm.aaar.generic.AbstractGenericAAARLearner<L,AM,CM,AI,CI,D>
-
- Type Parameters:
L- learner typeAM- abstract model typeCM- concrete model typeAI- abstract input symbol typeCI- concrete input symbol typeD- output domain type
- All Implemented Interfaces:
LearningAlgorithm<AM,CI,D>
- Direct Known Subclasses:
GenericAAARLearnerDFA,GenericAAARLearnerMealy,GenericAAARLearnerMoore
public abstract class AbstractGenericAAARLearner<L extends LearningAlgorithm<CM,CI,D> & net.automatalib.alphabet.SupportsGrowingAlphabet<CI>,AM,CM,AI,CI,D> extends AbstractAAARLearner<L,AM,CM,AI,CI,D>
A "generic" refinement of theAbstractAAARLearner. This implementation uses a singleGenericAbstractionTreefor transforming concrete input symbols to abstract ones. This may be useful if no prior knowledge about abstract symbol classes is available (cf.AbstractExplicitAAARLearner). This implementation only requires a single concrete input symbol to start in the inference process and a rather genericabstractorto create new abstract input symbols.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface de.learnlib.algorithm.LearningAlgorithm
LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>, LearningAlgorithm.MooreLearner<I,O>, LearningAlgorithm.NFALearner<I>
-
-
Constructor Summary
Constructors Constructor Description AbstractGenericAAARLearner(LearnerConstructor<L,CI,D> learnerConstructor, MembershipOracle<CI,D> oracle, CI initialConcrete, Function<CI,AI> abstractor)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GenericAbstractionTree<AI,CI,D>getAbstractionTree()protected Collection<AI>getInitialAbstracts()protected Collection<CI>getInitialRepresentatives()net.automatalib.alphabet.Alphabet<CI>getLearnerAlphabet()Returns the (concrete) alphabet of the current (concrete) internal hypothesis model (cf.protected AbstractAbstractionTree<AI,CI,D>getTreeForRepresentative(CI ci)-
Methods inherited from class de.learnlib.algorithm.aaar.AbstractAAARLearner
copyAbstract, getAbstractAlphabet, getLearner, getLearnerHypothesisModel, getTranslatingHypothesisModel, refineHypothesis, startLearning
-
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
-
-
-
-
Constructor Detail
-
AbstractGenericAAARLearner
public AbstractGenericAAARLearner(LearnerConstructor<L,CI,D> learnerConstructor, MembershipOracle<CI,D> oracle, CI initialConcrete, Function<CI,AI> abstractor)
Constructor.- Parameters:
learnerConstructor- the provider for constructing the internal (concrete) learneroracle- the (concrete) membership oracleinitialConcrete- the initial (concrete) input symbol used for starting the learning processabstractor- the function for creating new abstract input symbols given concrete one. This function only receives input symbols from the provided (concrete) counterexamples
-
-
Method Detail
-
getLearnerAlphabet
public net.automatalib.alphabet.Alphabet<CI> getLearnerAlphabet()
Description copied from class:AbstractAAARLearnerReturns the (concrete) alphabet of the current (concrete) internal hypothesis model (cf.AbstractAAARLearner.getLearnerHypothesisModel()).- Specified by:
getLearnerAlphabetin classAbstractAAARLearner<L extends LearningAlgorithm<CM,CI,D> & net.automatalib.alphabet.SupportsGrowingAlphabet<CI>,AM,CM,AI,CI,D>- Returns:
- the (concrete) alphabet of the current (concrete) internal hypothesis model
-
getTreeForRepresentative
protected AbstractAbstractionTree<AI,CI,D> getTreeForRepresentative(CI ci)
- Specified by:
getTreeForRepresentativein classAbstractAAARLearner<L extends LearningAlgorithm<CM,CI,D> & net.automatalib.alphabet.SupportsGrowingAlphabet<CI>,AM,CM,AI,CI,D>
-
getInitialAbstracts
protected Collection<AI> getInitialAbstracts()
- Specified by:
getInitialAbstractsin classAbstractAAARLearner<L extends LearningAlgorithm<CM,CI,D> & net.automatalib.alphabet.SupportsGrowingAlphabet<CI>,AM,CM,AI,CI,D>
-
getInitialRepresentatives
protected Collection<CI> getInitialRepresentatives()
- Specified by:
getInitialRepresentativesin classAbstractAAARLearner<L extends LearningAlgorithm<CM,CI,D> & net.automatalib.alphabet.SupportsGrowingAlphabet<CI>,AM,CM,AI,CI,D>
-
getAbstractionTree
public GenericAbstractionTree<AI,CI,D> getAbstractionTree()
-
-