GRASP-an efficient SAT solver. Pankaj Chauhan. 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}.
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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
GRASP-an efficient SAT solver
Pankaj Chauhan
1 = (x2 x3)
2 = (x1 x4)
3 = (x2 x4)
A = {x1=0, x2=1, x3=0, x4=1}
SATisfying assignment!
15-398: GRASP and Chaff
15-398: GRASP and Chaff
15-398: GRASP and Chaff
Please interrupt me if anything is not clear!
15-398: GRASP and Chaff
1 = (x2 x3)
2 = (x1 x4)
3 = (x2 x4)
A = {x1=0, x2=1, x3=0, x4=1}
15-398: GRASP and Chaff
15-398: GRASP and Chaff
15-398: GRASP and Chaff
15-398: GRASP and Chaff
x1
x1 = [email protected]
x2
x2 = [email protected]
1 = (x2 x3)
2 = (x1 x4)
3 = (x2 x4)
x1 = [email protected]
x4 = [email protected]
x2 = [email protected]
x3 = [email protected]
x3 = [email protected]
{(x1,1), (x2,0), (x3,1) , (x4,0)}
{(x1,0), (x2,0), (x3,1)}
No backtrack in this example!
15-398: GRASP and Chaff
x1
x1 = [email protected]
x1 = [email protected]
x2
x2 = [email protected]
Add a clause
1 = (x2 x3)
2 = (x1 x4)
3 = (x2 x4)
4 = (x1 x2 x3)
x4 = [email protected]
x2 = [email protected]
x3 = [email protected]
x3 = [email protected]
conflict
{(x1,0), (x2,0), (x3,1)}
15-398: GRASP and Chaff
Deduction
Decision
Backtrack
15-398: GRASP and Chaff
15-398: GRASP and Chaff
15-398: GRASP and Chaff
15-398: GRASP and Chaff
E.g. for the clause = (x y), ify=1, then we must havex=1
A(x) = {(y,0), (z,1)}, A(y) = {(x,0),(z,1)}, A(z) = {(x,0), (y,0)}
15-398: GRASP and Chaff
(x) = max{(y)|(y,v(y))A(x)}
15-398: GRASP and Chaff
4
1
4
3
6
conflict
6
3
2
5
2
5
Current truth assignment: [email protected] ,[email protected], [email protected], [email protected], [email protected]}
Current decision assignment: [email protected]}
1 = (x1 x2)
2 = (x1 x3 x9)
3 = (x2 x3 x4)
4 = (x4 x5 x10)
5 = (x4 x6 x11)
6 = (x5 x6)
7 = (x1 x7 x12)
8 = (x1 x8)
9 = (x7 x8 x13)
15-398: GRASP and Chaff
15-398: GRASP and Chaff
15-398: GRASP and Chaff
15-398: GRASP and Chaff
C() = (x1 x9 x10 x11)
15-398: GRASP and Chaff
(x,v(x)) if A(x) =
causesof(x) =
(x) [ causesof(y)]o/w
(y,v(y)) (x)
(x) = {(y,v(y)) A(x)|(y)<(x)}
(x) = {(y,v(y)) A(x)|(y)=(x)}
15-398: GRASP and Chaff
C() = xv(x)
(x,v(x)) AC()
AC() = [email protected], x9 [email protected], x10 = [email protected], x11 = [email protected]}
15-398: GRASP and Chaff
15-398: GRASP and Chaff
Failure driven assertions (FDA):
15-398: GRASP and Chaff
Decision level
3
C()
8
9
5
’
C()
9
9
C()
7
x1
7
6
Due to C()
’
15-398: GRASP and Chaff
Conflict Directed Backtracking
15-398: GRASP and Chaff
Conflict Directed Backtracking contd.
AC(’) = {x9 [email protected], x10 = [email protected], x11 = [email protected], [email protected], [email protected]}
C() = (x9 x10 x11 x12 x13)
= max{(x)|(x,v(x))AC(’)}
15-398: GRASP and Chaff
15-398: GRASP and Chaff
Chaff
15-398: GRASP and Chaff