Package de.learnlib.algorithm.kv.dfa
Class KearnsVaziraniDFA<I>
- java.lang.Object
-
- de.learnlib.algorithm.kv.dfa.KearnsVaziraniDFA<I>
-
- Type Parameters:
I- input symbol type
- All Implemented Interfaces:
LearningAlgorithm<net.automatalib.automaton.fsa.DFA<?,I>,I,Boolean>,LearningAlgorithm.DFALearner<I>,Resumable<KearnsVaziraniDFAState<I>>,net.automatalib.alphabet.SupportsGrowingAlphabet<I>
public class KearnsVaziraniDFA<I> extends Object implements LearningAlgorithm.DFALearner<I>, net.automatalib.alphabet.SupportsGrowingAlphabet<I>, Resumable<KearnsVaziraniDFAState<I>>
The Kearns/Vazirani algorithm for learning DFA, as described in the book "An Introduction to Computational Learning Theory" by Michael Kearns and Umesh Vazirani.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classKearnsVaziraniDFA.KVAbstractCounterexample-
Nested classes/interfaces inherited from interface de.learnlib.algorithm.LearningAlgorithm
LearningAlgorithm.DFALearner<I extends Object>, LearningAlgorithm.MealyLearner<I extends Object,O extends Object>, LearningAlgorithm.MooreLearner<I extends Object,O extends Object>, LearningAlgorithm.NFALearner<I extends Object>
-
-
Field Summary
Fields Modifier and Type Field Description protected List<StateInfo<I,Boolean>>stateInfos
-
Constructor Summary
Constructors Constructor Description KearnsVaziraniDFA(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, boolean repeatedCounterexampleEvaluation, AcexAnalyzer counterexampleAnalyzer)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAlphabetSymbol(I symbol)BinaryDTree<I,StateInfo<I,Boolean>>getDiscriminationTree()net.automatalib.automaton.fsa.DFA<?,I>getHypothesisModel()booleanrefineHypothesis(DefaultQuery<I,Boolean> ceQuery)voidresume(KearnsVaziraniDFAState<I> state)voidstartLearning()KearnsVaziraniDFAState<I>suspend()
-
-
-
Constructor Detail
-
KearnsVaziraniDFA
public KearnsVaziraniDFA(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, boolean repeatedCounterexampleEvaluation, AcexAnalyzer counterexampleAnalyzer)
Constructor.- Parameters:
alphabet- the learning alphabetoracle- the membership oraclerepeatedCounterexampleEvaluation- a flag whether counterexamples should be analyzed exhaustivelycounterexampleAnalyzer- the counterexample analyzer
-
-
Method Detail
-
startLearning
public void startLearning()
- Specified by:
startLearningin interfaceLearningAlgorithm<net.automatalib.automaton.fsa.DFA<?,I>,I,Boolean>
-
refineHypothesis
public boolean refineHypothesis(DefaultQuery<I,Boolean> ceQuery)
- Specified by:
refineHypothesisin interfaceLearningAlgorithm<net.automatalib.automaton.fsa.DFA<?,I>,I,Boolean>
-
getHypothesisModel
public net.automatalib.automaton.fsa.DFA<?,I> getHypothesisModel()
- Specified by:
getHypothesisModelin interfaceLearningAlgorithm<net.automatalib.automaton.fsa.DFA<?,I>,I,Boolean>
-
getDiscriminationTree
public BinaryDTree<I,StateInfo<I,Boolean>> getDiscriminationTree()
-
addAlphabetSymbol
public void addAlphabetSymbol(I symbol)
- Specified by:
addAlphabetSymbolin interfacenet.automatalib.alphabet.SupportsGrowingAlphabet<I>
-
suspend
public KearnsVaziraniDFAState<I> suspend()
-
resume
public void resume(KearnsVaziraniDFAState<I> state)
-
-