Skip to content
Christian Muise edited this page Apr 5, 2020 · 1 revision

PO-PRP: Using PRP for Contingent Problems

A version of PRP now allows you to solving contingent planning problems using a the translation provided by the k-replanner online contingent planner. The process is always sound, and complete for simple contingent problems.*

The long-term aim of PO-PRP is to incorporate everything into the main PRP codebase. For now, it can be accessed from the contingent branch. To run PO-PRP, use the src/poprp script with the same options listed [here].

Current Caveats

  • While in principle there is no issue mixing (fully observable) non-deterministic effects and partial observability with sensing, PO-PRP is only equipped to handle them in isolation. This will be remedied in the next release of the software.
  • It turns out that some of the features in PRP hamper the efficiency in the compiled contingent problems for the domains tested. Namely, deadend detection and optimized strong cyclic detection have been disabled by default for the poprp script. Completeness is lost only for problems with avoidable deadends, and both features can be re-enabled with the appropriate command-line options.

*: In the near future, PO-PRP will be made to be complete for width one problems as well.


Note on Results:

Due to changes in the k-replanner compilation software between the time of PO-PRP publication and inclusion of it in the PRP repository, the encoding no longer exhibits compact regression properties on some domains. Most strikingly, this includes the CTP domain, where the exponential reduction is no longer gained: the solutions continue to be compact, but the solve process takes exponentially more time than the numbers reported in the published work.

Until I can find the time to re-implement the PPOS -> FOND encoding manually, please accept my sincerest apologies for not having frozen the binaries that were used at the time of publication. It is a mistake in scientific/reproducibility protocol that I have long since improved.

Clone this wiki locally