Satplan (better known as Planning as Satisfiability) is a method for automated planning. [1] [2] It converts the planning problem instance into an instance of the Boolean satisfiability problem (SAT), which is then solved using a method for establishing satisfiability such as the DPLL algorithm or WalkSAT.
The process encodes key elements of the planning problem—initial state, available actions, goal state, and a maximum plan length (horizon length)—into a logical formula. This formula is satisfiable if and only if a valid sequence of actions exists that transforms the initial state into the goal state within the given horizon. This concept is similar to Cook's theorem, where Turing machine computations are represented as SAT formulas. [3]
To find a plan, Satplan iteratively tests formulas with increasing horizon lengths. It starts with a horizon length of 0 (no actions) and incrementally increases it (1, 2, 3, etc.). For each horizon, a corresponding SAT formula is generated and checked by a SAT solver. If satisfiable, the solver’s output reveals the action sequence. If unsatisfiable, the process continues until a valid plan is found. While this simple approach can be inefficient, more advanced search strategies can improve performance, but the fundamental idea remains the same: reducing planning to satisfiability. [4]