Marc Friedman and Daniel S. Weld
The principle of least commitment was embraced early in planning research. Hierarchical task networks (HTNs) reason about high-level tasks without committing to specific low-level steps. Partial-order planning arose from a complementary desire to avoid unnecessary ordering commitments. But most of today’s partial-order planning algorithms commit to a single producing step when supporting an open condition -- even when multiple alternatives exist. Each possibility results in a different child plan, and therefore a branch in the search tree. If the various choices have common features, computation may be duplicated unnecessarily on the various branches. The FABIAN planner attempts to avoid such waste. FABIAN separates the decision to add a step from the choice of which step to add. FABIAN supports an open condition by adding an abstract action to the plan representing the disjunction of possible new supporting steps; only later does it refine this choice to a particular concrete action. We show that this abstraction can lead to exponential savings, and argue that in the worst case FABIAN never explores more than a slightly larger space of plans than does a traditional planner such as SNLP.