Efficient MUS Extraction with Resolution - PowerPoint PPT Presentation

About This Presentation
Title:

Efficient MUS Extraction with Resolution

Description:

Minimal Unsatisfiable Set Efficient MUS Extraction with Resolution Alexander Nadel Intel, Haifa Vadim Ryvchin Intel + Technion, Haifa Ofer Strichman Technion, Haifa – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 16
Provided by: technion
Category:

less

Transcript and Presenter's Notes

Title: Efficient MUS Extraction with Resolution


1
Efficient MUS Extraction with Resolution
Minimal Unsatisfiable Set
  • Alexander Nadel Intel, Haifa
  • Vadim Ryvchin Intel Technion, Haifa
  • Ofer Strichman Technion, Haifa

2
Minimal Unsatisfiable Set (MUS)
  • Given an unsatisfiable CNF ?, find a minimal
    (irreducible) set of clauses à µ ? such that à is
    unsatisfiable.
  • Two main schools of finding cores
  • Assumptions-based (Een Sorensson, 2003)
  • Resolution-based (Zhang et al. 2003)

3
Deletion-based minimization
Initially Roots are unmarked
? Roots
Return Roots
All marked
Choose unmarked clause c 2 Roots
Remove(?, c)
SAT(?) ?
no
yes
mark c
Roots core
Works for both assumptions-based and
resolution-based
4
Derived clauses are also marked
Optimization 1
?
  • Maintain partial resolution proofs
  • Only part of proof emanating from unmarked clauses

5
Derived clauses are also marked
Optimization 2
?
m
m
m
m
m
m
  • Postpone propagation of unmarked clauses
  • These pull unmarked clauses into the proof

6
Derived clauses are also marked
Optimizations 3,4
?
m
m
m
m
m
m
and two other optimizations we used for group
MUS RS12
7
Model Rotation
  • Belov, A., Marques-Silva, J. Accelerating MUS
    extraction with recursive model rotation. In
    FMCAD11. (2011)

? Roots
Return Roots
All marked
Choose unmarked clause c 2 Roots
Remove(?, c)
Rotation mark more clauses
SAT(?) ?
no
yes
mark c
Roots core
8
Model Rotation
  • ? is unsat, but ² ?/c
  • l à l for some l 2 c
  • if (UnsatSet(?, ) c Æ c is unmarked) then
  • Mark c
  • Apply recursively with (?, c, )

Searching for other clauses that can be marked
9
Model Rotation, eager
Optimization 5
  • ? is unsat, but ² ?/c
  • l à l for some l 2 c
  • if (UnsatSet(?, ) c Æ c is unmarked) then
  • Mark c
  • Apply recursively with (?, c, )

in the current call
New assignment ) new starting point for the search
10
The impact of E-rotation
Optimization 5
11
Redundancy removal BS11
Optimization 6
  • S is unsat ) (SAT(S / c) , SAT((S / c) Æ c)
  • Hence, add c literals as assumptions.
  • This is implemented already in MUSer-2 BS11.
  • Our improvement (path falsification)
  • Add c, c1, cn literals as assumptions.

12
Path falsification
Optimization 6
  • Vertex cut separates ? from the roots
  • Implies whats on its left
  • ) must be unsat

?
c
13
Path falsification
SAT(C/c)
Optimization 6
  • Consider , ² Roots / c
  • cannot satisfy a cut )
  • ² (c Æ c1 Æ c2) Ç (c Æ c1 Æ c3)
  • ) ² c Æ c1

?
c2
c1
c
c3
14
Results
295 benchmarks of the 2011 MUS competition
15
HaifaMUC vs. Minisatbb
Minisatbb
HaifaMUC
Lagniez, Biere, SAT13
16
Heuristics, Heuristics,
  • Other heuristics
  • Selective Clause minimization
  • Refrain from marking derived clauses
  • Reclassify derived unmarked clauses
  • Based on similar techniques for the Group MUS
    problem in RS - SAT11.

17
Model Rotation BS11
  • Precondition ? is unsat, ² ?/c
  • Rotate(formula S, clause c, assignment )
  • for all x 2 Var(c) do
  • x à x // swap assignment of x
  • if (UnsatSet(S, ) c Æ c is unmarked)
    then
  • Mark c
  • Rotate (S, c, )

18
Two main schools of finding cores
  • Assumptions-based
  • Assumptions clause selectors
  • Resolution-based
  • Recreate the resolution proof
  • Core roots
Write a Comment
User Comments (0)
About PowerShow.com