boundary point elimination a path to structure aware sat solvers n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Boundary Point Elimination: A Path to Structure Aware SAT-solvers PowerPoint Presentation
Download Presentation
Boundary Point Elimination: A Path to Structure Aware SAT-solvers

Loading in 2 Seconds...

play fullscreen
1 / 35
calder

Boundary Point Elimination: A Path to Structure Aware SAT-solvers - PowerPoint PPT Presentation

102 Views
Download Presentation
Boundary Point Elimination: A Path to Structure Aware SAT-solvers
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Boundary Point Elimination: A Path to Structure Aware SAT-solvers Eugene Goldberg Northeastern University, USA Algorithms and Applications for Next Generation SAT-solvers Dagstuhl, Germany 2009 Funded in part by SRC

  2. Outline • Introduction • Boundary Points and Resolution • IBP-SAT (SAT-solving with Interpolation by Boundary Point elimination) • Experimental Results • IBP-SAT and SAT-solvers with conflict clause learning • Conclusions

  3. A Flaw of Modern SAT-Solvers Considerable progress has been achieved in using some types of structural information (e.g. certain types of symmetry) by SAT-solvers. However, they are still not very receptive to many kinds of structural information (like high-level structure of the formula). Modern SAT-solvers can achieve a much greater degree of scalability by making full use of the available structural information.

  4. Can a SAT-solver Be Scalable? • Most likely NP ≠ P. Can a SAT-solver be scalable? • NP ≠ P just means that there can not exist an effi-cient black box SAT-solver. • Providing SAT-solvers with additional information(e.g. high-level structure and symmetry ) can make them scalable.

  5. A Flaw of Conflict Driven Resolution Aflaw of the DPLL procedure and its derivatives: An individual resolution operation enters a proof only in a “package” (a set of resolutions describing a conflict). A resolution proof of a DPLL-like procedure already has a conflict induced structure ( ≠ formula’s structure).

  6. A Simple Example Let C1= w  v and C2 = ~w  s be clauses of F. d=1 v=0 s=1 C2 C1 v=0 s=0 w=1 C1 C2 No conflict on variable w w=1 w=0 Conflict on variable w. Assignment v=0 and/or s=0 is implied A conflict set of clauses cannot consist only of C1 and C2

  7. Resolution and Boundary Points In a DPLL-based procedure a single resolution is “meaningless”. It makes sense only as a part of a conflict clause derivation process. A potential solution to this problem: view a resolution proof as a procedure for elimination of boundary points (Goldberg , SAT-2009). Then even a single resolution operation removing a boundary point makes sense.

  8. SAT-Solving with Interpolation By Boundary Point Elimination (IBP-SAT) • IBP-SAT builds a proof by elimination of boundary points by resolution operations. So this proof consists of “individual” resolutions. • IBP-SAT does use a DPLL-based procedure for finding boundary points. But the conflict clauses learned by it are not a part of the proof. • We show experimentally that IBP-SAT conside-rably outperforms DPLL-based SAT-solvers on the class of narrow formulas. Their structure is specified by variable ordering.

  9. Conflict Clause Generation is a Special Case of IBP procedure Conf. driv. SAT-solver: F  F1,..,Fk where Fi is a set of clauses responsible for a conflict. Resolving out variables of Fi in an order  conflict clause Ci. IBP-SAT: F  F1,..,Fk . Eliminating boundary points from Fi  a set of clauses (generated by IBP-procedure). • The conflict clause generation procedure is a special case of the IBP-procedure used by IBP-SAT. • A set of clauses responsible for a conflict is not a narrow formula!!!

  10. The Points We Are Making • We give an example of a successful SAT-algorithm that is not conflict driven!!!! • Taking into account structural information is crucial for building scalable SAT-algorithms. • Boundary point elimination seems to be a viable approach to building resolution proofs. • IBP-SAT is a generalization of SAT-solvers with conflict driven learning.

  11. Outline • Introduction • Boundary Points and Resolution • IBP-SAT (SAT-solving with Interpolation by Boundary Point elimination) • Experimental Results • IBP-SAT and SAT-solvers with conflict clause learning • Conclusions

  12. Boundary Point Definition Let F(x1,..,xn) be a CNF formula, p be a complete assignment to x1,..,xn Lit(xi) ={xi ,~xi}. • p is a Lit(xi)-boundary point for Fif • F(p) = 0; • all clauses of F falsified by p have literal Lit(xi) Example: F(x1,..,x5), p=(1,0,0,0,0), p falsifies only C1, C2 of F , where C1 = ~x1  x2, C2 = ~x1  x4. Then p is a ~x1-boundary point of F.

  13. Two Important Properties Let Bnd_pnts(F) denote the set of boundary points of F and F have at least one clause. 1) Bnd_pnts(F) =   F is unsatisfiable Definition: Let F  C. Clause Celiminates a Lit(xi)-boundary point pof F , if p  Bnd_pnts(F  C). 2) If F is satisfiable, there exists a Lit(xi)-boundary point that cannot be eliminated.

  14. Resolution as Boundary Point Elimination Procedure • An irredundant formula F has at least d boundary points (d is the number of literals in F). • Let R1, …,Rk be a resolution proof for F. Then Bnd_pnts(F  R1 ..  Rk) = . • If p is a Lit(xi)-boundary point of F, then a resolution proof has to contain a resolution on xi(the resolvent of which eliminates p as a boundary point).

  15. Finding a boundary point • Let F(x1,..,xk) be a CNF formula. • Let Fxi(resp. F~xi ) be the clauses of F having literal xi (resp. ~xi.) • Let F* = F \ (Fxi F~xi) • To find a Lit(xi)-boundary point we look for a satisfying assignment p of F*. • If psatisfies F  Fis satisfiable • If p falsifies a clause with xi (resp. ~xi)  pis an xi-boundary point (resp. an ~xi-boundary point). • If F* is unsatisfiable  F is unsatisfiable.

  16. Conservative Computation of Boundary Points • Finding a Lit(xi)-boundary point p of Fis computationally hard. A potential solution to the problem is as follows. • Let Bnd_pnts(xi,F) denote the set of all Lit(xi)-boundary points of F i.e. Bnd_pnts(xi,F)  Bnd_pnts(F) • Let F* be a subset of clauses of F. If p  Bnd_pnts(xi,F), then either F*(p)=1 or p  Bnd_pnts(xi,F*) • By eliminating a Lit(xi)-boundary point p from F* one also eliminates it from F.

  17. Outline • Introduction • Boundary Points and Resolution • IBP-SAT (SAT-solving with Interpolation by Boundary Point elimination) • Experimental Results • IBP-SAT and SAT-solvers with conflict clause learning • Conclusions

  18. Interpolation by Boundary Point Elimination Theorem: Let F(x1,..,xn) be a CNF formula, F* = F \ (Fx1 F~x1) , I be a set of clauses obtained by resolution of clauses from F on x1 such that Bnd_pnts(x1,F  I) = . Then F*  I = F(0,x2,…,xn)  F(1,x2,…,xn) If F is unsatisfiable, then F = F*  I and I is an interpolant for F.

  19. Advantage Over DP procedure Let F(x1,..,xn) have 1,000 clauses with x1 and 1,000 clauses with ~x1. DP : To resolve out variable x1  106 resolutions. To eliminate redundant resolvents  106 SAT-checks. “Light” checks  memory overflow, “Hard” checks  nearly 106 unsat. formulas to check. Bound. pnt. elim.: 500 SAT-checks ( to find Lit(x1) boundary points.). Only the last check returns “unsat” (when all Lit(x1) boundary points are eliminated).

  20. Formula Partition in IBP-SAT (for narrow formulas) • F(x1,..,x10000) is narrow, • The variable order respects the structure. Min_ind(C) is the smallest variable index in clause C. Min_ind(x14  x50  ~x70) = 14 Let F = F  F, F = {C  F | Min_ind(C)  200}, F = {C  F | Min_ind(C) > 200} i.e. F = F \ F . F (x1,..,x200,x201,…,x230), F (x201,..,x230,x231,..,x10000) For the “narrow” variable order, the number of variables shared by F and F is small.

  21. IBP-SAT in pictures (for narrow formulas) F x10000 x1 x201 … x230 …. Clauses of F (X1,X2) “start“ in X1 Clauses of F(X2,X3) “start“ in X2 X3 X1 X2 X3 F (X1, X2)  F (X2, X3) I(X2)  F (X2, X3)

  22. The IBP-SAT Procedure // F = {C  F | Min_ind(C)  small_number}, // where Fis the current formula and F = F \ F IBP-SAT(F(X)) {While ( X ≠) {F (X1, X2) = {C  F | Min_ind(C)  small_number}, F (X2, X3) = F \ F  ; I(X2) = IBP(F,F ); // F (X1, X2) is replaced with I(X2) F(X) = I(X2)  F (X2, X3) ; } //X = X2  X3; if (empty clause) return(unsat); else return(sat);}

  23. TheIBP Procedure // F = F (X1, X2)  F (X2, X3). The procedure elimi- // nates the variables of X1 inF (X1, X2) producing //I(X2) such that F = I(X2)  F (X2, X3) IBP(F,F ) { while (X1≠) {xi = next_in_order_var(X1); I(X1 \ {xi},X2) = loc_interp(xi,F,F ); X1= X1 \ {xi}; F = F  I \(Fxi F~xi)} return(F (X2);}

  24. Theloc_interpProcedure // F = F  F . The procedure eliminates xi  X1from F .. // Returns I(X1 ,X2) s.t. F = F (X1,X2 )  I  F (X2,X3) // where X1 = X1 \ {xi} and F = F \ (Fxi F~xi) loc_interp(xi,F,F ) {G = F \ (Fxi F~xi), I = ; while (true) {p = find_sat_assgn(G,sat); // sat  {true,false} if (!sat) return(I); // p* below is p after flipping xi (S,S*) = falsified_clauses(p,p*,Fxi,F~xi); if (S or S* ==  ) {C=fnd_plug(G,F ); G=G C; } else {R = elim_bp(p,S,S*); G = G  R; I = I  R;}}}

  25. The fnd_plug procedure //F = F (X1,X2 )  I  F (X2,X3) , G = F \ (Fxi F~xi) //p (or p*) satisfies G . fnd_plug returns a clause falsified // by p and depending on variables of X*2, X*2  X2. fnd_plug(G,F ) {C*=form_clause(X2,p);//Vars(C*) = X2, C*(p)=0 C =light_unsat_check(F  ~C*,success); if (success) return(C); else return(C*);}

  26. Outline • Introduction • Boundary Points and Resolution • IBP-SAT (SAT-solving with Interpolation by Boundary Point elimination) • Experimental Results • IBP-SAT and SAT-solvers with conflict clause learning • Conclusions

  27. Formulas Used in Experiments • F(s,m) describes equivalence checking of narrow circuits N1(s,m) and N2(s,m). • m is the number of blocks Bi, s (resp. s+1) is #inputs (resp. #outputs) of Bi. • Corresp. blocks Bi of N1, N2 are toggle equivalent. N1, N2 have m+s inputs. • In experiments we used siege (variant 4), • minisat 2.0, picosat 913. N(4,m)

  28. Formulas F(2,m)

  29. Formulas F(3,m) timeout is 50,000 sec. (14 hours)

  30. Formulas F(4,m) timeout is 300,000 sec. ( 83 hours)

  31. DP and IBP-SAT on F(3,m) timeout is 50,000 sec. (14 hours), two different variable orders (direct and reverse) were used for each formula

  32. Outline • Introduction • Boundary Points and Resolution • IBP procedure (Interpolation by Boundary Point elimination) • Experimental Results • IBP-SAT and SAT-solvers with conflict clause learning • Conclusions

  33. Conflict Clause Derivation as a Special Case of IBP • A DPLL based procedure can be viewed as an appli-cation of IBP procedure to a sequence F1,..,Fk , where Fi is the set of clauses of F responsible for a conflict. • Computation of boundary points is “implicit”. (The first bnd. pnt. is an extention of the partial assignment). • Advantage of DPLL-like procedures is that the subformulasFiand order in which variables of Fi are eliminated are chosen automatically (due to confl. anal.) • Flaw: DPLL-like procedures create an illusion that they can always make a good choice of subformulas Fi .

  34. A Research Direction: Using IBP-procedure for DPLL procedures Let F be the clauses responsible for a conflict in F(X) Let X be the variables of F (i.e. the subset of variables of X responsible for this conflict). • Only one clause responsible for derivation of xi  X is present in F (to simplify confl. clause. derivation). • One can form F  F with all clauses of F from which variables of X were derived and apply IBP-procedure with the usual variable order (the one induced by BCP).

  35. Conclusions • Conflict driven SAT-solving creates its own struc-ture (≠ the real structure of the formula). • Using “individual” resolutions gives much more flexibility in following formula’s natural structure. • We successfully applied boundary point elimi-nation to building proofs consisting of individual resolutions. • A SAT-solver with conflict clause generation can be viewed as a special case of IBP-SAT.