Class MealyCaches


  • public final class MealyCaches
    extends Object
    A factory for creating caches for mealy-based MembershipOracles.
    • 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

      • 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 type
        O - output symbol type
        Parameters:
        alphabet - the input alphabet
        mqOracle - 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 type
        O - output symbol type
        Parameters:
        alphabet - the input alphabet
        errorSyms - a mapping for the prefix-closure filter
        mqOracle - 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 type
        O - output symbol type
        Parameters:
        alphabet - the input alphabet
        mqOracle - 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 type
        O - output symbol type
        Parameters:
        alphabet - the input alphabet
        errorSyms - a mapping for the prefix-closure filter
        mqOracle - 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 type
        O - 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 type
        O - output symbol type
        Parameters:
        errorSyms - a mapping for the prefix-closure filter
        mqOracle - 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 type
        O - output symbol type
        Parameters:
        alphabet - the input alphabet
        mqOracle - the membership oracle
        Returns:
        a symbol-based Mealy learning cache with a tree-based implementation