ix.test
Class BlockStacker
java.lang.Object
ix.test.BlockStacker
- Direct Known Subclasses:
- HtnBlockStacker, PrecondBlockStacker
public abstract class BlockStacker
- extends java.lang.Object
A useful base class for classes that run block-stacking planning problems.
It contains methods for processing problem descriptions in
a compact form:
A tower is a sequence of letters, each representing a block,
listed from highest block to lowest. For example, "abc" is a
tower with A on top of B on top of C, with C on the table.
A block-stacking problem is specified as initial-final
where initial and final are comma-separated lists of towers.
For example, "ca,b-abc" for the Sussman anomaly.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
slip
protected Slip slip
initialTowers
protected java.util.List initialTowers
finalTowers
protected java.util.List finalTowers
problem
protected java.lang.String problem
S_ACHIEVE
protected static final Symbol S_ACHIEVE
S_ON
protected static final Symbol S_ON
S_BLOCK
protected static final Symbol S_BLOCK
S_CLEARTOP
protected static final Symbol S_CLEARTOP
S_TABLE
protected static final Symbol S_TABLE
S_TRUE
protected static final Symbol S_TRUE
S_FALSE
protected static final Symbol S_FALSE
BlockStacker
public BlockStacker(java.lang.String problem)
getDefaultBaseDomainName
protected abstract java.lang.String getDefaultBaseDomainName()
findPlan
public void findPlan()
replan
public void replan()
getPlan
public Plan getPlan()
setupForPlanning
protected void setupForPlanning()
checkPlan
public void checkPlan()
parseTowers
public void parseTowers(java.lang.String problem)
initialPlan
public Plan initialPlan()
initialPlan
public Plan initialPlan(java.util.List initialTowers,
java.util.List finalTowers)
problemDomain
public Domain problemDomain()
problemDomain
public Domain problemDomain(java.util.List initialTowers,
java.util.List finalTowers)
initialStateRefinement
protected Refinement initialStateRefinement(java.util.List initialTowers)
goalStateRefinement
protected abstract Refinement goalStateRefinement(java.util.List finalTowers)
checkTowerState
public void checkTowerState(java.util.Map state,
java.util.List towers)
failedGoalPatterns
public java.util.List failedGoalPatterns(java.util.Map state)
incorrectTowerPatterns
public java.util.List incorrectTowerPatterns(java.util.Map state,
java.util.List towers)