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,607