27
Generating Hard Satisfiabilit y Problems 1 Generating Hard Satisfiability Problems Bart Selman, David Mitchell, Hector J. Levesque Presented by Xiaoxin Yin

Generating Hard Satisfiability Problems1 Bart Selman, David Mitchell, Hector J. Levesque Presented by Xiaoxin Yin

Embed Size (px)

Citation preview

Generating Hard Satisfiability Problems

1

Generating Hard Satisfiability Problems

Bart Selman, David Mitchell, Hector J. Levesque

Presented by Xiaoxin Yin

Generating Hard Satisfiability Problems

2

Can SAT be solved in polynomial time in average case? In Goldberg’s paper [Goldberg ‘79] it is

claimed that SAT can be solved “on average” in polynomial time.

Goldberg’s model of generating formulas m clauses, n variables, each literal has probability

p to be in each clause Is SAT really easy?

Generating Hard Satisfiability Problems

3

Can SAT be solved in polynomial time in average case? Goldberg’s SAT formulas are easy to solve

[Franco & Paull ‘83] Theorem 1: Number of truth assignments for

a formula is greater than 2n(1-ε) with probability 1

Theorem 2: By randomly guessing truth assignments w times,

Pr(success)=1 – m/(2αnw)assume each clause has at least αr literals

Generating Hard Satisfiability Problems

4

K-SAT is a harder problem K-SAT: each clause has K literals

Generating Hard Satisfiability Problems

5

Problem Definition of K-SAT Generate formulas of

N variables K literals per clause (K = 3 in this paper) M clauses

To generate a clause Randomly choose K distinct variables Negate each with probability 0.5

Generate formulas with certain ratio of clauses-to-variables

Generating Hard Satisfiability Problems

6

DP Procedure DP: a backtracking depth-first search in the

space of all truth assignments Procedure DP

Given a set of clauses Σ defined over a set of variables V

Set the value of a variable v and call DP on the simplified formula If this call returns “satisfiable”, then return

“satisfiable” Set v to the opposite value, return the result of

calling DP on the re-simplified formula

Generating Hard Satisfiability Problems

7

Three Common Rules for DP The unit clause rule

If a clause contains only one literal, set it to true The pure literal rule

If a formula contains a literal but not its complement, set it to true

The smallest clause rule If none of the above rules applies, set a variable in

a smallest clause The last two rules are not used in this paper

Generating Hard Satisfiability Problems

8

DP’s Performances on K-SAT Ratio of clauses-to-variables significantly affects the

hardness of formulas

Generating Hard Satisfiability Problems

9

Ratio of Clauses-to-variables vs. Computational Cost Another example in [Mitchell & Levesque ‘96]

Generating Hard Satisfiability Problems

10

50% Point

