Class LocalSuffixFinders


  • public final class LocalSuffixFinders
    extends Object
    A collection of suffix-based local counterexample analyzers.
    See Also:
    LocalSuffixFinder
    • Method Detail

      • findLinear

        public static <I,​D> int findLinear​(Query<I,​D> ceQuery,
                                                 AccessSequenceTransformer<I> asTransformer,
                                                 SuffixOutput<I,​D> hypOutput,
                                                 MembershipOracle<I,​D> oracle)
        Searches for a distinguishing suffixes by checking for counterexample yielding access sequence transformations in linear ascending order.
        Parameters:
        ceQuery - the initial counterexample query
        asTransformer - the access sequence transformer
        hypOutput - interface to the hypothesis output, for checking whether the oracle output contradicts the hypothesis
        oracle - interface to the SUL
        Returns:
        the index of the respective suffix, or -1 if no counterexample could be found
        See Also:
        LocalSuffixFinder
      • findLinearReverse

        public static <I,​D> int findLinearReverse​(Query<I,​D> ceQuery,
                                                        AccessSequenceTransformer<I> asTransformer,
                                                        SuffixOutput<I,​D> hypOutput,
                                                        MembershipOracle<I,​D> oracle)
        Searches for a distinguishing suffixes by checking for counterexample yielding access sequence transformations in linear descending order.
        Parameters:
        ceQuery - the initial counterexample query
        asTransformer - the access sequence transformer
        hypOutput - interface to the hypothesis output, for checking whether the oracle output contradicts the hypothesis
        oracle - interface to the SUL
        Returns:
        the index of the respective suffix, or -1 if no counterexample could be found
        See Also:
        LocalSuffixFinder
      • findRivestSchapire

        public static <I,​D> int findRivestSchapire​(Query<I,​D> ceQuery,
                                                         AccessSequenceTransformer<I> asTransformer,
                                                         SuffixOutput<I,​D> hypOutput,
                                                         MembershipOracle<I,​D> oracle)
        Searches for a distinguishing suffixes by checking for counterexample yielding access sequence transformations using a binary search, as proposed by Rivest & Schapire.
        Parameters:
        ceQuery - the initial counterexample query
        asTransformer - the access sequence transformer
        hypOutput - interface to the hypothesis output, for checking whether the oracle output contradicts the hypothesis
        oracle - interface to the SUL
        Returns:
        the index of the respective suffix, or -1 if no counterexample could be found
        See Also:
        LocalSuffixFinder