400 likes | 494 Views
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?.
E N D
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
What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time
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?
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
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
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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 …
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’ …
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’ …
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’ …
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 …
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 …
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 …
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 …
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?
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’
Results: 1 / 3 • Characterization of decision tree construction and pruning process by a conflict-driven SAT solver
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
Results: 2 / 3 • Explaining why 1UIP is preferable over other schemes
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
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
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
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
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.