# zchaff - Chaff MatthewW.Moskewicz...

This preview shows pages 1–13. Sign up to view the full content.

Chaff:  Engineering an Efficient SAT Solver Matthew W.Moskewicz,  Concor F. Madigan, Ying Zhao, Lintao Zhang,  Sharad Malik Princeton University Presenting: Tamir Heyman  Some are from Malik’s presentation

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Chaff Philosophy Make the core operations fast profiling driven, most time-consuming parts: Boolean Constraint Propagation (BCP) and Decision Emphasis on coding efficiency Emphasis on optimizing data cache behavior Search space pruning: conflict resolution and  learning
Chaff’s Main Procedures Efficient BCP  Two watched literals Fast backtracking Efficient decision heuristic Localizes search space Restart Increases robustness

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Implication What “causes” an implication?  When can it occur? All literals in a clause but one are assigned to  False
Implication example The clause (v1 + v2 + v3) implies  values only in the following cases In case (F + F + v3)  implies v3=T In case (F + v2 + F)  implies v2=T In case (v1 + F + F)  implies v1=T

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Implication for N-literal clause Implication occurs after N-1  assignments to False to its literals Theoretically, we could ignore the first  N-2 assignments to this clause The first N-2 assignments won’t have  any effect on the BCP
Watched Literals Each clause has two watched literals Ignore any assignments to the other  literals in the clause. BCP Maintains the following invariant By the end of BCP, one of the watched  literal is true or both are undefined. Guaranteed to find all implications

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
BCP with watched Literals Identifying conflict clauses Identifying unit clauses Identifying associated implications Maintaining “BCP Invariant”
Example (1/13) v2 + v3 + v1 + v4 v1 + v2 + v3’ v1 + v2’ v1’+ v4

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Example (2/13) v2 v2   v3 v3  + v1 + v4 v1 v1  +  v2 v2  + v3’ v1  + v2’ v1’ + v4 Watched literals
Example (3/13) v2 v2   v3 v3  +  v1  + v4 v1 v1  +  v2 v2  + v3’ v1  + v2’ v1’ + v4 Stack:( v1=F ) Assume we decide to set v1 the value F

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
v2 v2   v3 v3  +  v1  + v4 v1 v1  +  v2
This is the end of the preview. Sign up to access the rest of the document.

## This note was uploaded on 02/29/2012 for the course CS 15-453 taught by Professor Edmundm.clarke during the Spring '09 term at Carnegie Mellon.

### Page1 / 36

zchaff - Chaff MatthewW.Moskewicz...

This preview shows document pages 1 - 13. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online