Jo Devriendt, Bart Bogaerts,
Maurice Bruynooghe, Marc Denecker
University of Leuven / Aalto University
State-of-the-art static symmetry breaking for SAT ported to ASP
ASP program in standard form (Lparse-Smodels)
Ground ASP program
Ground ASP program + symmetry breakers
Ground ASP program as a colored graph
Grounding
"Graphing"
Automorphism detection + symmetry breaking formula construction
Graph encoding of standard rule :
Graph encoding of literal :
Graph encoding of integer :
Graph encoding of weight rule :
Difference with SBASS (alternative ASP symmetry breaker)
Hypothesis: Saucy only supports undirected edges
Motivating example for BreakID: pigeonhole problem
Only 2 more instances solved?
Let's try Shatter on the pigeonhole problem...
Only 2 more instances solved?
In general, Σ lacks information on structure of group <Σ>
Occupies(p1,h1) | Occupies(p1,h2) | Occupies(p1,h3) |
Occupies(p2,h1) | Occupies(p2,h2) | Occupies(p2,h3) |
Occupies(p3,h1) | Occupies(p3,h2) | Occupies(p3,h3) |
Occupies(p4,h1) | Occupies(p4,h2) | Occupies(p4,h3) |
Variable rows for 4 pigeons, 3 holes:
Symmetry due to interchangeable pigeons completely broken by
sbf(swap(p_{1},p_{2})) ∧ sbf(swap(p_{2},p_{3})) ∧ sbf(swap(p_{3},p_{4}))
Let's try BreakID on the pigeonhole problem,
while detecting row interchangeability
BreakID derives binary symmetry breaking clauses
based on chains of stabilizer subgroups
Occupies(p1,h1) | Occupies(p1,h2) | Occupies(p1,h3) |
Occupies(p2,h1) | Occupies(p2,h2) | Occupies(p2,h3) |
Occupies(p3,h1) | Occupies(p3,h2) | Occupies(p3,h3) |
Occupies(p4,h1) | Occupies(p4,h2) | Occupies(p4,h3) |
Occupies(p_{1} ,h_{1}) < Occupies(p_{2 },h_{1}) < Occupies(p_{3 },h_{1}) < Occupies(p_{4} ,h_{1}) < ...
Stabilizer chain for pigeon symmetry consists of 4 subgroups
G_{0} permutes rows 1-2-3-4,
G_{1} permutes rows 2-3-4,
G_{2} swaps rows 3-4,
G_{3}=1
Binary symmetry breaking clauses:
¬Occupies(p_{1 },h_{1}) v Occupies(p_{2} ,h_{1})
...
¬Occupies(p_{3 },h_{1}) v Occupies(p_{4 },h_{1})
BreakID's small optimizations compared to Shatter / Sbass
1000s timeout
50 000s timeout
ASP program in standard form (Lparse-Smodels)
Ground ASP program
Ground ASP program + symmetry breakers
Ground ASP program as a colored graph
Grounding
"Graphing"
Automorphism detection + symmetry breaking formula construction
Predicate level symmetry detection
Symmetry handling during search
1000s timeout
[0] Improved Static Symmetry Breaking for SAT - 2016 - Devriendt et al.
[1] Symmetry and Satisfiability: An Update - 2010 - Katebi et al.
[2] Efficient Symmetry-Breaking for Boolean Satisfiability - 2006 - Aloul et al.
[3] On the importance of row symmetry - 2014 - Devriendt et al.
[4] Automatic generation of constraints for partial symmetry breaking - 2011 - Jefferson & Petrie
[5] Symmetry and satisfiability - 2009 - Sakallah
[6] On Local Domain Symmetry for Model Expansion - 2016 - Devriendt et al. (presentation Friday)
[7] Symmetry-breaking Answer Set Solving - 2011 - Drescher et al.