- java.lang.Object
-
- de.learnlib.filter.cache.mealy.MealyCaches
-
public final class MealyCaches extends Object
A factory for creating caches for mealy-basedMembershipOracle
s.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <I,O>
AdaptiveQueryCache<I,O>createAdaptiveQueryCache(net.automatalib.alphabet.Alphabet<I> alphabet, AdaptiveMembershipOracle<I,O> mqOracle)
Creates a cache oracle for an adaptive Mealy machine learning setup, using a tree for internal cache organization.static <I,O>
MealyCacheOracle<I,O>createCache(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup.static <I,O>
MealyCacheOracle<I,O>createDAGCache(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup, using a DAG for internal cache organization.static <I,O>
MealyCacheOracle<I,O>createDAGCache(net.automatalib.alphabet.Alphabet<I> alphabet, net.automatalib.common.util.mapping.Mapping<? super O,? extends O> errorSyms, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup, using a DAG for internal cache organization.static <I,O>
MealyCacheOracle<I,O>createDynamicTreeCache(MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup with a dynamic alphabet storage, using a tree for internal cache organization.static <I,O>
MealyCacheOracle<I,O>createDynamicTreeCache(net.automatalib.common.util.mapping.Mapping<? super O,? extends O> errorSyms, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup with a dynamic alphabet storage, using a tree for internal cache organization.static <I,O>
MealyCacheOracle<I,O>createTreeCache(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup, using a tree for internal cache organization.static <I,O>
MealyCacheOracle<I,O>createTreeCache(net.automatalib.alphabet.Alphabet<I> alphabet, net.automatalib.common.util.mapping.Mapping<? super O,? extends O> errorSyms, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup, using a tree for internal cache organization.
-
-
-
Method Detail
-
createCache
public static <I,O> MealyCacheOracle<I,O> createCache(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup.Note that this method does not specify the implementation to use for the cache. Currently, a DAG (
createDAGCache(net.automatalib.alphabet.Alphabet<I>, de.learnlib.oracle.MembershipOracle<I, net.automatalib.word.Word<O>>)
) is used; however, this may change in the future.- Type Parameters:
I
- input symbol typeO
- output symbol type- Parameters:
alphabet
- the input alphabetmqOracle
- the membership oracle- Returns:
- a Mealy learning cache with a default implementation
-
createDAGCache
public static <I,O> MealyCacheOracle<I,O> createDAGCache(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup, using a DAG for internal cache organization.- Type Parameters:
I
- input symbol typeO
- output symbol type- Parameters:
alphabet
- the input alphabetmqOracle
- the membership oracle- Returns:
- a Mealy learning cache with a DAG-based implementation
- See Also:
IncrementalMealyDAGBuilder
-
createDAGCache
public static <I,O> MealyCacheOracle<I,O> createDAGCache(net.automatalib.alphabet.Alphabet<I> alphabet, net.automatalib.common.util.mapping.Mapping<? super O,? extends O> errorSyms, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup, using a DAG for internal cache organization.- Type Parameters:
I
- input symbol typeO
- output symbol type- Parameters:
alphabet
- the input alphabeterrorSyms
- a mapping for the prefix-closure filtermqOracle
- the membership oracle- Returns:
- a Mealy learning cache with a DAG-based implementation
- See Also:
IncrementalMealyDAGBuilder
-
createTreeCache
public static <I,O> MealyCacheOracle<I,O> createTreeCache(net.automatalib.alphabet.Alphabet<I> alphabet, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup, using a tree for internal cache organization.- Type Parameters:
I
- input symbol typeO
- output symbol type- Parameters:
alphabet
- the input alphabetmqOracle
- the membership oracle- Returns:
- a Mealy learning cache with a tree-based implementation
- See Also:
IncrementalMealyTreeBuilder
-
createTreeCache
public static <I,O> MealyCacheOracle<I,O> createTreeCache(net.automatalib.alphabet.Alphabet<I> alphabet, net.automatalib.common.util.mapping.Mapping<? super O,? extends O> errorSyms, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup, using a tree for internal cache organization.- Type Parameters:
I
- input symbol typeO
- output symbol type- Parameters:
alphabet
- the input alphabeterrorSyms
- a mapping for the prefix-closure filtermqOracle
- the membership oracle- Returns:
- a Mealy learning cache with a tree-based implementation
- See Also:
IncrementalMealyTreeBuilder
-
createDynamicTreeCache
public static <I,O> MealyCacheOracle<I,O> createDynamicTreeCache(MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup with a dynamic alphabet storage, using a tree for internal cache organization.Note: Due to the dynamic alphabet storage, memory consumption of a dense tree may be higher than normal caches with a predefined alphabet. However, for sparse data, the memory consumption may be lower than only memory for the actual data of the tree is allocated.
- Type Parameters:
I
- input symbol typeO
- output symbol type- Parameters:
mqOracle
- the membership oracle- Returns:
- a Mealy learning cache with a tree-based implementation
- See Also:
DynamicIncrementalMealyTreeBuilder
-
createDynamicTreeCache
public static <I,O> MealyCacheOracle<I,O> createDynamicTreeCache(net.automatalib.common.util.mapping.Mapping<? super O,? extends O> errorSyms, MembershipOracle<I,net.automatalib.word.Word<O>> mqOracle)
Creates a cache oracle for a Mealy machine learning setup with a dynamic alphabet storage, using a tree for internal cache organization.Note: Due to the dynamic alphabet storage, memory consumption of a dense tree may be higher than normal caches with a predefined alphabet. However, for sparse data, the memory consumption may be lower than only memory for the actual data of the tree is allocated.
- Type Parameters:
I
- input symbol typeO
- output symbol type- Parameters:
errorSyms
- a mapping for the prefix-closure filtermqOracle
- the membership oracle- Returns:
- a Mealy learning cache with a tree-based implementation
- See Also:
DynamicIncrementalMealyTreeBuilder
-
createAdaptiveQueryCache
public static <I,O> AdaptiveQueryCache<I,O> createAdaptiveQueryCache(net.automatalib.alphabet.Alphabet<I> alphabet, AdaptiveMembershipOracle<I,O> mqOracle)
Creates a cache oracle for an adaptive Mealy machine learning setup, using a tree for internal cache organization.- Type Parameters:
I
- input symbol typeO
- output symbol type- Parameters:
alphabet
- the input alphabetmqOracle
- the membership oracle- Returns:
- a symbol-based Mealy learning cache with a tree-based implementation
-
-