Exploiting Symmetry
in Model Expansion
for Predicate and Propositional Logic
Jo Devriendt
Supervisor: Prof. dr. Marc Denecker
22/2/2017
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Research Group
Declarative Languages &
Artificial Intelligence
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Artificial Intelligence
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506806/selfdrivingcar.jpeg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506809/watson.jpeg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506816/google-glass-facial-recognition.jpg)
Question answering
Self-driving cars
Image recognition
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506823/alphago.png)
game playing
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Artificial Intelligence
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506839/human.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
Many problems remain...
"Please translate this poem?"
???
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Artificial Intelligence
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506839/human.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
Many problems remain...
"This is a lie."
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506857/loop.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Artificial Intelligence
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506839/human.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
Many problems remain...
"Do 100 pigeons fit in 99 holes?"
"......calculating......"
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Declarative Languages
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506736/cookbook1-YKjvf8-clipart.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506741/Happy-Birthday-Excellent-HD-wallpaper.jpg)
Imperative programming:
step-by-step instructions
Declarative programming:
description of end result
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506754/cooking_pasta.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Declarative Languages
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506741/Happy-Birthday-Excellent-HD-wallpaper.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506768/ingredients.jpeg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506769/classic-strawberry-shortcake-recipe.jpeg)
Computation
Result
Data
Description
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Declarative Languages
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3370931/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2803044/TooManyPigeons.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3370936/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3508553/floor_planning_problem.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3508619/europe_countries.jpg)
Vehicle routing
Nurse rostering
Planning
Graph coloring
Pigeon allocation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Declarative Languages
Predicate logic
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2803044/TooManyPigeons.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3508619/europe_countries.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
Declarative Languages
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2803044/TooManyPigeons.jpg)
Propositional logic
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3508619/europe_countries.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506714/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506839/human.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
"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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2804396/pigeonhole.png)
??
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2804396/pigeonhole.png)
Combinatorial problems
Pick a satisfying solution from a set of candidate solutions
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2804396/pigeonhole.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2804396/pigeonhole.png)
Permutation on
the set of candidate solutions
preserving satisfaction
Symmetry
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2804396/pigeonhole.png)
Permutation on
the set of candidate solutions
preserving satisfaction
Symmetry
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2804396/pigeonhole.png)
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.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2804396/pigeonhole.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
"......calculating......"
Workaround: make symmetrical solutions "invisible" to computer.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2804396/pigeonhole.png)
Symmetry
Challenges:
- Detect non-trivial symmetry
- Exploit symmetry optimally
Chapter 3
Static Symmetry Breaking in Propositional Logic
Computation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
Result
SAT solvers
Propositional description
Propositional description
Shatter
Computation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
Result
Graph automorphism detection
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2802974/480px-Petersen_graph_3-coloring.svg.png)
Symmetry breaking formulas
Propositional description
BreakID
Computation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
Result
Graph automorphism detection
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2802974/480px-Petersen_graph_3-coloring.svg.png)
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 :)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3519572/shatter.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
Result
SAT solvers
Computation
Propositional description
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
Result
Graph automorphism detection
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2802974/480px-Petersen_graph_3-coloring.svg.png)
BreakID infers symmetry structure
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3373110/breakid-sel.png)
Experimental evaluation
Performs competitive to BreakID
Chapter 5
Symmetry in Predicate Logic
Computation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
Result
Model expansion for predicate logic
Propositional description
Predicate logic description
Computation
Propositional description
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
Result
Symmetry breaking for predicate logic
Symmetry detection and breaking
Predicate logic description
Computation
Propositional description
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506763/computer.png)
Result
Predicate logic description
Local Domain Symmetry
LDS detection
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/2802974/480px-Petersen_graph_3-coloring.svg.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3511858/chessboard.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506857/loop.png)
Experimental evaluation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1846128/Screenshot_from_2015-10-18_22_54_24.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3516602/holes.png)
Chapter 6
Automated Local Search via Symmetry*
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
*No longer about pigeons...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
Solutions have a preference value
Local Search
Alternative to complete solvers
Local Search
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
Applying transformation
==
performing a move
Alternative to complete solvers
Transform solutions to maximize value
Writing local search algorithms is hard work
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3511949/monk.jpg)
Problem: how to construct good moves?
- Information is present in specification
- Automatization should be possible
New idea
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
moves are symmetry applications
We can detect symmetry automatically
Our work
- Use (quasi)symmetry to perform moves
- Combine with complete search
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1846128/Screenshot_from_2015-10-18_22_54_24.png)
Experimental evaluation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3373464/knapsack.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1846128/Screenshot_from_2015-10-18_22_54_24.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506839/human.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
"Do 100 pigeons fit in 99 holes?"
"......calculating......"
Conclusion
Conclusion
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/1450114/ls.jpg)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506839/human.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
"Do 100 pigeons fit in 99 holes?"
"Of course not!"
Thanks for your attention
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506839/human.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/336806/images/3506845/cylon.jpg)
"Do 100 pigeons fit in 99 holes?"
"Of course not!"
"Beep. Death to all humans."
PublicDefense
By krr
PublicDefense
- 1,460