GAM

Solving Complex Planning Tasks Through Extraction of Subproblems

The GAM option inside IPP implements a new approach to order conjunctive goals. It was developed by Jana Koehler and Joerg Hoffmann and is available in IPP 3.3. Today, GAM is further developed inside the FF planner developed by Joerg Hoffmann, which is based on heuristic forward search.

Both software packages include IPP 3.2 and RIFO. IPP is called as usual. As an additional service, the individual planning graphs that are generated to solve the various subproblems can be saved and inspected with XGV.

Papers describing GAM

  1. J. Koehler, J. Hoffmann: On Reasonable and Forced Goal Orderings and their Use in an Incremental Planning Algorithm, Journal of Artificial Intelligence Research, forthcoming.

  2. J. Koehler: Solving Complex Planning Tasks Through Extraction of Subproblems, Copyright AAAI Press, AIPS-98.

  3. J. Koehler, J. Hoffmann: Planning with Goal Agendas, Technical Report 110.

  4. J. Koehler, J. Hoffmann: On Reasonable and Forced Goal Orderings and their Use in an Incremental Planning Algorithm, Technical Report 132.


About GAM

When solving complex planning tasks that are described by a set of conjunctive goals one observes that the search space usuallly grows exponentially in the size of the task. One idea to avoid searching the whole space is the following:

The GAM subprogram in IPP implements such a method, which we call the Goal Agenda Manager. It basically tries to split up the goal set G of a planning problem. Its execution time is polynomial in the size of the planning task, and in connection with the IPP planning system, it leads to an exponential improvement of performance on a variety of planning domains, like the Blocksworld, the Tyreworld, the Woodshop, the Schedworld, and others. Though it is, at the moment, integrated into IPP as a subprogram, the GAM algorithm does not at all depend on IPP. Used in the right way, it should be helpful for other planning systems too, as it provides information about the "right order" in which to achieve the subsets of atomic goals.

How GAM works

Given a planning problem as a set I of initially true atoms, a set of operators O and a set of goals G, GAM tries to create a "Goal Agenda" GA, which defines a total ordering between increasing subsets of G, i.e., GA = [1:G1 .. n:Gn] and G = Gn and each Gi is a subset of each Gi+1. The algorithm proceeds as follows:

Using this Goal Agenda, GAM feeds IPP with a sequence of increasing subproblems, creating a plan for the whole problem simply by connecting the small plans, i.e. the solution plan P(G) is the concatenation of the solution plans P(G1), .. ,P(Gn). For example, if GA = [1: a,b 2:a,b,c] which means that first the planner should solve goals a and b, and then goal a,b,c, GAM feeds IPP with the planning task (I, a & b) and then with the task (a & b & I', a & b & c). Given that the correct initial states I' are computed, this preserves the completeness of the planning algorithm and can still lead to almost optimal solutions in many cases because IPP solves planning problems "with no-ops first".

IPP using GAM is sound and complete, but in some domains, plans can contain superfluous actions.

Using GAM

To create a plan using a goal agenda, start IPP with option -g 1. Option -g 2 stops IPP after GAM finished computing the agenda, if it is only the agenda, not the plan, that you're interested in. As a default, GAM will not be used (option -g 0). Other GAM options are as follows:

A few Results: