Jo Devriendt
jodevriendt.com
Acknowledgment:
MIAO group headed by Jakob Nordström
slides: slides.com/jod/proofsearch
Search constructs a solution by trial and error
In the classic view, one uses a completeness argument:
all possible solutions have been investigated by the search tree
x=1
y=1
z=1
z=0
x=1
y=1
y=0
z=1
z=0
z=0
x=0
x=1
x=0
y=1
y=0
y=1
y=0
z=1
z=0
z=0
x=0
Combinatorial solvers also construct a (partial) proof during search
x=1
y=1
z=1
z=0
Resolution:
Resolution:
y=0
z=0
x=1
x=0
Unit propagation
Unit propagation
Conflict?
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Learn constraint
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unit propagation
Conflict?
Decide unassigned variable
yes
no
Backjump
Learn constraint
Unsatisfiable!
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
here be dragons
Learn constraint
here be dragons
Conflict analysis according to [EN18]
"RoundToOne" method
So far:
Any resolution proof can be converted into a cutting planes proof with polynomial overhead
Resolution:
Simple cardinality case:
Simple cardinality case:
Sum up each forall
Add together
Complex clausal case:
Simple cardinality case:
gitlab.com/miao_research/roundingsat
By Romain Wallon (CRIL, Univ Artois & CNRS)
instances taken from [PBCOMP]
[LBDEN20]
[SDNS20]
[P04]
[H85] The intractibility of resolution - Haken
[CCT87] On the complexity of cutting-plane proofs - Cook, Coullard, Turán
[MS96] GRASP - a new search algorithm for satisfiability - Marques-Silva, Sakallah
[BS97] Using CSP lookback techniques to solve real-world SAT instances - Bayardo, Schrag
[MMZZM01] Chaff: Engineering an efficient SAT solver - Moskewicz, Madigan, Zhao, Zhang, Malik
[P04] Where are the hard knapsack problems? - Pisinger
[CK05] A fast pseudo-Boolean constraint solver - Chai, Kuehlmann
[SS06] Pueblo: A hybrid pseudo-Boolean SAT solver - Sheini, Sakallah
[LP10] The Sat4j library, release 2.2 - Le Berre, Parrain
[EN18] Divide and conquer: Towards faster pseudo-boolean solving - Elffers, Nordström
[EGNV18] Using Combinatorial Benchmarks to Probe the Reasoning Power of pseudo-Boolean Solvers - Elffers, Giráldez-Cru, Nordström, Vinyals
[D20] Watched Propagation for 0-1 Integer Linear Constraints - Devriendt
[DGN20] Learn to Relax: Integrating 0-1 Integer Linear Programming with Pseudo-Boolean Conflict-Driven Search - Devriendt, Gleixner, Nordström
[EGMN20] Justifying All Differences Using Pseudo-Boolean Reasoning - Elffers, Gocht, McCreesh, Nordström
[SDNS20] Theoretical and Experimental Results for Planning with Learned Binarized NeuralNetwork Transition Models - Say, Devriendt, Nordström, Stuckey
[LBDEN20] Verifying Properties of Bit-vector Multiplication Using Cutting Planes Reasoning - Liew, Beame, Devriendt, Elffers, Nordström
[ZIB] SoPlex - soplex.zib.de
[PBCOMP] Latest PB competition - www.cril.univ-artois.fr/PB16/