Class IncrementalMealyTreeBuilder<I,​O>

    • Constructor Detail

      • IncrementalMealyTreeBuilder

        public IncrementalMealyTreeBuilder​(Alphabet<I> inputAlphabet)
    • Method Detail

      • insert

        public void insert​(Word<? extends I> input,
                           Word<? extends O> outputWord)
        Description copied from interface: IncrementalMealyBuilder
        Incorporates a pair of input/output words into the stored information.
        Specified by:
        insert in interface IncrementalMealyBuilder<I,​O>
        Parameters:
        input - the input word
        outputWord - the corresponding output word
      • asGraph

        public Graph<net.automatalib.incremental.mealy.tree.Node<O>,​?> asGraph()
        Description copied from interface: IncrementalConstruction
        Retrieves a graph view of the current state of the construction. The graph model should be backed by the construction, i.e., subsequent changes will be reflected in the graph model.
        Specified by:
        asGraph in interface IncrementalConstruction<I,​O>
        Returns:
        a graph view on the current state of the construction
      • lookup

        public boolean lookup​(Word<? extends I> word,
                              List<? super O> output)
        Description copied from interface: MealyBuilder
        Retrieves the output word for the given input word. If no definitive information for the input word exists, the output for the longest known prefix will be returned.
        Specified by:
        lookup in interface MealyBuilder<N,​I>
        Parameters:
        word - the input word
        output - a consumer for constructing the output word
        Returns:
        true if the information contained was complete (in this case, word.length() == output.size() will hold), false otherwise.
      • findSeparatingWord

        public @Nullable Word<I> findSeparatingWord​(MealyMachine<?,​I,​?,​O> target,
                                                    Collection<? extends I> inputs,
                                                    boolean omitUndefined)
        Description copied from interface: IncrementalConstruction
        Checks the current state of the construction against a given target model, and returns a word exposing a difference if there is one.
        Specified by:
        findSeparatingWord in interface IncrementalConstruction<N,​I>
        Parameters:
        target - the target automaton model
        inputs - the set of input symbols to consider
        omitUndefined - if this is set to true, then undefined transitions in the target model will be interpreted as "unspecified/don't know" and omitted in the equivalence test. Otherwise, they will be interpreted in the usual manner (e.g., non-accepting sink in case of DFAs).
        Returns:
        a separating word, or null if no difference could be found.
      • asTransitionSystem

        public MealyTransitionSystem<?,​I,​?,​O> asTransitionSystem()
        Description copied from interface: IncrementalConstruction
        Retrieves a transition system view of the current state of the construction. The transition system model should be backed by the construction, i.e., subsequent changes will be reflected in the transition system.
        Specified by:
        asTransitionSystem in interface IncrementalConstruction<N,​I>
        Specified by:
        asTransitionSystem in interface MealyBuilder<N,​I>
        Returns:
        a transition system view on the current state of the construction