A - automaton class.I - input symbol class.O - output class.public abstract class AbstractLStar<A,I,O> extends Object implements OTLearner<A,I,O>, GlobalSuffixLearner<A,I,O>
OTLearner.OTLearnerDFA<I>, OTLearner.OTLearnerMealy<I,O>GlobalSuffixLearner.GlobalSuffixLearnerDFA<I>, GlobalSuffixLearner.GlobalSuffixLearnerMealy<I,O>LearningAlgorithm.DFALearner<I>, LearningAlgorithm.MealyLearner<I,O>| Modifier and Type | Field and Description |
|---|---|
protected net.automatalib.words.Alphabet<? extends I> |
alphabet |
protected MembershipOracle<I,O> |
oracle |
protected ObservationTable<I,O> |
table |
| Constructor and Description |
|---|
AbstractLStar(net.automatalib.words.Alphabet<I> alphabet,
MembershipOracle<I,O> oracle)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
addGlobalSuffixes(Collection<? extends net.automatalib.words.Word<I>> newGlobalSuffixes) |
protected net.automatalib.words.Word<I> |
analyzeInconsistency(Inconsistency<I,O> incons)
Analyzes an inconsistency.
|
protected boolean |
completeConsistentTable(List<List<Row<I>>> unclosed,
boolean checkConsistency)
Iteratedly checks for unclosedness and inconsistencies in the table,
and fixes any occurrences thereof.
|
protected void |
doRefineHypothesis(DefaultQuery<I,O> ceQuery) |
Collection<? extends net.automatalib.words.Word<I>> |
getGlobalSuffixes() |
ObservationTable<I,O> |
getObservationTable() |
protected List<List<Row<I>>> |
incorporateCounterExample(DefaultQuery<I,O> ce)
Incorporates the information provided by a counterexample into
the observation data structure.
|
protected List<net.automatalib.words.Word<I>> |
initialPrefixes() |
protected abstract List<net.automatalib.words.Word<I>> |
initialSuffixes()
Returns the list of initial suffixes which are used to initialize the table.
|
boolean |
refineHypothesis(DefaultQuery<I,O> ceQuery) |
protected List<Row<I>> |
selectClosingRows(List<List<Row<I>>> unclosed)
This method selects a set of rows to use for closing the table.
|
void |
startLearning() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetHypothesisModelprotected final net.automatalib.words.Alphabet<? extends I> alphabet
protected final MembershipOracle<I,O> oracle
protected final ObservationTable<I,O> table
public AbstractLStar(net.automatalib.words.Alphabet<I> alphabet, MembershipOracle<I,O> oracle)
alphabet - the learning alphabet.oracle - the membership oracle.outputMapping - a mapping that translates between oracle outputs and data entries stored
in the observation table.public void startLearning()
startLearning in interface LearningAlgorithm<A,I,O>public final boolean refineHypothesis(DefaultQuery<I,O> ceQuery)
refineHypothesis in interface LearningAlgorithm<A,I,O>protected void doRefineHypothesis(DefaultQuery<I,O> ceQuery)
protected boolean completeConsistentTable(List<List<Row<I>>> unclosed, boolean checkConsistency)
unclosed - the unclosed rows (equivalence classes) to start with.protected net.automatalib.words.Word<I> analyzeInconsistency(Inconsistency<I,O> incons)
incons - the inconsistency descriptionprotected List<List<Row<I>>> incorporateCounterExample(DefaultQuery<I,O> ce)
ce - the query which contradicts the hypothesisprotected List<Row<I>> selectClosingRows(List<List<Row<I>>> unclosed)
unclosed - a list of equivalence classes of unclosed rows.protected abstract List<net.automatalib.words.Word<I>> initialSuffixes()
public Collection<? extends net.automatalib.words.Word<I>> getGlobalSuffixes()
getGlobalSuffixes in interface GlobalSuffixFeature<I>public boolean addGlobalSuffixes(Collection<? extends net.automatalib.words.Word<I>> newGlobalSuffixes)
addGlobalSuffixes in interface GlobalSuffixFeature<I>public ObservationTable<I,O> getObservationTable()
getObservationTable in interface ObservationTableFeature<I,O>Copyright © 2014. All Rights Reserved.