1 / 40

Towards a Better Understanding of the Functionality of a Conflict-Driven SAT Solver

Towards a Better Understanding of the Functionality of a Conflict-Driven SAT Solver. Nachum Dershowitz¹ Ziyad Hanna² Alexander Nadel¹ , ² 1 Tel-Aviv University 2 Intel. SAT’07 Conference, Lisbon; 30.05.2007. What is the Motivation behind this Work?.

elvin
Download Presentation

Towards a Better Understanding of the Functionality of a Conflict-Driven SAT Solver

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Towards a Better Understanding of the Functionality of a Conflict-Driven SAT Solver Nachum Dershowitz¹ Ziyad Hanna² Alexander Nadel¹,² 1Tel-Aviv University 2Intel SAT’07 Conference, Lisbon; 30.05.2007

  2. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time

  3. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver?

  4. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? Decision Tree

  5. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? Implication Graph Decision Tree

  6. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f b’ + f’ + c a’ + f’ + c’ f + g g + e’ + c g + e’ + c’ f + e + c’ g’ + e + c …

  7. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ f + g g + e’ + c a g + e’ + c’ f + e + c’ g’ + e + c …

  8. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f + g g + e’ + c a g + e’ + c’ f + e + c’ g’ + e + c …

  9. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b f + g g + e’ + c a g + e’ + c’ f + e + c’ g’ + e + c …

  10. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b e f + g 0 g + e’ + c a g + e’ + c’ e’ f + e + c’ g’ + e + c …

  11. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b e f + g 0 g + e’ + c a f g + e’ + c’ e’ f + e + c’ g’ + e + c …

  12. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b c e f + g 0 g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ g’ + e + c …

  13. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b c e f + g 0 g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ g’ + e + c dec. level 2 …

  14. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP: a’ + b’ + f’ a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b c e f + g 0 g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ a’ + b’ + f’ g’ + e + c dec. level 2 …

  15. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP: a’ + b’ + f’ a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b c e f + g f 1 0 g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ a’ + b’ + f’ g’ + e + c dec. level 2 …

  16. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f 1 0 0 a g + e’ + c g + e’ + c’ f + e + c’ a’ + b’ + f’ g’ + e + c …

  17. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g 1 0 0 a g + e’ + c g + e’ + c’ f + e + c’ a’ + b’ + f’ g’ + e + c …

  18. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g 1 0 0 a g + e’ + c e g + e’ + c’ 1 f + e + c’ e a’ + b’ + f’ g’ + e + c …

  19. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g 1 0 0 a g + e’ + c c’ e g + e’ + c’ 1 f + e + c’ e a’ + b’ + f’ c g’ + e + c …

  20. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b 1UIP:g + e’ f’ e f + g f g 1 0 0 a g + e’ + c c’ e g + e’ + c’ 1 f + e + c’ e a’ + b’ + f’ c g’ + e + c g’ + e’ …

  21. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g 1 0 0 a g + e’ + c e’ e g + e’ + c’ 1 0 f + e + c’ a’ + b’ + f’ g’ + e + c g’ + e’ …

  22. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g c 1 0 0 a g + e’ + c e’ e g + e’ + c’ c’ 1 0 f + e + c’ a’ + b’ + f’ g’ + e + c g’ + e’ …

  23. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP:f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g c 1 0 0 a g + e’ + c e’ e g + e’ + c’ c’ 1 0 f + e + c’ a’ + b’ + f’ g’ + e + c g’ + e’ f …

  24. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP:f a f b’ + f’ + c 0 1 a’ + f’ + c’ b f’ e f + g f g c 1 0 0 a g + e’ + c e’ e g + e’ + c’ c’ 1 0 f + e + c’ a’ + b’ + f’ g’ + e + c g’ + e’ f …

  25. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP:f a f b’ + f’ + c 0 1 a’ + f’ + c’ b f’ f + g g c a g + e’ + c e’ g + e’ + c’ c’ f + e + c’ g’ + e + c …

  26. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP:f a b’ + f’ + c 1 a’ + f’ + c’ b f f’ e f + g f g c 0 1 0 0 a g + e’ + c e’ e g + e’ + c’ c’ 1 0 f + e + c’ a’ + b’ + f’ g’ + e + c g’ + e’ f …

  27. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q2. Why 1UIP scheme is so much faster than AllUIP scheme?

  28. What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q2. Why 1UIP scheme is so much faster than AllUIP scheme? a’ + b Implication Graph Decision Tree e + f 1UIP of dl 1 1UIP: a’ + b’ + f’ a b’ + f’ + c 1 a’ + f’ + c’ b c e f + g 0 g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ a’ + b’ + f’ g’ + e + c … AllUIP: a’ + f’

  29. Results: 1 / 3 • Characterization of decision tree construction and pruning process by a conflict-driven SAT solver

  30. Results: 1 / 3 • Characterization of decision tree construction and pruning process by a conflict-driven SAT solver • Each flipped variable is associated with a left decision sub-tree, explored while refuting corresponding left subspace • A way to create this decision tree for a newly flipped variable is shown in the paper • The solver maintains a forest of left decision subtrees, joined into one tree after the last conflict • It is building and pruning the decision forest on-the-fly • Two types of pruning • Forward pruning: conflict clause recording • Backward pruning: conflict-directed backjumping

  31. Results: 2 / 3 • Explaining why 1UIP is preferable over other schemes

  32. Results: 2 / 3 • Explaining why 1UIP is preferable over other schemes • 1UIP is preferable over AllUIP • Better forward pruning • Less decisions & flips will be required in future • Fr(b): fraction of all clauses, recorded before flipping b, that contain b (b is a flipped variable) • All such clauses will be satisfied after flipping b; thus they will not contribute to BCP b Fr(b) = 2/3 1 c 0 d 0 1 b’ + c’ c + d b’ + c + d

  33. Results: 2 / 3 • Explaining why 1UIP is preferable over other schemes • 1UIP is preferable over AllUIP • Better forward pruning • Less decisions & flips will be required in future • Fr(b): fraction of all clauses, recorded before flipping b, that contain b (b is a flipped variable) • All such clauses will be satisfied after flipping b • Average Fr(b) for AllUIP is twice as higher as for 1UIP

  34. 1UIP vs. AllUIP (Timeout is 4 hours)

  35. Results: 2 / 3 • Explaining why 1UIP is preferable over other schemes • 1UIP is preferable over AllUIP • Better forward pruning • Fr(b): fraction of all clauses, recorded before flipping b, that contain b (b is a flipped variable) • All such clauses will be satisfied after flipping b • Fr(b) for AllUIP is twice as higher than for 1UIP • 1UIP is preferable over UIP-2 (2nd UIP of the last decision level) • Better backward pruning: more flipped variables and respective decision tree nodes are skipped • 1UIP scheme corrects mistakes on-the-fly

  36. 1UIP vs. UIP-2 (Timeout is 4 hours)

  37. Results: 3 / 3 • Local conflict clause recording • If there exists a flipped variable, dominated by the first UIP • Suppose last such variable f defines a new decision level (like GRASP does) • Record a 1UIP clause wrt new decision level • Normal 1UIP clause is recorded and used as usual a’ + b e + f Implication Graph Decision Tree b’ + f’ + c 1UIP:f a f LCC: e a’ + f’ + c’ 1 b f + g f’ e f g c 1 0 g + e’ + c 0 a e’ g + e’ + c’ e c’ 1 0 f + e + c’ a’ + b’ + f’ g’ + e + c … g + e’ f

  38. LCC: What Problem are We Aiming to Solve? Asserting clause contains e’. It is consistent with the rightmost path a 1 Asserting clause for flipping b contained b’It is inconsistent with the left-most path. It is consistent with the right-most path b 1 0 c e 1 0 d f LTree(B) 1 0 • Let P be a path in LTree(a), having N nodes • Leftmost path is inconsistent with N asserting conflict clauses, recorded while exploring LTree(a) • Rightmost path is inconsistent with none of the asserting conflictclauses • If leftmost path of LTree(a) is encountered after backtracking beyond a, it will be immediately pruned away. Rightmost path will not be pruned.

  39. Local Conflict Clause Recording Impact

  40. Thanks for your attention!(See you in poster session)

More Related