CDCL with Less Destructive Backtracking through Partial Ordering Anthony Monnet, Roger Villemaire Université du Québec à Montréal Montreal, Quebec, Canada anthonymonnet@aol.fr, villemaire.roger@uqam.ca Abstract Conflict-driven clause learning is currently the most efficient complete algorithm for satisfiability solving. However, a conflict-directed backtrack deletes potentially large por- tions of the current assignment that have no direct relation with the conflict. In this paper, we show that the CDCL algorithm can be generalized with a partial ordering on decision levels. This allows keeping levels that would otherwise be undone during backtracking under the usual total ordering. We implement partial ordering CDCL in a state-of-the-art CDCL solver and show that it significantly ameliorates satisfiability solving on some series of benchmarks. 1 Introduction Conflict-driven clause learning (CDCL) [15] is a very efficient algorithm for solving the proposi- tional satisfiability problem, currently used in virtually all complete state-of-the-art SAT solvers. For each conflict, it deduces a new clause that will allow an early detection of future similar conflicts, thus helping to prune the search space. It also performs a conflict-directed backtrack- ing, which may undo several decision levels at once in order to return faster to the cause of the conflict and propagate this new learnt clause as early as possible in the search tree. Despite this approach was proved very effective, each conflict-directed backtrack deletes a possibly large amount of instantiations that have no direct connection with the detected conflict. Indeed, by definition, none of the deleted levels contains any variable from the conflict, except for the conflict level itself. In the worst case, these levels could even belong to a distinct connected component of the problem, meaning that they can’t be affected by the conflict and the resulting assertion, even indirectly. This results in a partial loss of previous search work, which may delay the discovery of a model or of another conflict. CDCL may have to rebuild this part of the search and reprocess all propagations. Given that propagations are the most time- consuming task of SAT solving, it is natural to try avoiding the destruction of instantiations that are still consistent with the current state. Several methods have been conceived to tackle this issue and minimize the amount of unrelated instantiations that are deleted, for instance tree decompositions [11, 4, 13, 6, 17] and phase saving [20]. In this paper, we propose a novel variation of the CDCL algorithm that detects instan- tiations that would be undone by the regular algorithm but can be safely retained. This is achieved by relaxing the ordering between decision levels. Indeed, with the usual total order, conflict-directed backtracking must delete all levels above the assertion level in order to return to that level and propagate the conflict clause. We show that this total ordering is not required to maintain essential properties of the algorithm, and that a partial ordering reflecting depen- dencies between decision levels can be used instead. As a consequence, instantiations are only deleted by the conflict-directed backtracking if they actually interfere with the conflict reso- lution. Partial order backtracking [8, 16, 5] has previously been described for the Constraint 124 P. Fontaine, R.A. Schmidt, S. Schulz (eds.), PAAR-2012 (EPiC Series, vol. 123), pp. 124–138