CPOR & SDR Unified Planning Engines Interfaces
This asset provides the interfacing between the CPOR & SDR contingent planner and the Unified Planning framework developed by the AIPlan4EU project.
CPOR & SDR solvers are contingent planning solvers.
Contingent planning under partial observability and sensing actions is an important problem in automated planning.
CPOR is an offline contingent planner that computes a complete plan tree (or graph) where each node is labeled by an action, and edges are labeled by observations. The leaves of the plan tree correspond to goal states. CPOR uses the SDR translation to compute actions. When a sensing action is chosen, CPOR expands both child nodes corresponding to the possible observations. CPOR contains a mechanism for reusing plan segments, resulting in a more compact graph.
More information about CPOR can be found in the paper: "Computing Contingent Plan Graphs using Online Planning" by Maliah and Shani, published in TAAS in 2021.
SDR is an online contingent replanner that provides one action at a time and then awaits to receive an observation from the environment. SDR operates by compiling a contingent problem into a classical problem, representing only some of the partial knowledge that the agent has. The classical problem is then solved. If an action is not applicable due to the partial information, SDR modifies the classical problem and replans.
More information about SDR can be found in the paper: "Replanning in Domains with Partial Information and Sensing Actions" by Brafman and Shani, published in JAIR in 2012.
The AIPlan4EU project developed a Unified Planning (UP) library to simplify the use and interfacing of various kinds of planning techniques, including temporal planning. This asset encompasses the code needed to connect the CPOR or SDR planners with the UP, thus using CPOR or SDR as one of the possible solution engines.
CPOR & SDR engines are contingent planning solvers.
Contingent planning under partial observability and sensing actions is an important problem in automated planning.
Installation
To install 'up-cpor', clone the project and open a command prompt from the project directory on your PC.
Then create a new environment with the following command:
conda create -n up_cpor_env python=3.8.0 conda activate up_cpor_env
Finally, use pip to install the required dependencies:
pip install -r requirements.txt
This will install the unified_planning package and all the essential components to run the algorithm.
Try it yourself!
A live demo showcasing the usage is available here.