Exploiting Symmetry
in Model Expansion
for Predicate and Propositional Logic
Jo Devriendt
Supervisor: Prof. dr. Marc Denecker
22/2/2017
Research Group
Declarative Languages &
Artificial Intelligence
Artificial Intelligence
Question answering
Self-driving cars
Image recognition
game playing
Artificial Intelligence
Many problems remain...
"Please translate this poem?"
???
Artificial Intelligence
Many problems remain...
"This is a lie."
Artificial Intelligence
Many problems remain...
"Do 100 pigeons fit in 99 holes?"
"......calculating......"
Declarative Languages
Imperative programming:
step-by-step instructions
Declarative programming:
description of end result
Declarative Languages
Computation
Result
Data
Description
Declarative Languages
Vehicle routing
Nurse rostering
Planning
Graph coloring
Pigeon allocation
Declarative Languages
Predicate logic
Declarative Languages
Propositional logic
"Do 100 pigeons fit in 99 holes?"
"......calculating......"
-
Computer keeps trying different assignments of pigeons to holes
-
However, individual pigeons are interchangeable
key property: Symmetry
Exploiting Symmetry
in Model Expansion
for Predicate and Propositional Logic
Jo Devriendt
Supervisor: Prof. dr. Marc Denecker
22/2/2017
Or: how to put pigeons in holes
??
Overview
- Introduction (Chapter 1 & 2)
- Symmetry in Propositional Logic (Chapter 3)
- Symmetric Propagation and Learning (Chapter 4)
- Symmetry in Predicate Logic (Chapter 5)
- Automated Local Search through Symmetry (Chapter 6)
- Conclusion
Combinatorial problems
Pick a satisfying solution from a set of candidate solutions
Combinatorial problems
Pick a satisfying solution from a set of candidate solutions
Permutation on
the set of candidate solutions
preserving satisfaction
Symmetry
Permutation on
the set of candidate solutions
preserving satisfaction
Symmetry
Permutation on
the set of candidate solutions
preserving satisfaction
Symmetry
Symmetry
Partitions candidate solutions into symmetry classes
Symmetry classes can be huge: 100! = ~157 digits
Potential blow-up of search space.
"......calculating......"
Workaround: make symmetrical solutions "invisible" to computer.
Symmetry
Challenges:
- Detect non-trivial symmetry
- Exploit symmetry optimally
Chapter 3
Static Symmetry Breaking in Propositional Logic
Computation
Result
SAT solvers
Propositional description
Propositional description
Shatter
Computation
Result
Graph automorphism detection
Symmetry breaking formulas
Propositional description
BreakID
Computation
Result
Graph automorphism detection
Symmetry structure
Strong symmetry breaking formulas
BreakID
Strong symmetry breaking formulas
Symmetry structure
Inferred structural properties:
- Row interchangeability
- Stabilizer subgroups
Drawback:
- Approximative
Experimental evaluation
Also performs well on pigeonhole and graph coloring :)
Real life evaluation
- Independent test of BreakID at the French National Office of Aerospace Research
- "Critical systems [...] made of lots of redundant components for enhanced safety"
-
"solving times can be halved in the best cases"
Chapter 4
Symmetrical Propagation and Learning
Computation
Propositional description
Result
SAT solvers
Computation
Propositional description
Result
SAT solvers
Search
Proof
Proof systems
- Resolution has exponential length for pigeonhole [54]
- Similar for stronger cutting plane proof system and clique coloring [20]
Derived formulas
Inconsistency
Initial formulas
Proof systems: symmetry rule
Symmetrical formulas
- Resolution with symmetry has polynomial length for pigeonhole
- Try to learn this proof during search
- Crucial restriction:
Only add formulas symmetrical to propagating formulas
Propositional description
BreakID and Symmetric Explanation Learning
Computation with SEL
Result
Graph automorphism detection
BreakID infers symmetry structure
Experimental evaluation
Performs competitive to BreakID
Chapter 5
Symmetry in Predicate Logic
Computation
Result
Model expansion for predicate logic
Propositional description
Predicate logic description
Computation
Propositional description
Result
Symmetry breaking for predicate logic
Symmetry detection and breaking
Predicate logic description
Computation
Propositional description
Result
Predicate logic description
Local Domain Symmetry
LDS detection
Strong symmetry breaking formulas
Advantages
- More structure in local domain symmetry group
- Efficient detection
- Often without graph encoding
- Complete symmetry breaking for local domain interchangeability
Disadvantage
- Some forms of symmetry not captured
Experimental evaluation
Chapter 6
Automated Local Search via Symmetry*
*No longer about pigeons...
Solutions have a preference value
Local Search
Alternative to complete solvers
Local Search
Applying transformation
==
performing a move
Alternative to complete solvers
Transform solutions to maximize value
Writing local search algorithms is hard work
Problem: how to construct good moves?
- Information is present in specification
- Automatization should be possible
New idea
moves are symmetry applications
We can detect symmetry automatically
Our work
- Use (quasi)symmetry to perform moves
- Combine with complete search
Experimental evaluation
BreakID: new symmetry breaking preprocessor for propositional logic
SEL: successful symmetric learning scheme
LDS: useful notion of symmetry on predicate level
Link between symmetry and local search
"Do 100 pigeons fit in 99 holes?"
"......calculating......"
Conclusion
Conclusion
BreakID: new symmetry breaking preprocessor for propositional logic
SEL: successful symmetric learning scheme
LDS: useful notion of symmetry on predicate level
Link between symmetry and local search
"Do 100 pigeons fit in 99 holes?"
"Of course not!"
Thanks for your attention
"Do 100 pigeons fit in 99 holes?"
"Of course not!"
"Beep. Death to all humans."
PublicDefense
By krr
PublicDefense
- 1,515