Interface LeafSplitter


  • public interface LeafSplitter
    Interface for configuration objects that specify how to split the ADT leaf of a hypothesis state that needs refinement.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      <S,​I,​O>
      ADTNode<S,​I,​O>
      split​(ADTNode<S,​I,​O> nodeToSplit, Word<I> distinguishingSuffix, Word<O> oldOutput, Word<O> newOutput)
      Split the specified node to correctly distinguish between the old and new hypothesis state.
    • Method Detail

      • split

        <S,​I,​O> ADTNode<S,​I,​O> split​(ADTNode<S,​I,​O> nodeToSplit,
                                                             Word<I> distinguishingSuffix,
                                                             Word<O> oldOutput,
                                                             Word<O> newOutput)
        Split the specified node to correctly distinguish between the old and new hypothesis state.
        Type Parameters:
        S - (hypothesis) state type
        I - input alphabet type
        O - output alphabet type
        Parameters:
        nodeToSplit - the existing leaf that should be split
        distinguishingSuffix - the input sequence that splits the hypothesis state of the leaf to split and the new node.
        oldOutput - the hypothesis output of the node to split given the distinguishing suffix
        newOutput - the hypothesis output of the new leaf given the distinguishing suffix
        Returns:
        the new leaf that should reference the new hypothesis state