Constructor and Description |
---|
BaselineLStar(Alphabet<I> alphabet,
MembershipOracle<I,Boolean> oracle)
Initializes a newly created baseline L* implementation.
|
Constructor and Description |
---|
MealyDHC(Alphabet<I> alphabet,
MembershipOracle<I,Word<O>> oracle) |
Modifier and Type | Field and Description |
---|---|
protected MembershipOracle<I,O> |
AbstractLStar.oracle |
Constructor and Description |
---|
AbstractAutomatonLStar(Alphabet<I> alphabet,
MembershipOracle<I,O> oracle,
AI internalHyp)
Constructor.
|
AbstractLStar(Alphabet<I> alphabet,
MembershipOracle<I,O> oracle)
Constructor.
|
ExtensibleAutomatonLStar(Alphabet<I> alphabet,
MembershipOracle<I,O> oracle,
AI internalHyp,
List<Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super O> cexHandler,
ClosingStrategy<? super I,? super O> closingStrategy) |
Modifier and Type | Method and Description |
---|---|
static <I,O> List<List<Row<I>>> |
ObservationTableCEXHandlers.handleClassicLStar(DefaultQuery<I,O> ceQuery,
ObservationTable<I,O> table,
MembershipOracle<I,O> oracle) |
<RI extends I,RO extends O> |
ObservationTableCEXHandler.handleCounterexample(DefaultQuery<RI,RO> ceQuery,
ObservationTable<RI,RO> table,
SuffixOutput<RI,RO> hypOutput,
MembershipOracle<RI,RO> oracle) |
static <I,O> List<List<Row<I>>> |
ObservationTableCEXHandlers.handleGlobalSuffixes(ObservationTable<I,O> table,
List<Word<I>> suffixes,
MembershipOracle<I,O> oracle) |
static <I,O> List<List<Row<I>>> |
ObservationTableCEXHandlers.handleLocalSuffix(Query<I,O> ceQuery,
ObservationTable<I,O> table,
int suffixIndex,
boolean allSuffixes,
MembershipOracle<I,O> oracle) |
static <I,O> List<List<Row<I>>> |
ObservationTableCEXHandlers.handleLocalSuffix(Query<I,O> ceQuery,
ObservationTable<I,O> table,
int suffixIndex,
MembershipOracle<I,O> oracle) |
static <I,O> List<List<Row<I>>> |
ObservationTableCEXHandlers.handleSuffix1by1(DefaultQuery<I,O> ceQuery,
ObservationTable<I,O> table,
MembershipOracle<I,O> oracle) |
Modifier and Type | Method and Description |
---|---|
<RI extends I,RO extends O> |
ClosingStrategy.selectClosingRows(List<List<Row<RI>>> unclosedClasses,
ObservationTable<RI,RO> table,
MembershipOracle<RI,RO> oracle)
Given a list of row equivalence classes, this method selects for each of the classes
one (representative) row which is being closed.
|
<RI,RO> List<Row<RI>> |
CloseRandomStrategy.selectClosingRows(List<List<Row<RI>>> unclosedClasses,
ObservationTable<RI,RO> table,
MembershipOracle<RI,RO> oracle) |
Constructor and Description |
---|
ExtensibleLStarDFA(Alphabet<I> alphabet,
MembershipOracle<I,Boolean> oracle,
List<Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super Boolean> cexHandler,
ClosingStrategy<? super I,? super Boolean> closingStrategy)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static <A extends MutableMealyMachine<?,I,?,O>,I,O> |
ClassicLStarMealy.createForSymbolOracle(Alphabet<I> alphabet,
MembershipOracle<I,O> oracle,
List<Word<I>> initialSuffixes,
ObservationTableCEXHandler<I,O> cexHandler,
ClosingStrategy<? super I,? super O> closingStrategy) |
static <A extends MutableMealyMachine<?,I,?,O>,I,O> |
ClassicLStarMealy.createForWordOracle(Alphabet<I> alphabet,
MembershipOracle<I,Word<O>> oracle,
List<Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super O> cexHandler,
ClosingStrategy<? super I,? super O> closingStrategy) |
Constructor and Description |
---|
ClassicLStarMealy(Alphabet<I> alphabet,
MembershipOracle<I,O> oracle,
List<Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super O> cexHandler,
ClosingStrategy<? super I,? super O> closingStrategy)
Constructor.
|
ExtensibleLStarMealy(Alphabet<I> alphabet,
MembershipOracle<I,Word<O>> oracle,
List<Word<I>> initialSuffixes,
ObservationTableCEXHandler<? super I,? super Word<O>> cexHandler,
ClosingStrategy<? super I,? super Word<O>> closingStrategy) |
Modifier and Type | Method and Description |
---|---|
List<List<Row<I>>> |
ObservationTable.addShortPrefixes(List<Word<I>> shortPrefixes,
MembershipOracle<I,O> oracle) |
List<List<Row<I>>> |
ObservationTable.addSuffix(Word<I> suffix,
MembershipOracle<I,O> oracle)
Adds a suffix to the list of distinguishing suffixes.
|
List<List<Row<I>>> |
ObservationTable.addSuffixes(List<Word<I>> newSuffixes,
MembershipOracle<I,O> oracle)
Adds suffixes to the list of distinguishing suffixes.
|
List<List<Row<I>>> |
ObservationTable.initialize(List<Word<I>> initialSuffixes,
MembershipOracle<I,O> oracle)
Initializes an observation table using a specified set of suffixes.
|
List<List<Row<I>>> |
ObservationTable.toShortPrefixes(List<Row<I>> lpRows,
MembershipOracle<I,O> oracle)
Moves the specified rows to the set of short prefix rows.
|
Modifier and Type | Interface and Description |
---|---|
interface |
Filter<I,O>
A filter is an oracle that can be used as the middle
element in a chain of oracles.
|
static interface |
MembershipOracle.DFAMembershipOracle<I> |
static interface |
MembershipOracle.MealyMembershipOracle<I,O> |
Modifier and Type | Method and Description |
---|---|
void |
Filter.setNext(MembershipOracle<I,O> next)
sets oracle for processing membership queries.
|
Modifier and Type | Method and Description |
---|---|
static <I> DFACacheOracle<I> |
Caches.createDFACache(Alphabet<I> alphabet,
MembershipOracle<I,Boolean> mqOracle) |
static <I,O> MealyCacheOracle<I,O> |
Caches.createMealyCache(Alphabet<I> alphabet,
MembershipOracle<I,Word<O>> mqOracle) |
Modifier and Type | Class and Description |
---|---|
class |
DFACacheOracle<I>
DFA cache.
|
Constructor and Description |
---|
DFACacheOracle(Alphabet<I> alphabet,
MembershipOracle<I,Boolean> delegate)
Constructor.
|
Modifier and Type | Class and Description |
---|---|
class |
MealyCacheOracle<I,O>
Mealy cache.
|
Constructor and Description |
---|
MealyCacheOracle(Alphabet<I> alphabet,
Mapping<? super O,? extends O> errorSyms,
MembershipOracle<I,Word<O>> delegate)
Constructor.
|
MealyCacheOracle(Alphabet<I> alphabet,
MembershipOracle<I,Word<O>> delegate)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static <S,I,O> int |
LocalSuffixFinders.findLinear(Query<I,O> ceQuery,
AccessSequenceTransformer<I> asTransformer,
SuffixOutput<I,O> hypOutput,
MembershipOracle<I,O> oracle)
Searches for a distinguishing suffixes by checking for counterexample yielding
access sequence transformations in linear ascending order.
|
static <I,O> List<Word<I>> |
GlobalSuffixFinders.findLinear(Query<I,O> ceQuery,
AccessSequenceTransformer<I> asTransformer,
SuffixOutput<I,O> hypOutput,
MembershipOracle<I,O> oracle,
boolean allSuffixes)
Returns the suffix (plus all of its suffixes, if allSuffixes is true) found by
the access sequence transformation in ascending linear order.
|
static <I,O> int |
LocalSuffixFinders.findLinearReverse(Query<I,O> ceQuery,
AccessSequenceTransformer<I> asTransformer,
SuffixOutput<I,O> hypOutput,
MembershipOracle<I,O> oracle)
Searches for a distinguishing suffixes by checking for counterexample yielding
access sequence transformations in linear descending order.
|
static <I,O> List<Word<I>> |
GlobalSuffixFinders.findLinearReverse(Query<I,O> ceQuery,
AccessSequenceTransformer<I> asTransformer,
SuffixOutput<I,O> hypOutput,
MembershipOracle<I,O> oracle,
boolean allSuffixes)
Returns the suffix (plus all of its suffixes, if allSuffixes is true) found by
the access sequence transformation in descending linear order.
|
static <I,O> int |
LocalSuffixFinders.findRivestSchapire(Query<I,O> ceQuery,
AccessSequenceTransformer<I> asTransformer,
SuffixOutput<I,O> hypOutput,
MembershipOracle<I,O> oracle)
Searches for a distinguishing suffixes by checking for counterexample yielding
access sequence transformations using a binary search, as proposed by Rivest & Schapire.
|
static <I,O> List<Word<I>> |
GlobalSuffixFinders.findRivestSchapire(Query<I,O> ceQuery,
AccessSequenceTransformer<I> asTransformer,
SuffixOutput<I,O> hypOutput,
MembershipOracle<I,O> oracle,
boolean allSuffixes)
Returns the suffix (plus all of its suffixes, if allSuffixes is true) found by
the binary search access sequence transformation.
|
<RI extends I,RO extends O> |
GlobalSuffixFinder.findSuffixes(Query<RI,RO> ceQuery,
AccessSequenceTransformer<RI> asTransformer,
SuffixOutput<RI,RO> hypOutput,
MembershipOracle<RI,RO> oracle)
Finds a set of distinguishing suffixes which will allow to expose at least one additional
state in the hypothesis.
|
<RI extends I,RO extends O> |
LocalSuffixFinder.findSuffixIndex(Query<RI,RO> ceQuery,
AccessSequenceTransformer<RI> asTransformer,
SuffixOutput<RI,RO> hypOutput,
MembershipOracle<RI,RO> oracle)
Finds, for a given counterexample, a "split index", such that:
- the part of the query word before this index leads to the state being split
- the part of the query word from this index on is a suffix capable of splitting
this state.
|
Modifier and Type | Method and Description |
---|---|
static <A extends UniversalDeterministicAutomaton<?,I,?,?,?> & Output<I,O>,I,O> |
EquivalenceQueries.wMethod(int maxDepth,
MembershipOracle<I,O> sulOracle) |
static <A extends UniversalDeterministicAutomaton<?,I,?,?,?> & Output<I,O>,I,O> |
EquivalenceQueries.wpMethod(int maxDepth,
MembershipOracle<I,O> sulOracle) |
Modifier and Type | Method and Description |
---|---|
static <I,O> MembershipOracle<I,O> |
MealyUtil.wrapWordOracle(MembershipOracle<I,Word<O>> oracle) |
Modifier and Type | Method and Description |
---|---|
static <I,O> MembershipOracle<I,O> |
MealyUtil.wrapWordOracle(MembershipOracle<I,Word<O>> oracle) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractSingleQueryOracle<I,O> |
class |
CounterOracle<I,O>
Counts queries.
|
static class |
CounterOracle.DFACounterOracle<I> |
static class |
CounterOracle.MealyCounterOracle<I,O> |
class |
FilterChain<I,O>
A chain of oracles.
|
class |
HistogramOracle<I,O>
Collects a histogram of passed query lengths.
|
class |
QueryAnswererOracle<I,O> |
class |
SafeOracle<I,O> |
class |
SimulatorOracle<I,O>
A membership oracle backed by an automaton.
|
static class |
SimulatorOracle.DFASimulatorOracle<I> |
static class |
SimulatorOracle.MealySimulatorOracle<I,O> |
class |
SULOracle<I,O>
A wrapper around a system under learning (SUL).
|
Modifier and Type | Method and Description |
---|---|
static <I,O> O |
MQUtil.output(MembershipOracle<I,O> oracle,
Word<I> queryWord) |
static <I,O> O |
MQUtil.output(MembershipOracle<I,O> oracle,
Word<I> prefix,
Word<I> suffix) |
static <I,O> DefaultQuery<I,O> |
MQUtil.query(MembershipOracle<I,O> oracle,
Word<I> queryWord) |
static <I,O> DefaultQuery<I,O> |
MQUtil.query(MembershipOracle<I,O> oracle,
Word<I> prefix,
Word<I> suffix) |
void |
CounterOracle.setNext(MembershipOracle<I,O> next) |
void |
HistogramOracle.setNext(MembershipOracle<I,O> next)
set used oracle.
|
Constructor and Description |
---|
CounterOracle.DFACounterOracle(MembershipOracle<I,Boolean> nextOracle,
String name) |
CounterOracle.MealyCounterOracle(MembershipOracle<I,Word<O>> nextOracle,
String name) |
CounterOracle(MembershipOracle<I,O> nextOracle,
String name) |
FilterChain(MembershipOracle<I,O> endpoint,
Filter<I,O>... chain) |
HistogramOracle(MembershipOracle<I,O> next,
String name) |
OracleQueryAnswerer(MembershipOracle<I,O> oracle) |
SafeOracle(MembershipOracle<I,O> nextOracle) |
Modifier and Type | Class and Description |
---|---|
class |
ParallelOracle<I,O>
A membership oracle that distributes a set of queries among several threads.
|
Constructor and Description |
---|
ParallelOracle(MembershipOracle<I,O> sharedOracle,
int numInstances)
Constructor for using one shared oracle for all worker threads,
with the default minimum batch size.
|
ParallelOracle(MembershipOracle<I,O> sharedOracle,
int numInstances,
int minBatchSize)
Constructor for using one shared oracle for all worker threads,
with a custom minimum batch size.
|
Constructor and Description |
---|
ParallelOracle(List<? extends MembershipOracle<I,O>> oracles)
Constructor for using (potentially) separate oracles for each worker thread,
with a default minimum batch size.
|
ParallelOracle(List<? extends MembershipOracle<I,O>> oracles,
int minBatchSize)
Constructor for using (potentially) separate oracles for each worker thread.
|
Modifier and Type | Interface and Description |
---|---|
interface |
StatisticOracle<I,O>
Common interface for oracles keeping statistics.
|
Copyright © 2014. All Rights Reserved.