Table of Contents
Fetching ...

WLPlan: Relational Features for Symbolic Planning

Dillon Z. Chen

TL;DR

WLPlan is introduced, a C++ package with Python bindings which implements recent promising work for automatically generating relational features of planning tasks and provides functionality for transforming planning tasks into graphs, and embedding planning graphs into feature vectors via graph kernels.

Abstract

Scalable learning for planning research generally involves juggling between different programming languages for handling learning and planning modules effectively. Interpreted languages such as Python are commonly used for learning routines due to their ease of use and the abundance of highly maintained learning libraries they exhibit, while compiled languages such as C++ are used for planning routines due to their optimised resource usage. Motivated by the need for tools for developing scalable learning planners, we introduce WLPlan, a C++ package with Python bindings which implements recent promising work for automatically generating relational features of planning tasks. Such features can be used for any downstream routine, such as learning domain control knowledge or probing and understanding planning tasks. More specifically, WLPlan provides functionality for (1) transforming planning tasks into graphs, and (2) embedding planning graphs into feature vectors via graph kernels. The source code and instructions for the installation and usage of WLPlan are available at tinyurl.com/42kymswc

WLPlan: Relational Features for Symbolic Planning

TL;DR

WLPlan is introduced, a C++ package with Python bindings which implements recent promising work for automatically generating relational features of planning tasks and provides functionality for transforming planning tasks into graphs, and embedding planning graphs into feature vectors via graph kernels.

Abstract

Scalable learning for planning research generally involves juggling between different programming languages for handling learning and planning modules effectively. Interpreted languages such as Python are commonly used for learning routines due to their ease of use and the abundance of highly maintained learning libraries they exhibit, while compiled languages such as C++ are used for planning routines due to their optimised resource usage. Motivated by the need for tools for developing scalable learning planners, we introduce WLPlan, a C++ package with Python bindings which implements recent promising work for automatically generating relational features of planning tasks. Such features can be used for any downstream routine, such as learning domain control knowledge or probing and understanding planning tasks. More specifically, WLPlan provides functionality for (1) transforming planning tasks into graphs, and (2) embedding planning graphs into feature vectors via graph kernels. The source code and instructions for the installation and usage of WLPlan are available at tinyurl.com/42kymswc

Paper Structure

This paper contains 40 sections, 1 equation, 4 figures, 2 tables, 5 algorithms.

Figures (4)

  • Figure 1: The core components of the WLPlan package. (Numeric) planning tasks are transformed into graphs, which are then automatically embedded into feature vectors.
  • Figure 2: A typical learning for planning pipeline and corresponding routines. Learning is usually done once, but planning is done many times. The learning module is usually implemented in Python for rapid prototyping and training with common ML libraries. The planning module is usually implemented in C++ for optimised planning. WLPlan routines are highlighted in orange and can be called from both Python and C++. The "embed states" routine used in both modules is illustrated in Figure \ref{['fig:wlplan']}.
  • Figure 3: Left: Visualisations of neighbours (dotted) of the center node or node pair (solid) in the WL, 2-WL, 2-LWL and iWL algorithms. In iWL, the WL algorithm is run $\left| \mathbf{V} \right|$ times, where each time a different node is individualised with a special colour. Right: Expressivity hierarchy of WL algorithms implemented in WLPlan.
  • Figure 4: PCA visualisation of WL embeddings of training states for IPC23LT domains Red/purple on one end of the rainbow scale indicates lower/higher $h^*$ values.

Theorems & Definitions (1)

  • Definition 4.1