Package nl.tue.astar

Interface Tail

  • All Known Subinterfaces:
    FastLowerBoundTail
    All Known Implementing Classes:
    DijkstraTail

    public interface Tail
    The tail provides the actual estimate for a head. Implementations can choose to compute the estimate each time, but a tail can also be statefull to speed up the estimation process. A default implementation of a Tail is available in the form of nl.tue.astar.impl.DijkstraTail, which always returns 0 as an estimate.
    Author:
    bfvdonge
    • Method Detail

      • getNextTail

        Tail getNextTail​(Delegate<? extends Head,​? extends Tail> d,
                         Head newHead,
                         int modelMove,
                         int logMove,
                         int activity)
        constructs the new tail based on the two operations from the old head. Preferably, the code to compute the new tail is kept as lightweight as possible.
        Parameters:
        oldHead -
        m -
        l -
        Returns:
      • getNextTailFromStorage

        <S> Tail getNextTailFromStorage​(Delegate<? extends Head,​? extends Tail> d,
                                        CompressedStore<S> store,
                                        long index,
                                        int modelMove,
                                        int logMove,
                                        int activity)
                                 throws java.io.IOException
        constructs the new tail based on the two operations from the old state, which is stored in the given store at the given index. Preferably, the code to compute the new tail is kept as lightweight as possible.
        Type Parameters:
        S -
        Parameters:
        store -
        index -
        m -
        l -
        Returns:
        Throws:
        java.io.IOException
      • getEstimatedCosts

        int getEstimatedCosts​(Delegate<? extends Head,​? extends Tail> d,
                              Head head)
        get an estimate of the remaining distance to the target state in the search.
        Returns:
      • canComplete

        boolean canComplete()
        returns true if and only if the replay can finish according to this tail, i.e. for the case
        Returns: