CS&E logo University of Washington Computer Science & Engineering
 The UCPOP Planner
  CSE Home   AI Home  About CSE    Search    Contact Info 

Project faculty
 Dan Weld
Project students
 Scott Penberthy

The UCPOP Planner


Note: UCPOP is an aging system - we recommend Sensory Graphplan (SGP) instead. SGP handles a superset of UCPOP functionality and is much, much faster.

Common Lisp source code for the UCPOP partial order planner, version 4.1, is available via anonymous FTP. UCPOP operates with actions that have conditional effects and universally quantified preconditions and effects. It accepts universally quantified goals. In addition, UCPOP 4.1 allows domain axioms and predicates that call Common Lisp code to determine satisfiability. With a conservative search strategy UCPOP is both sound and complete for this representation, but one can add aggressive, domain-dependent search control with convenient declarative rules. Our Common Lisp implementation is simple enough for classroom use, yet quite efficient (requiring between 2-20ms to explore and refine a partial plan).

Version 4.1 replaces and subsumes version 2.0. Highlights include:

  1. Twice as fast at plan elaboration
  2. The revamped, improved graphical Plan DeBugger ( PDB) (requires CLIM 2.0)
  3. Safety constraints (as explained here).
  4. Improved quantification over dynamic universes
  5. More sophisticated search control strategies (including Schubert and Gerevini's ZLIFO)
  6. Improved user's manual

This builds on the features introduced in version 2.0:

  1. Declarative specification of search control rules
  2. Universal quantification over dynamic universes (object creation and destruction)
  3. Domain axioms
  4. Procedural attachment (predicates expanding to lisp code).
  5. Larger set of domain theories & search functions for testing.

This work was first presented at KR-92:

Penberthy, J. S. and Weld, D., ``UCPOP: A Sound, Complete, Partial-Order Planner for ADL,'' Third International Conference on Knowledge Representation and Reasoning (KR-92), Cambridge, MA, October 1992.

An experimental implementation of UCPOP 2.0 in C++ is also available. It is about an order of magnitude faster than the Lisp implementation but it doesn't have all the extensions. Please be aware that

  • The code was written back in 1993, as such, it will require work to get it to compile with newer compilers and platforms.
  • The code wasn't fully documented.
  • The code was only tested on a few domains, therefore it doesn't claim to be bug-free.
  • The code is no longer being maintained; please do not send problems to the author.
If you are still interested, you can click here to download.

CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to bug-ucpop at cs.washington.edu]