Class ADSUtil


  • public final class ADSUtil
    extends Object
    Utility class, that offers some operations revolving around adaptive distinguishing sequences.
    • Method Detail

      • computeLength

        public static <S,​I,​O> int computeLength​(ADSNode<S,​I,​O> node)
      • countSymbolNodes

        public static <S,​I,​O> int countSymbolNodes​(ADSNode<S,​I,​O> node)
      • buildFromTrace

        public static <S,​I,​T,​O> Pair<ADSNode<S,​I,​O>,​ADSNode<S,​I,​O>> buildFromTrace​(MealyMachine<S,​I,​T,​O> automaton,
                                                                                                                                   Word<I> trace,
                                                                                                                                   S state)
      • collectLeaves

        public static <S,​I,​O> Set<ADSNode<S,​I,​O>> collectLeaves​(ADSNode<S,​I,​O> root)
      • buildTraceForNode

        public static <S,​I,​O> Pair<Word<I>,​Word<O>> buildTraceForNode​(ADSNode<S,​I,​O> node)
      • getOutputForSuccessor

        public static <S,​I,​O> O getOutputForSuccessor​(ADSNode<S,​I,​O> node,
                                                                  ADSNode<S,​I,​O> successor)
      • computeMaximumSplittingWordLength

        public static long computeMaximumSplittingWordLength​(int n,
                                                             int i,
                                                             int m)
        Computes an upper bound for the length of a splitting word. Based on

        I.V. Kogan. "Estimated Length of a Minimal Simple Conditional Diagnostic Experiment". In: Automation and Remote Control 34 (1973)

        Parameters:
        n - the size of the automaton (number of states)
        i - the number of states that should be distinguished by the current splitting word
        m - the number of states that should originally be distinguished
        Returns:
        upper bound for the length of a splitting word