Class AcexLocalSuffixFinder

    • Constructor Detail

      • AcexLocalSuffixFinder

        public AcexLocalSuffixFinder​(AcexAnalyzer analyzer,
                                     boolean reduce,
                                     String name)
        Constructor.
        Parameters:
        analyzer - the analyzer to be wrapped
        reduce - whether to reduce counterexamples
    • Method Detail

      • findSuffixIndex

        public <RI,​RO> int findSuffixIndex​(Query<RI,​RO> ceQuery,
                                                 AccessSequenceTransformer<RI> asTransformer,
                                                 SuffixOutput<RI,​RO> hypOutput,
                                                 MembershipOracle<RI,​RO> oracle)
        Description copied from interface: LocalSuffixFinder
        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.
        Specified by:
        findSuffixIndex in interface LocalSuffixFinder<@Nullable Object,​@Nullable Object>
        Type Parameters:
        RI - real input symbol class used for *this* counterexample analysis
        RO - real output class used for *this* counterexample analysis
        Parameters:
        ceQuery - the counterexample query that triggered the refinement. Note that the same restrictions as in LearningAlgorithm.refineHypothesis(DefaultQuery) apply.
        asTransformer - an AccessSequenceTransformer used for access sequence transformation, if applicable.
        hypOutput - interface to the output generation of the hypothesis, with the aim of comparing outputs of the hypothesis and the SUL.
        oracle - interface to the System Under Learning (SUL).
        Returns:
        an adequate split index, or -1 if the counterexample could not be analyzed.