Interface GlobalSuffixFinder<I,​D>

  • Type Parameters:
    I - input symbol type upper bound
    D - output domain type upper bound

    public interface GlobalSuffixFinder<I,​D>
    Interface for a global suffix finder. A global suffix finder takes a counterexample (plus other supplemental information), and returns a list of words that, when used as distinguishing suffixes, will expose at least one additional state in the hypothesis.

    Please note that the type parameters of these class only constitute upper bounds for the respective input symbol and output classes, denoting the requirements of the process in general. A suffix finder which does not exploit any properties of the used classes will implement this interface with <Object,Object> generic arguments only. The genericity is still maintained due to the RI and RO generic parameters in the findSuffixes(Query, AccessSequenceTransformer, SuffixOutput, MembershipOracle) method.

    • Method Detail

      • findSuffixes

        <RI extends I,​RD extends DList<Word<RI>> findSuffixes​(Query<RI,​RD> ceQuery,
                                                                      AccessSequenceTransformer<RI> asTransformer,
                                                                      SuffixOutput<RI,​RD> hypOutput,
                                                                      MembershipOracle<RI,​RD> oracle)
        Finds a set of distinguishing suffixes which will allow to expose at least one additional state in the hypothesis.
        Type Parameters:
        RI - real input symbol type used for *this* counterexample analysis
        RD - real output domain type 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:
        a list of distinguishing suffixes, or the empty set if the counterexample could not be analyzed.