1 / 27

# Sat solving maximization and minimization problems - PowerPoint PPT Presentation

Student: Victoria Kravchenko Supervisors: P rof. Yoram Moses Liat Atsmon. Sat solving maximization and minimization problems. The Project Goal. Study and evaluate the approach of solving optimization problems through SAT reduction, and using SAT solvers to solve the reduced problems. SAT.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Sat solving maximization and minimization problems' - henry-barlow

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.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Supervisors: Prof. Yoram Moses

LiatAtsmon

### Sat solving maximization and minimization problems

Study and evaluate the approach of solving optimization problems through SAT reduction, and using SAT solvers to solve the reduced problems.

• Boolean satisfiability problem

(x1+x5’+x4) (x1’+x5+x3+x4) (x3’+x4’)

• NP-Complete

• CNF (Conjunctive Normal Form) – “AND of ORs”

• Developed at 2003 byNiklasEén and NiklasSörensson

The MiniSat input form

For: (x1+x5’+x4) (x1’+x5+x3+x4) (x3’+x4’)

p cnf 5 3 → p cnfnumber_of_variablesnumber_of_clauses

1 -5 4 0 → 0 is the end of the clause

-1 5 3 4 0

-3 -4 0

• PART 1: Equation Checker

• PART 2: SAT with Optimization

• PART 3: Maximal Acyclic Subgraph

• Input: X, Y, Z – decimal numbers

• Output: whether X+Y=Z or not

• Calculates the binary form

of the numbers

• The program preparesthe input for MiniSatusing the table:

• For the LSB bit:

• Input: Vec – x0,x1,x2,…

Phi – CNF expression

• Output: maximal value of Vec (as a binary number) which satisfies Phi

• Versions:

• Bit by Bit:

• MiniSat condition:

MSB

1?

1

1?

0

1?

1

?1

?

1

?

0

1

1

?

0

0

?

1

0

?

1

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)

2(2)

3(1)

Maximal Acyclic Subgraph

• Output: maximal acyclic subgraph

1(2)

2(2)

3(1)

P

1 (1)

2 (2)

3 (2)

4 (3)

5 (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

1 (1)

2 (2)

3 (2)

4 (3)

5 (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

1 (2)

2 (1)

3 (2)

4 (3)

5 (3)

lsgex3 1,2-2,1-3,2-4,3-5,3 1,2-3,1-2,3-2,4-4,5-5,3

1 (1)

2 (2)

3 (2)

4 (3)

5 (3)

lsgex4 1,1-2,2-3,2-4,3-5,3 1,2-3,1-2,3-2,4-4,5-5,2-5,3

1 (1)

2 (4)

3 (2)

4 (3)

5(1)

lsgex5 1,1-2,4-3,2-4,3-5,1 1,2-3,1-2,3-2,4-4,5-5,2-5,3

For each edge:

• Define: [node_from] > [node_to]

• Condition:

• Translate the condition to CNF using a tree

(reduction to 3-SAT)

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

• 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

• The graphs are polynomial and not exponential although the problem in NP complete – success!

• Nodes have a stronger effect on the run time.