Exploiting Symmetry
in Model Expansion
for Predicate and Propositional Logic
Jo Devriendt
Supervisor: Marc Denecker
January 5th 2017

Motivation

Chapter 3

Chapter 4

Chapter 5
 Chapter 6
Structure of talk
Motivation
Automatization of solving combinatorial problems
Combinatorial problems
Pick a satisfying solution from a set of candidate solutions
Automated systems
In:
 description of candidate solutions (simple)
 description of satisfying solutions (complex)
Out:
 satisfying solution
Combinatorial problems
Abstraction in thesis:
model expansion problem
in predicate and propositional logic
In:
 vocabulary + domain
 theory + input structure
Out:
 model to theory
Pick a satisfying solution from a set of candidate solutions
Symmetry
Permutation on the set of candidate solutions
preserving satisfaction
Symmetry
Partitions candidate solutions into symmetry classes
Potential exponential blowup of search space.
This blowup is a fundamental problem of current combinatorial search technology and must be addressed.
Symmetry "handling"
 Detect nontrivial symmetry group
 Guide combinatorial search algorithm to visit each symmetry class instead of each candidate solution.
Chapter 3
Symmetry in Propositional Logic
Existing work (Shatter, Sbass)
 Convert propositional theory to graph
 Detect generators for graph automorphism group
 Convert automorphism generators to symmetry generators
 Add symmetry breaking formula to theory for each generator
 Solve extended problem
Our work (BreakID)
 Convert propositional theory to graph  improved graph encoding for ground ASP theory
 Detect generators for graph automorphism group
 Convert automorphism generators to symmetry generators

Infer properties of symmetry group
 row interchangeability
 stabilizer chain
 Add symmetry breaking formula to theory for each generator, as well as for row interchangeability
 Add binary symmetry breaking clauses based on stabilizer chain
 Solve extended problem
Experimental evaluation
Performs well on Pigeonhole :)
Chapter 4
Symmetry in Predicate Logic
Existing work
 Derive symmetry due to undifferentiated domain elements
 Construct propositional symmetry breaking formulas
(Kodkod, Paradox)
 Ground to propositional theory
 Use propositional symmetry detection (automorphism graph)
 Construct propositional symmetry breaking formulas
(Sbass)
Our work
 local domain symmetry and local domain interchangeability
 Automorphism graph encoding of predicate level theory + structure
 Efficient local domain interchangeability detection method
 Often makes graph encoding redundant
 Completeness result for local domain interchangeability
 Implementation in IDP
Experimental evaluation
Chapter 5
Automated Local Search via Symmetry
Combinatorial Optimization
Satisfying solutions have an associated objective function.
Local Search
Move locally through solution space optimizing the objective function.
Automating Local Search?
Existing work
 Stateoftheart: handcrafted algorithms
 WalkSat: flips a Boolean variable at each iteration
 LocalSolver: constructs ejection chains of Boolean variables that tend to preserve feasibility
Our work
 Use (quasi)symmetry properties of combinatorial optimization problem to construct neighborhoods
 Combine with complete search
Experimental evaluation
Chapter 6
Symmetry Propagation
Conflict Learning Conflict Driven SAT solving
 Search algorithm with decisions, propagations, conflicts and backjumps
 Proof builder based on conflicts: learns new clauses that are resolvents of propagating clauses
Dynamic Symmetry Handling in SAT
Existing work
Symmetrical Learning Scheme: learn symmetrical variants of learned clause
Good idea, but what symmetrical variants to learn?
Idea 1: Symmetry Propagation
Our work
 Weak activity for symmetries
 Allow symmetrical propagations
 With symmetrical reason clauses
Weakly inactive symmetries also lead to useful symmetrical propagations!
Idea 2: Symmetric Explanation Learning
Our work
 For each propagating clause , keep track of symmetrical
 If is unit or conflicting, learn
Simple and elegant.
Experimental evaluation
Summary
Thanks for your attention!
New symmetry breaking preprocessor for SAT and ground ASP
Useful predicate level notion of symmetry
Automated local search through symmetry
Efficient variant of symmetric learning
On Symmetry
By krr
On Symmetry
 1,061