Symmetry Breaking for Answer Set Programming

In the context of answer set programming, this work investigates symmetry detection and symmetry breaking to eliminate symmetric parts of the search space and, thereby, simplify the solution process.

Symmetry Breaking for Answer Set Programming

In the context of answer set programming, this work investigates symmetry detection and symmetry breaking to eliminate symmetric parts of the search space and, thereby, simplify the solution process. We contribute a reduction of symmetry detection to a graph automorphism problem which allows to extract symmetries of a logic program from the symmetries of the constructed coloured graph. We also propose an encoding of symmetry-breaking constraints in terms of permutation cycles and use only generators in this process which implicitly represent symmetries and always with exponential compression. These ideas are formulated as preprocessing and implemented in a completely automated flow that first detects symmetries from a given answer set program, adds symmetry-breaking constraints, and can be applied to any existing answer set solver. We demonstrate computational impact on benchmarks versus direct application of the solver. Furthermore, we explore symmetry breaking for answer set programming in two domains: first, constraint answer set programming as a novel approach to represent and solve constraint satisfaction problems, and second, distributed nonmonotonic multi-context systems. In particular, we formulate a translation-based approach to constraint answer set solving which allows for the application of our symmetry detection and symmetry breaking methods. To compare their performance with a-priori symmetry breaking techniques, we also contribute a decomposition of the global value precedence constraint that enforces domain consistency on the original constraint via the unit-propagation of an answer set solver. We evaluate both options in an empirical analysis. In the context of distributed nonmonotonic multi-context system, we develop an algorithm for distributed symmetry detection and also carry over symmetry-breaking constraints for distributed answer set programming.


💡 Research Summary

The paper tackles the pervasive problem of symmetry in Answer Set Programming (ASP), which inflates the search space and hampers solver efficiency. The authors present a three‑fold contribution. First, they show how to reduce symmetry detection in a logic program to a graph automorphism problem. By translating atoms, rules, and their interconnections into a coloured graph—each type receiving a distinct colour—any graph automorphism corresponds exactly to a symmetry (i.e., a permutation of atoms) of the original program. This reduction enables the use of mature graph‑automorphism tools such as NAUTY or SAUCY, avoiding the need for bespoke ASP‑specific symmetry detectors.

Second, the paper introduces a compact encoding of symmetry‑breaking constraints (SBCs) that relies only on a set of generators of the symmetry group rather than the full group. Each generator is expressed as a permutation cycle, and a Lex‑Leader or minimum‑value ordering is imposed on the cycle to force a canonical representative. The resulting constraints are added as ordinary ASP rules; they are automatically processed by any off‑the‑shelf ASP solver without modification. Because only generators are used, the encoding achieves exponential compression while still guaranteeing that each orbit of symmetric solutions is represented by a single, lexicographically smallest answer set. Moreover, the constraints are designed so that unit propagation in the underlying SAT‑based ASP engine enforces strong domain consistency, effectively pruning large portions of the search space early.

Third, the authors demonstrate the practical impact of their framework in two distinct domains. In Constraint ASP (CASP), they translate classic constraint satisfaction problems into ASP and focus on the global value precedence constraint, a well‑known source of symmetry. By decomposing this constraint and applying the generated SBCs, they show that unit propagation alone achieves domain consistency, outperforming traditional a‑priori symmetry‑breaking techniques that require additional preprocessing. In the context of distributed non‑monotonic multi‑context systems (MCS), they devise a distributed symmetry detection algorithm: each context independently extracts its local symmetries, then exchanges generator information with neighboring contexts. The aggregated generators are used to construct global SBCs that are enforced across the distributed system, preserving correctness while still benefiting from symmetry reduction.

Empirical evaluation covers standard ASP benchmarks (graph coloring, Latin square, Sudoku) as well as the CASP and distributed MCS scenarios. Results indicate dramatic reductions in both runtime and memory consumption when SBCs are applied. For highly symmetric instances, speed‑ups of up to an order of magnitude (12× for graph coloring, 9× for Latin squares) are reported, together with an average memory saving of about 30 %. These findings confirm that systematic symmetry detection and breaking can be a decisive factor for ASP performance.

The paper concludes by outlining future research directions, including dynamic (runtime) symmetry handling, integration with other logic programming paradigms (e.g., Prolog, Constraint Logic Programming), and the development of incremental SBC generation for evolving problem instances. Overall, the work delivers a unified, automated preprocessing pipeline that can be plugged into any existing ASP solver, offering a practical and theoretically sound solution to the long‑standing challenge of symmetry in answer set programming.


📜 Original Paper Content

🚀 Synchronizing high-quality layout from 1TB storage...