I
- input symbol typeO
- output symbol typepublic class StateLocalInputIncrementalMealyTreeBuilder<I,O> extends DynamicIncrementalMealyTreeBuilder<I,OutputAndLocalInputs<I,O>>
DynamicIncrementalMealyTreeBuilder
that intelligently handles the information provided by
the OutputAndLocalInputs
output class.
Words that would traverse paths whose input symbols are not part of the OutputAndLocalInputs.getLocalInputs()
set are answered with OutputAndLocalInputs.undefined()
, even though the tree holds no information about them
(and it doesn't need to, given the contract of OutputAndLocalInputs
.
AbstractIncrementalMealyTreeBuilder.GraphView, AbstractIncrementalMealyTreeBuilder.TransitionSystemView
AbstractIncrementalMealyBuilder.AbstractGraphView<I,O,N,E>
root
Constructor and Description |
---|
StateLocalInputIncrementalMealyTreeBuilder(Collection<I> initialAvailableInputs) |
Modifier and Type | Method and Description |
---|---|
void |
insert(Word<? extends I> input,
Word<? extends OutputAndLocalInputs<I,O>> outputWord)
Incorporates a pair of input/output words into the stored information.
|
protected net.automatalib.incremental.mealy.tree.dynamic.Node<I,OutputAndLocalInputs<I,O>> |
insertNode(net.automatalib.incremental.mealy.tree.dynamic.Node<I,OutputAndLocalInputs<I,O>> parent,
I symbol,
OutputAndLocalInputs<I,O> output) |
boolean |
lookup(Word<? extends I> word,
List<? super OutputAndLocalInputs<I,O>> output)
Retrieves the output word for the given input word.
|
addAlphabetSymbol, createNode, getEdge, getOutgoingEdges
asGraph, asTransitionSystem, findSeparatingWord
hasDefinitiveInformation, lookup
public StateLocalInputIncrementalMealyTreeBuilder(Collection<I> initialAvailableInputs)
public boolean lookup(Word<? extends I> word, List<? super OutputAndLocalInputs<I,O>> output)
IncrementalMealyBuilder
lookup
in interface IncrementalMealyBuilder<I,OutputAndLocalInputs<I,O>>
lookup
in class AbstractIncrementalMealyTreeBuilder<net.automatalib.incremental.mealy.tree.dynamic.Node<I,OutputAndLocalInputs<I,O>>,I,OutputAndLocalInputs<I,O>>
word
- the input wordoutput
- a consumer for constructing the output wordtrue
if the information contained was complete (in this case, word.length() ==
output.size()
will hold), false
otherwise.public void insert(Word<? extends I> input, Word<? extends OutputAndLocalInputs<I,O>> outputWord) throws ConflictException
IncrementalMealyBuilder
insert
in interface IncrementalMealyBuilder<I,OutputAndLocalInputs<I,O>>
insert
in class AbstractIncrementalMealyTreeBuilder<net.automatalib.incremental.mealy.tree.dynamic.Node<I,OutputAndLocalInputs<I,O>>,I,OutputAndLocalInputs<I,O>>
input
- the input wordoutputWord
- the corresponding output wordConflictException
- if this information conflicts with information already storedprotected net.automatalib.incremental.mealy.tree.dynamic.Node<I,OutputAndLocalInputs<I,O>> insertNode(net.automatalib.incremental.mealy.tree.dynamic.Node<I,OutputAndLocalInputs<I,O>> parent, I symbol, OutputAndLocalInputs<I,O> output)
insertNode
in class DynamicIncrementalMealyTreeBuilder<I,OutputAndLocalInputs<I,O>>
Copyright © 2019. All rights reserved.