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 blow-up of search space.
This blow-up is a fundamental problem of current combinatorial search technology and must be addressed.
Symmetry "handling"
- Detect non-trivial 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
- State-of-the-art: 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,367