This preview shows pages 1–9. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: GRASPan efficient SAT solver Pankaj Chauhan 02/29/12 15398: GRASP and Chaff 2 What is SAT? Given a propositional formula in CNF, find an assignment to boolean variables that makes the formula true! E.g. 1 = (x 2 x 3 ) 2 = ( x 1 x 4 ) 3 = ( x 2 x 4 ) A = {x 1 =0, x 2 =1, x 3 =0, x 4 =1} 1 = (x 2 x 3 ) 2 = ( x 1 x 4 ) 3 = ( x 2 x 4 ) A = {x 1 =0, x 2 =1, x 3 =0, x 4 =1} SATisfying assignment! 02/29/12 15398: GRASP and Chaff 3 What is SAT? Solution 1: Search through all assignments! n variables 2 n possible assignments, explosion! SAT is a classic NPComplete problem, solve SAT and P=NP! 02/29/12 15398: GRASP and Chaff 4 Why SAT? Fundamental problem from theoretical point of view Numerous applications CAD, VLSI Optimization Model Checking and other type of formal verification AI, planning, automated deduction 02/29/12 15398: GRASP and Chaff 5 Outline Terminology Basic Backtracking Search GRASP Pointers to future work Please interrupt me if anything is not clear! 02/29/12 15398: GRASP and Chaff 6 Terminology CNF formula x 1 ,, x n : n variables 1 ,, m : m clauses Assignment A Set of (x,v(x)) pairs A < n partial assignment {(x 1 ,0), (x 2 ,1), (x 4 ,1)} A = n complete assignment {(x 1 ,0), (x 2 ,1), (x 3 ,0), (x 4 ,1)}  A = 0 unsatisfying assignment {(x 1 ,1), (x 4 ,1)}  A = 1 satisfying assignment {(x 1 ,0), (x 2 ,1), (x 4 ,1)} 1 = (x 2 x 3 ) 2 = ( x 1 x 4 ) 3 = ( x 2 x 4 ) A = {x 1 =0, x 2 =1, x 3 =0, x 4 =1} 1 = (x 2 x 3 ) 2 = ( x 1 x 4 ) 3 = ( x 2 x 4 ) A = {x 1 =0, x 2 =1, x 3 =0, x 4 =1} 02/29/12 15398: GRASP and Chaff 7 Terminology Assignment A (contd.)  A = X unresolved {(x 1 ,0), (x 2 ,0), (x 4 ,1)} An assignment partitions the clause database into three classes Satisfied, unsatisfied, unresolved Free literals : unassigned literals of a clause Unit clause : #free literals = 1 02/29/12 15398: GRASP and Chaff 8 Basic Backtracking Search Organize the search in the form of a decision tree Each node is an assignment, called...
View
Full
Document
This note was uploaded on 02/29/2012 for the course CS 15453 taught by Professor Edmundm.clarke during the Spring '09 term at Carnegie Mellon.
 Spring '09
 EdmundM.Clarke

Click to edit the document details