Paragraph: A Graphplan-based Probabilistic Planner

Paragraph is a probabilistic planner that finds contingency plans that maximise the probability of reaching the goal within a given time horizon. It is capable of finding either a cyclic or acyclic solution to a given problem, depending on how it is configured. These solutions are optimal in the non-concurrent case, and optimal for a restricted model of concurrency. The concurrent case is not relevant to this discussion, and is not further discussed. A detailed description of Paragraph is given in (Little & Thiébaux 2006). The Graphplan framework (Blum & Furst 1997) is an approach that has proven to be highly successful for solving classical planning problems. Extensions of this framework for probabilistic planning have been developed (Blum & Langford 1999), but either dispense with the techniques that enable concurrency to be efficiently managed, or are unable to produce optimal contingency plans. Specifically, PGraphplan finds optimal (non-concurrent) contingency plans via dynamic programming, using information propagated backwards through the planning graph to identify states from which the goal is provably unreachable. This approach takes advantage of neither the state space compression inherent in Graphplan’s goal regression search, nor the pruning power of Graphplan’s mutex reasoning and nogood learning. TGraphplan is a minor extension of the original Graphplan algorithm that computes a single path to the goal with a maximal probability of success; replanning could be applied when a plan’s execution deviates from this path, but this strategy is not optimal. Paragraph is an extension of the Graphplan algorithm to probabilistic planning. It enables much of the existing research into the Graphplan framework to be transfered to the probabilistic setting. Paragraph is a planner that implements some of this potential, including: a probabilistic planning graph, powerful mutex reasoning, nogood learning, and a goal regression search. The key to this framework is an efficient method of finding optimal contingency plans using goal regression. This method is fully compatible with the Graphplan framework, but is also more generally applicable.