Abstract: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.
Abstract:In competitive environments, commonly agents try to prevent opponents from achieving their goals. Most previous preventing approaches assume the opponent's goal is known a priori. Others only start executing actions once the opponent's goal has been inferred. In this work we introduce a novel domain-independent algorithm called Anticipatory Counterplanning. It combines inference of opponent's goals with computation of planning centroids to yield proactive counter strategies in problems where the opponent's goal is unknown. Experimental results show how this novel technique outperforms reactive counterplanning, increasing the chances of stopping the opponent from achieving its goals.