Module de.learnlib.algorithm.aaar
Class AbstractGenericAAARLearner<L extends LearningAlgorithm<CM,CI,D> & 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> & SupportsGrowingAlphabet<CI>,AM,CM,AI,CI,D>
extends AbstractAAARLearner<L,AM,CM,AI,CI,D>
A "generic" refinement of the
AbstractAAARLearner. This implementation uses a single
GenericAbstractionTree for 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 generic
abstractor to 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
ConstructorsConstructorDescriptionAbstractGenericAAARLearner(LearnerConstructor<L, CI, D> learnerConstructor, MembershipOracle<CI, D> oracle, CI initialConcrete, Function<CI, AI> abstractor) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected Collection<AI>protected Collection<CI>Returns the (concrete) alphabet of the current (concrete) internal hypothesis model (cf.protected AbstractAbstractionTree<AI,CI, D> Methods inherited from class de.learnlib.algorithm.aaar.AbstractAAARLearner
copyAbstract, getAbstractAlphabet, getLearner, getLearnerHypothesisModel, getTranslatingHypothesisModel, refineHypothesis, startLearningMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.learnlib.algorithm.LearningAlgorithm
getHypothesisModel
-
Constructor Details
-
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 Details
-
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> & SupportsGrowingAlphabet<CI>, AM, CM, AI, CI, D> - Returns:
- the (concrete) alphabet of the current (concrete) internal hypothesis model
-
getTreeForRepresentative
- Specified by:
getTreeForRepresentativein classAbstractAAARLearner<L extends LearningAlgorithm<CM,CI, D> & SupportsGrowingAlphabet<CI>, AM, CM, AI, CI, D>
-
getInitialAbstracts
- Specified by:
getInitialAbstractsin classAbstractAAARLearner<L extends LearningAlgorithm<CM,CI, D> & SupportsGrowingAlphabet<CI>, AM, CM, AI, CI, D>
-
getInitialRepresentatives
- Specified by:
getInitialRepresentativesin classAbstractAAARLearner<L extends LearningAlgorithm<CM,CI, D> & SupportsGrowingAlphabet<CI>, AM, CM, AI, CI, D>
-
getAbstractionTree
-