AIJun 29, 2022

Representation and Synthesis of C++ Programs for Generalized Planning

arXiv:2206.14480v12 citationsh-index: 8
Originality Incremental advance
AI Analysis

This work addresses the challenge of scalable and verifiable generalized planning for AI systems, though it appears incremental by building on compiler-styled program representations.

The paper tackles the problem of representing and synthesizing generalized planning solutions as C++ programs, enabling formal termination proofs and asymptotic complexity analysis. It introduces BFGP++, which outperforms previous heuristic search methods and allows validation on large instances with thousands of objects where classical planners fail.

The paper introduces a novel representation for Generalized Planning (GP) problems, and their solutions, as C++ programs. Our C++ representation allows to formally proving the termination of generalized plans, and to specifying their asymptotic complexity w.r.t. the number of world objects. Characterizing the complexity of C++ generalized plans enables the application of a combinatorial search that enumerates the space of possible GP solutions in order of complexity. Experimental results show that our implementation of this approach, which we call BFGP++, outperforms the previous GP as heuristic search approach for the computation of generalized plans represented as compiler-styled programs. Last but not least, the execution of a C++ program on a classical planning instance is a deterministic grounding-free and search-free process, so our C++ representation allows us to automatically validate the computed solutions on large test instances of thousands of objects, where off-the-shelf classical planners get stuck either in the pre-processing or in the search.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes