grasp - GRASP-an efficient SAT solver Pankaj Chauhan...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: GRASP-an efficient SAT solver Pankaj Chauhan 02/29/12 15-398: 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 15-398: GRASP and Chaff 3 What is SAT? Solution 1: Search through all assignments! n variables 2 n possible assignments, explosion! SAT is a classic NP-Complete problem, solve SAT and P=NP! 02/29/12 15-398: 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 15-398: 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 15-398: 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 15-398: 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 15-398: 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 15-453 taught by Professor Edmundm.clarke during the Spring '09 term at Carnegie Mellon.

Page1 / 31

grasp - GRASP-an efficient SAT solver Pankaj Chauhan...

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

View Full Document Right Arrow Icon
Ask a homework question - tutors are online