Class CharacterizingSets


  • public final class CharacterizingSets
    extends Object
    Operations for calculating characterizing sets.

    A characterizing set for a whole automaton is a set W of words such that for every two states s1 and s2, there exists a word w ∈ W such that w exposes a difference between s1 and s2 (i.e., either covers a transition with differing property (or not defined in only one case), or reaching a successor state with differing properties), or there exists no such word at all.

    A characterizing set for a single state s is a set W of words such that for every state t, there exists a word w ∈ W such that w exposes a difference between s and t, or there exists no such word at all.

    • Method Detail

      • findCharacterizingSet

        public static <I> void findCharacterizingSet​(UniversalDeterministicAutomaton<?,​I,​?,​?,​?> automaton,
                                                     Collection<? extends I> inputs,
                                                     Collection<? super Word<I>> result)
        Computes a characterizing set for the given automaton.
        Parameters:
        automaton - the automaton for which to determine the characterizing set.
        inputs - the input alphabets to consider
        result - the collection in which to store the characterizing words
      • findCharacterizingSet

        public static <S,​I> void findCharacterizingSet​(UniversalDeterministicAutomaton<S,​I,​?,​?,​?> automaton,
                                                             Collection<? extends I> inputs,
                                                             S state,
                                                             Collection<? super Word<I>> result)
        Computes a characterizing set for a specified state in the given automaton.
        Parameters:
        automaton - the automaton containing the state
        inputs - the input alphabets to consider
        state - the state for which to determine the characterizing set
        result - the collection in which to store the characterizing words