π€ AI Summary
This work establishes weighted model enumeration (WME) as a native reasoning task at the solver level, aiming to efficiently enumerate satisfying assignments of Boolean formulas according to their weightsβsuch as top-k or those exceeding a given threshold. To this end, it introduces two complementary extensions of conflict-driven clause learning (CDCL): one integrated within a chronological backtracking framework and the other within a non-chronological backtracking architecture. Both incorporate weight propagation, weight-aware pruning, conflict analysis, and blocking mechanisms. The study reveals a trade-off between backtracking strategies and pruning efficiency, and experimental results demonstrate that each approach excels in distinct scenarios. Together, they yield a WME system that achieves low memory consumption and highly efficient propagation.
π Abstract
In this work we investigate Weighted Model Enumeration (WME): given a Boolean formula and a weight function over its satisfying assignments, enumerate models while accounting for their weights. This setting supports weight-driven queries, such as producing the top-k models or all models above a threshold. While related to AllSAT, Weighted Model Counting, and MaxSAT, these paradigms do not treat selective enumeration under weights as a native solver task. We present CDCL-based algorithms for WME that integrate weight propagation, weight-based pruning, and weight-aware conflict analysis into both chronological and non-chronological backtracking frameworks. Chronological backtracking exploits implicit blocking and keeps the clause database compact, thereby reducing memory footprint and enabling efficient propagation. In contrast, non-chronological backtracking with clause learning supports explicit blocking and restarts. We show that both approaches are feasible and complementary, highlighting trade-offs in pruning effectiveness with weights and clarifying when each performs best. This work establishes WME as a solver-level reasoning task and provides a systematic exploration of its algorithmic foundations.