Package nl.tue.astar
Interface Head
-
public interface HeadThe head determines the state in the search space. It should contain all information to base an estimate on, but providing the actual estimate is not part of the head but of the tail. This allows to separate these implementations to have multiple estimation strategies for a given head.- Author:
- bfvdonge
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description gnu.trove.list.TIntListgetModelMoves(Record rec, Delegate<? extends Head,? extends Tail> delegate)get the model moves that are possible.HeadgetNextHead(Record rec, Delegate<? extends Head,? extends Tail> d, int modelMove, int logMove, int activity)Produce the next head, given the moves.gnu.trove.list.TIntListgetSynchronousMoves(Record rec, Delegate<? extends Head,? extends Tail> delegate, gnu.trove.list.TIntList enabled, int activity)get the synchronous moves that are possible on activity, given the current list of enabled modelMoves.booleanisFinal(Delegate<? extends Head,? extends Tail> delegate)checks if this head belongs to a final state;
-
-
-
Method Detail
-
getNextHead
Head getNextHead(Record rec, Delegate<? extends Head,? extends Tail> d, int modelMove, int logMove, int activity)
Produce the next head, given the moves. If logMove == AStarThread.NOMOVE, then modelMove is an element of the TIntList returned by the last call to getModelMoves() and activity == AStarThread.NOMOVE. If modelMove == AStarThread.NOMOVE, then logMove is an index into the trace on which the AStarThread is working and activity is the corresponding activity. If logMove!=AStarThread.NOMOVE and modelMove != AStarThread.NOMOVE, then modelMove is an element of the TIntlist returned by the last call to getSynchronousMove, logMove is an index into the trace on which the AStarThread is working and activity is the corresponding activity.- Parameters:
rec-d-modelMove-logMove-activity-- Returns:
-
getSynchronousMoves
gnu.trove.list.TIntList getSynchronousMoves(Record rec, Delegate<? extends Head,? extends Tail> delegate, gnu.trove.list.TIntList enabled, int activity)
get the synchronous moves that are possible on activity, given the current list of enabled modelMoves. The list enabled is obtained through a previous call to getModelMoves and implementations may only remove elements, i.e. the implementation may decide to remove modelMoves based on the available synchronous moves.- Parameters:
delegate-enabled- TODOactivity-- Returns:
-
getModelMoves
gnu.trove.list.TIntList getModelMoves(Record rec, Delegate<? extends Head,? extends Tail> delegate)
get the model moves that are possible.- Parameters:
delegate-- Returns:
-
-