Symmetry-breaking Answer Set Solving
In the context of Answer Set Programming, this paper investigates symmetry-breaking to eliminate symmetric parts of the search space and, thereby, simplify the solution process. We propose a reduction of disjunctive logic programs to a coloured digraph such that permutational symmetries can be constructed from graph automorphisms. Symmetries are then broken by introducing symmetry-breaking constraints. For this purpose, we formulate a preprocessor that integrates a graph automorphism system. Experiments demonstrate its computational impact.
💡 Research Summary
The paper addresses a well‑known bottleneck in Answer Set Programming (ASP): many combinatorial problems exhibit large groups of symmetries that cause solvers to waste effort exploring equivalent sub‑spaces. The authors propose a two‑stage approach—symmetry detection followed by symmetry breaking—implemented as a preprocessing step that can be attached to any ASP system.
For detection, a disjunctive logic program is transformed into a coloured directed graph, called the body‑atom graph. Each atom is represented by two vertices (positive and negative literals) coloured differently, while each rule body becomes a third‑colour vertex. Edges encode the occurrence of literals in heads and bodies, and consistency edges link each positive literal vertex to its negative counterpart. This construction guarantees that any graph automorphism respects the logical structure, so the automorphism group of the graph is isomorphic to the symmetry group of the program. Existing graph‑automorphism tools such as saucy or nauty are then used to compute a set of generators for this group.
Once generators are available, the paper builds symmetry‑breaking constraints (SBCs) that enforce a lexicographic leader for each orbit. Instead of naïvely encoding a full permutation constraint for every generator, the authors exploit two optimisations: (1) they restrict the constraint to the support of the permutation (atoms actually moved) and (2) they omit the lexicographically largest atom in each cycle, because its inequality is implied. The resulting constraints are linear in the number of atoms, and can be added directly to the original ASP program. The framework also supports partial symmetry breaking, allowing the user to trade completeness for smaller constraint sets.
Implementation details are described: the preprocessor reads a (possibly disjunctive) ASP program, builds the coloured graph, calls the external automorphism engine, extracts generators, and emits the SBCs in ASP syntax. The authors evaluate the approach on several benchmark families with pronounced symmetry, including the Pigeon‑Hole problem, the All‑Interval Series (a classic CSPLib instance), graph‑coloring, and a bio‑informatics case study. Across all tests, the preprocessing step yields substantial reductions in solving time—average speed‑ups of 30‑70 % and, in the hardest instances, enables solving where the plain solver times out. Node counts in the search tree shrink accordingly, confirming that the search space is effectively pruned.
In conclusion, the work demonstrates that reducing ASP symmetry detection to a graph‑automorphism problem, combined with compact linear‑size SBCs, provides a practical and solver‑agnostic method for accelerating ASP solving. The authors suggest future directions such as dynamic symmetry detection during solving and more sophisticated partial‑breaking strategies to further improve scalability.
Comments & Academic Discussion
Loading comments...
Leave a Comment