Student victoria kravchenko supervisors p rof yoram moses liat atsmon
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

Sat solving maximization and minimization problems PowerPoint PPT Presentation


  • 52 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Sat solving maximization and minimization problems

An Image/Link below is provided (as is) to download presentation

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


Student victoria kravchenko supervisors p rof yoram moses liat atsmon

Student:Victoria Kravchenko

Supervisors:Prof. Yoram Moses

LiatAtsmon

Sat solving maximization and minimization problems


The project goal

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 solving maximization and minimization problems

SAT

  • Boolean satisfiability problem

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

  • NP-Complete

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


Minisat

MiniSat

  • Developed at 2003 byNiklasEén and NiklasSörensson

  • Advantages: open-source, successful, small.


The minisat input form

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


The project

The Project

  • PART 1: Equation Checker

  • PART 2: SAT with Optimization

  • PART 3: Maximal Acyclic Subgraph


The equation checker

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 preparesthe input for MiniSatusing the table:


The equation checker1

The equation checker

  • For the LSB bit:


The equation checker2

The equation checker


Sat with optimization

SAT with Optimization

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

    Phi – CNF expression

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


Sat with optimization1

SAT with Optimization

  • 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

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 subgraph1

Maximal Acyclic Subgraph

  • Output: maximal acyclic subgraph

1(2)

2(2)

3(1)


Example 1

Example 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


Example 2

Example 2

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


Example 3

Example 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


Example 4

Example 4

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


Example 5

Example 5

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


How does it work

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)


How does it work1

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


How does it work2

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


Results

Results


Results1

Results


Results2

Results


Results3

Results


Conclusions

Conclusions

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

  • Nodes have a stronger effect on the run time.


Sat solving maximization and minimization problems

Thank you for your attention!


  • Login