Sat solving maximization and minimization problems
-
Upload
henry-barlow -
Category
Documents
-
view
34 -
download
4
description
Transcript of Sat solving maximization and minimization problems
![Page 1: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/1.jpg)
SAT SOLVING MAXIMIZATION AND MINIMIZATION PROBLEMS
Student: Victoria Kravchenko
Supervisors: Prof. Yoram Moses
Liat Atsmon
![Page 2: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/2.jpg)
The Project GoalStudy and evaluate the approach of solving optimization problems through SAT reduction, and using SAT solvers to solve the reduced problems.
![Page 3: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/3.jpg)
SAT Boolean satisfiability problem
(x1+x5’+x4) (x1’+x5+x3+x4) (x3’+x4’) NP-Complete CNF (Conjunctive Normal Form) – “AND
of ORs”
![Page 4: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/4.jpg)
MiniSat Developed at 2003 by
Niklas Eén and Niklas Sörensson
Advantages: open-source, successful, small.
![Page 5: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/5.jpg)
The MiniSat input formFor: (x1+x5’+x4) (x1’+x5+x3+x4) (x3’+x4’)
p cnf 5 3 → p cnf number_of_variables number_of_clauses
1 -5 4 0 → 0 is the end of the clause
-1 5 3 4 0
-3 -4 0
![Page 6: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/6.jpg)
The Project PART 1: Equation Checker
PART 2: SAT with Optimization
PART 3: Maximal Acyclic Subgraph
![Page 7: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/7.jpg)
The equation checker Input: X, Y, Z – decimal numbers Output: whether X+Y=Z or not
Calculates the binary form
of the numbers The program prepares
the input for MiniSatusing the table:
1
0 0 0 0 0
0 1 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 1 1 1 1
i i i i iX Y C Z C
![Page 8: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/8.jpg)
For the LSB bit:
The equation checker
0
0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Z
Z X Y X Y X Y
f X Y X Y Z X Y X Y Z
X Y X Y Z X Y X Y Z
X Y Z X Y Z X Y Z X Y Z
0
0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Z
Z
f X Y Z X Y Z X Y Z X Y Z
f X Y Z X Y Z X Y Z X Y Z
00 0 0
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
ZX Y Z f
![Page 9: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/9.jpg)
The equation checker
0
0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0C
C X Y
f X Y C X Y C X Y C X Y C X Y C X C Y C
00 0 0
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
CX Y C f
0
0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
C
C
f X Y C X Y C X Y C X Y C
f X Y C X Y C
X Y C X Y C
![Page 10: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/10.jpg)
SAT with Optimization Input: Vec – x0,x1,x2,…
Phi – CNF expression Output: maximal value of Vec (as a
binary number) which satisfies Phi
![Page 11: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/11.jpg)
SAT with Optimization Versions:
I. Bit by Bit:
II. MiniSat condition:
MSB1?1 1?0 1?
? ? ?? ?
?1
1 0 01 0
1
0 11 1
![Page 12: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/12.jpg)
Maximal Acyclic Subgraph Input: graph name
nodes – [node_number],[node_weight]
edges – [node_from],[node_to]
For example: ex1 1,2-2,2-3,1 1,2-2,3-3,1
1 (2)
3 (1)
2 (2)
![Page 13: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/13.jpg)
Maximal Acyclic Subgraph Output: maximal acyclic subgraph
1 (2)
3 (1)
2 (2)
![Page 14: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/14.jpg)
Example 11
(1)
3 (2)
2 (2)
5 (3)
4 (3)
lsg ex1 1,1-2,2-3,2-4,3-5,3 1,2-1,3-2,3-2,4-4,5-5,3
P
![Page 15: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/15.jpg)
Example 21
(1)
3 (2)
2 (2)
5 (3)
4 (3)
lsg ex2 1,1-2,2-3,2-4,3-5,3 1,2-3,1-2,3-2,4-4,5-5,3
![Page 16: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/16.jpg)
Example 31
(2)
3 (2)
2 (1)
5 (3)
4 (3)
lsg ex3 1,2-2,1-3,2-4,3-5,3 1,2-3,1-2,3-2,4-4,5-5,3
![Page 17: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/17.jpg)
Example 41
(1)
3 (2)
2 (2)
5 (3)
4 (3)
lsg ex4 1,1-2,2-3,2-4,3-5,3 1,2-3,1-2,3-2,4-4,5-5,2-5,3
![Page 18: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/18.jpg)
Example 51
(1)
3 (2)
2 (4)
5 (1)
4 (3)
lsg ex5 1,1-2,4-3,2-4,3-5,1 1,2-3,1-2,3-2,4-4,5-5,2-5,3
![Page 19: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/19.jpg)
How Does It Work?For each edge: Define: [node_from] > [node_to]
Condition: Translate the condition to CNF using a tree
(reduction to 3-SAT)
0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 2 2 ...
X Y
x y x y x y x y x y x y x y x y x y
X Y X Y
![Page 20: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/20.jpg)
How Does It Work?Building the weighted sum: [node] x [weight]:
Y1[m vars] ↔ X1[node number] x W1[m vars]
Y2[m vars] ↔ X2[node number] x W2[m vars]
Sum the intermediate variables as in the Equation Checker: Z1[m vars] ↔ Y1[m vars] + Y2[m vars]
Continue summing: Z2[m vars] ↔ Z1[m vars] + Y3[m vars]
Save the last intermediate variables representing the accumulated sum: Z(n-1) [m vars] ↔ Z(n-2) [m vars] + Yn[m vars]
Zfinal ↔ X1*W1 + X2*W2 + … + Xn*Wn
![Page 21: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/21.jpg)
How Does It Work?
Get a result from the MiniSat using only the edges conditions and extract the weight Wres
Demand a new result with a greater weight s.t. Zfinal > Wres
Continue until the conditions can not be saturated
![Page 22: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/22.jpg)
Results
50 100 150 200 250 300 350 400 450 500 550 60012:00:00 AM
12:00:43 AM
12:01:26 AM
12:02:09 AM
12:02:52 AM
12:03:36 AM
12:04:19 AM
12:05:02 AM
12:05:45 AM
12:06:28 AM
12:00:10 AM12:00:16 AM12:00:28 AM
12:00:40 AM12:00:50 AM
12:01:08 AM
12:01:46 AM
12:02:24 AM
12:03:02 AM
12:03:39 AM
12:04:47 AM
12:05:55 AM
Run Time vs. Number of Edges (50 Nodes)
Run Time
Poly (order 4)
Exp
Edges
Tim
e
![Page 23: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/23.jpg)
Results
50 100 150 200 250 30000:00:00
00:01:26
00:02:52
00:04:19
00:05:45
00:07:12
00:08:38
00:10:04
00:11:31
00:03:4800:04:09
00:05:56
00:07:25
00:08:30
00:10:31
Run Time vs. Number of Edges (200 Nodes)
Run Time
Poly (order 4)
Exp
Edges
Tim
e
![Page 24: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/24.jpg)
Results
50 100 150 200 250 30000:00:00
00:01:26
00:02:52
00:04:19
00:05:45
00:07:12
00:08:38
00:10:04
00:11:31
00:12:57
00:00:1000:00:41
00:02:19
00:03:25
00:06:39
00:11:10
Run Time vs. Number of Nodes (50 Edges)
Run Time
Poly (order 3)
Exp
Nodes
Tim
e
![Page 25: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/25.jpg)
Results
50 100 150 200 250 30000:00:00
00:02:52
00:05:45
00:08:38
00:11:31
00:14:24
00:17:16
00:20:09
00:00:40
00:02:01
00:05:05
00:07:25
00:11:39
00:17:12
Run Time vs. Number of Nodes (200 Edges)
Run Time
Poly (order 2)
Exp
Nodes
Tim
e
![Page 26: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/26.jpg)
Conclusions The graphs are polynomial and not
exponential although the problem in NP complete – success!
Nodes have a stronger effect on the run time.
![Page 27: Sat solving maximization and minimization problems](https://reader038.fdocuments.in/reader038/viewer/2022102808/56812be0550346895d9052d6/html5/thumbnails/27.jpg)
Thank you for your attention!