Class Valmari

    • Constructor Detail

      • Valmari

        public Valmari​(int[] blocks,
                       int[] tail,
                       int[] label,
                       int[] head)
        Default constructor. Note that the transitions are expected to be sorted first by their label and second by their source states. This can be typically achieved by initializing the arrays in a nested loop similar to
         
         for (int in : inputs) {
             for (int src : states) {
                 for (int tgt : successors(src, in)) {
                     tail[m] = src;
                     label[m] = in;
                     head[m] = tgt;
                     m++;
                 }
             }
         }
         
        Further constraints are documented in the respective parameter descriptions.

        Note that the contents of the arrays may be modified during the computation of the relational coarsest partition.

        Parameters:
        blocks - The initial classification of states. That is, blocks[i] denotes that class of state i. The classes need to be numbered continuously from 0 to k - 1, where k denotes the number of initial partition classes. Thus, the length of blocks implies the number of states.
        tail - The source states of transitions. That is, tail[i] denotes the source state of transition i. Each value must be smaller than blocks.length.
        label - The labels of transitions. That is, label[i] denotes the label of transition i. The labels need to be numbered continuously from 0 to l - 1, where l denotes the number of labels.
        head - The target states of transitions. That is, tail[i] denotes the target state of transition i. Each value must be smaller than blocks.length.
    • Method Detail

      • computeCoarsestStablePartition

        public void computeCoarsestStablePartition()