public class PILPTail
extends java.lang.Object
implements nl.tue.astar.FastLowerBoundTail
Modifier and Type | Field and Description |
---|---|
protected int |
estimate |
protected boolean |
isExact |
protected short[] |
variables |
Modifier | Constructor and Description |
---|---|
protected |
PILPTail(int estimate,
short[] variables,
boolean isExact) |
|
PILPTail(PILPDelegate delegate,
PHead h,
int minCost) |
Modifier and Type | Method and Description |
---|---|
boolean |
canComplete()
returns true if and only if the replay can finish according to this tail,
i.e.
|
void |
computeEstimate(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d,
nl.tue.astar.Head head,
int lastEstimate)
Starts the computation of the exact estimate on the first call.
|
int |
getEstimate() |
int |
getEstimatedCosts(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d,
nl.tue.astar.Head head)
get an estimate of the remaining distance to the target state in the
search.
|
PILPTail |
getNextTail(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d,
nl.tue.astar.Head newHead,
int modelMove,
int logMove,
int activity)
constructs the new tail based on the two operations from the old head.
|
<S> nl.tue.astar.Tail |
getNextTailFromStorage(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d,
nl.tue.storage.CompressedStore<S> store,
long index,
int modelMove,
int logMove,
int activity)
constructs the new tail based on the two operations from the old state,
which is stored in the given store at the given index.
|
static int |
getSizeFor(int variables) |
short[] |
getVariables() |
boolean |
isExactEstimateKnown()
This method should return true if the exact estimate is known.
|
protected int estimate
protected final short[] variables
protected boolean isExact
public PILPTail(PILPDelegate delegate, PHead h, int minCost)
protected PILPTail(int estimate, short[] variables, boolean isExact)
public static int getSizeFor(int variables)
public PILPTail getNextTail(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d, nl.tue.astar.Head newHead, int modelMove, int logMove, int activity)
nl.tue.astar.Tail
getNextTail
in interface nl.tue.astar.Tail
public <S> nl.tue.astar.Tail getNextTailFromStorage(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d, nl.tue.storage.CompressedStore<S> store, long index, int modelMove, int logMove, int activity) throws java.io.IOException
nl.tue.astar.Tail
getNextTailFromStorage
in interface nl.tue.astar.Tail
java.io.IOException
public int getEstimatedCosts(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d, nl.tue.astar.Head head)
nl.tue.astar.FastLowerBoundTail
getEstimatedCosts
in interface nl.tue.astar.FastLowerBoundTail
getEstimatedCosts
in interface nl.tue.astar.Tail
public boolean canComplete()
nl.tue.astar.Tail
canComplete
in interface nl.tue.astar.Tail
public int getEstimate()
public short[] getVariables()
public void computeEstimate(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d, nl.tue.astar.Head head, int lastEstimate)
nl.tue.astar.FastLowerBoundTail
computeEstimate
in interface nl.tue.astar.FastLowerBoundTail
public boolean isExactEstimateKnown()
nl.tue.astar.FastLowerBoundTail
isExactEstimateKnown
in interface nl.tue.astar.FastLowerBoundTail