50% point: given a certain N (# variables), the point that 50% of generated formulas are satisfiable

50% point is stable w.r.t. ratio of clauses-to-variables

N 20 50 100 150

50% point 4.55 4.36 4.31 4.3

Generating Hard Satisfiability Problems

11

50% Point – The Hardest Point (cont.) 50% point is close to the location of peak hardness

Generating Hard Satisfiability Problems

12

Satisfiable vs. Unsatisfiable Formulas Short formulas – under-constrained, have many satisfying

assignments Long formulas – over-constrained, contradictions can often

be easily found

Generating Hard Satisfiability Problems

13

Finding All Satisfying Assignments or Contradiction Let DP search the full space, until finding a contradiction Given a set of variables

Ratio of clauses to variables increases → Search space decreases

Generating Hard Satisfiability Problems

14

Finding All Satisfying Assignments or Contradiction (cont.) Computational cost of DP – monotonically

decreases for increasing ratios of clauses to variables

Generating Hard Satisfiability Problems

15

Satisfiablity when ratio of clause-to-variable is small Pure literal rule: if a formula contains a literal

but not its complement Set this literal to 1 Remove all clauses containing this literal

For 3-CNF with up to 1.63n clauses, pure literal rule by itself finds satisfying assignments with high probability [Broder, Frieze & Upfal ‘93]

Generating Hard Satisfiability Problems

16

Satisfiablity when ratio of clause-to-variable is small Smallest clause rule:

Choose a (random) literal in a (random) smallest clause

For 3-CNF with less than 3.003n clauses, by smallest clause rule one can find satisfying assignments with high probability [Frieze & Suen ‘92]

By “high probability” we mean Pr → 1 as n → ∞

Generating Hard Satisfiability Problems

17

Satisfiablity when ratio of clause-to-variable is large When c>4.762, a random 3-SAT formula is

unsatisfiable with high probability [Kamath et al ‘94]. Some intuitions of proof:

Consider a certain assignment Z1, each clause is true with probability 7/8.

Let #F denote number of satisfying assignments on F. E[#F] = 2n(7/8)cn.

By Markov inequality, P[#F>0]≤E[#F]=(2∙(7/8)c)n

This probability is exponentially small when c > 5.191

Generating Hard Satisfiability Problems

18

DP vs. Resolution DP searches for satisfying assignments as

well as contradictions Resolution searches for contradictions Some result about resolution

In k-SAT problems of cn clauses, when k ≥ 3 and c2–k ≥ 0.7, with probability tending to 1 as n goes to infinity, a randomly chosen formula of cn clauses is unsatisfiable, but there exists ε>0 such that every resolution proof must generate at least (1+ε)n clauses [Chvatal & Reed ‘92]

c=5.6 when k=3

Generating Hard Satisfiability Problems

19

Satisfiability for Different K For a random formula Fk(n, cn)

ck = sup{ c : Fk(n, cn) is satisfiable with high prob} ck

*= inf{ c : Fk(n, cn) is unsatisfiable with high prob}

[Kirousis et al ‘98]

ck* ≤ 2k ln2 – (1+ln2)/2

[Achlioptas and Peres ‘03]

ck = ck* (1 – o(1))

ck ≥ 2k ln2 – (k+1)ln2/2 – 1 – δk

(for a certain sequence δk→0)

ck ck*

satisfiable unsatisfiableundetermined

Generating Hard Satisfiability Problems

20

Satisfiability for Different K (cont.) Lower and upper bounds for different K

1

10

100

1000

10000

100000

1000000

3 4 5 7 10 20

K

rati

o Lower

Upper

Generating Hard Satisfiability Problems

21

K-SAT with different K’s When K is larger → Higher satisfiability, larger

search space when n is large

Generating Hard Satisfiability Problems

22

P-SAT with different K’s Each variable has certain probability to appear in

each clause Each clause has K variables on average

Generating Hard Satisfiability Problems

23

Solving SAT by Local Search [B. Selman et al ‘92] “A new method for

solving hard satisfiability problems” GSAT – greedily search in the space of

assignments GSAT algorithm

Repeat for MAX-TRIES timesrandomly generate an assignmentrepeat for MAX-FLIPS times

flip a variable to get largest increase in number of satisfied clauses

Generating Hard Satisfiability Problems

24

Solving SAT by Local Search (cont.) Performance of GSAT

Drawback – cannot prove unsatisfiability

0.1

1

10

100

1000

10000

100000

50 70 100

120

140

150

200

250

300

400

500

num of var

se

co

nd

GSAT

DP

Generating Hard Satisfiability Problems

25

Thank you!

Generating Hard Satisfiability Problems

26

Additional Contents

Performances of other approaches for solving K-SAT are presented in [Larrabee & Tsuji ‘93], which shows similar results (easy-hard-easy pattern)

Generating Hard Satisfiability Problems

27

Solving 2-SAT in Linear Time

Choose a variable x and assign a value (e.g. x=1) Remove all clauses that are true Set values to all variables whose values are decided Propagate in this way until nothing can be done If contradiction happens, return false

A set of clauses are left that are independent with the removed ones If these clauses are satisfiable, return true Else return false