10 3 restricted satisfiability sat problem l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
10.3 - Restricted Satisfiability (SAT) Problem PowerPoint Presentation
Download Presentation
10.3 - Restricted Satisfiability (SAT) Problem

Loading in 2 Seconds...

play fullscreen
1 / 41

10.3 - Restricted Satisfiability (SAT) Problem - PowerPoint PPT Presentation


  • 183 Views
  • Uploaded on

10.3 - Restricted Satisfiability (SAT) Problem. 2/19/07. Two Variations of SAT. 3SAT a set of problems similar to SAT but the Boolean expressions have a regular form: the logical AND of “clauses”, where each clause is the OR of three variables (could be negated variables) CSAT

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

PowerPoint Slideshow about '10.3 - Restricted Satisfiability (SAT) Problem' - moira


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
two variations of sat
Two Variations of SAT
  • 3SAT
    • a set of problems similar to SAT but the Boolean expressions have a regular form: the logical AND of “clauses”, where each clause is the OR of three variables (could be negated variables)
  • CSAT
    • an intermediate step that is used to show that SAT can be reduced to 3SAT
purpose of section 10 3
Purpose of Section 10.3
  • To reduce SAT to 3SAT
    • This can be accomplished by converting each Boolean expression E in SAT to a new Boolean expression F in 3SAT
    • Hence, F is satisfiable iff E is satisfiable
important concepts
Important Concepts
  • Literal - a variable (could be negated)
  • Clause - logical OR of one or more literals
  • CNF - Conjunctive Normal Form, logical AND of clauses
  • Equivalent Boolean Expressions - two Boolean expressions have the same result on any truth assignment to their variables
notation for cnf
Notation for CNF
  • OR () = Sum (+)
  • AND () = Product (* or juxtaposition)
  • Not = ¬
  • Juxtaposition: no operator
example
Example
  • Expression: (x  ¬y)  (¬x  z)
  • CNF Notation: (x + ¬y)(¬x + z)
k cnf
k-CNF
  • k-Conjunctive Normal Form: an expression that contains a product of clauses. Each clause is the sum of exactly k distinct literals
example 2 cnf
Example: 2-CNF
  • (x + ¬y)(y + ¬z)(z + ¬x)
  • Why is it 2-CNF?
    • Each of the clauses has exactly two literals
csat and ksat
CSAT and kSAT
  • CSAT is a Boolean expression in CNF that is satisfiable
  • kSAT is a Boolean expression in k-CNF that is satisfiable
csat as a decision problem
CSAT as a Decision Problem
  • CSAT is the problem:
    • Given a Boolean expression in CNF, is it satisfiable?
  • Note: we can also write kSAT as a decision problem:
    • Given a Boolean expression in k-CNF, is it satisfiable?
np complete
NP-Complete?
  • CSAT, 3SAT, and kSAT for all k higher than 3 are NP-Complete
  • 1SAT and 2SAT have linear-time algorithms
reduction of sat to csat
Reduction of SAT to CSAT
  • Done in two parts:
    • Part 1: “Push” the negations through the Boolean expression so that variables are the only thing with negations
      • With good data structure design takes linear time
    • Part 2: Write the Boolean expressions in CNF form
      • Done by introducing new variables
      • Takes polynomial time
helpful rules for part 1
Helpful Rules for Part 1:
  • ¬(E  F) => ¬(E)  ¬(F)
    • One of DeMorgan’s Laws
  • ¬(E  F) => ¬(E)  ¬(F)
    • Another one of DeMorgan’s Laws
  • ¬(¬E)) => E
    • Law of Double Negation
theorem 10 12
Theorem 10.12
  • Every Boolean expression E is equivalent to an expression F in which the only negations occur in literals.
  • Moreover, the length of F is linear in the number of symbols of E, and F can be constructed from E in polynomial time
proof for theorem 10 12
Proof for Theorem 10.12
  • Done using Induction
  • Accomplished by showing that for expression E there is an equivalent expression F with ¬’s only in literals
  • Also, must show that if E has n>=1 operators, then F has no more than 2n-1 operators
length of f
Length of F
  • F does not have more than 1 pair of parentheses per operator
  • The number of variables in an expression cannot exceed the number of operators by more than 1
  • The length of F is linearly proportional to the length of E
  • Also, the construction of F is simple and the time to construct F is proportional to the length
basis
Basis:
  • E has one operator
    • Possible forms (for variables x, y)
      • ¬x
      • x  y
      • x  y
    • E is already in the correct form!
    • Therefore, E = F
      • Also note: F has at most twice the number of operators as E minus 1 holds
induction
Induction:
  • Assume true  expressions w/fewer terms than E
  • E must be in form:
    • E1 E2
    • E1 E2
  • There are equivalent F1 and F2
  • E1 has a operators, E2 has b operators
    •  E has a + b + 1 operators
induction continued
Induction (continued)
  • F is formed using F1 and F2
    • F = F1 F2
    • F = F1 F2
  • F1 has at most 2a-1 operators, F2 has 2b-1 operators
    •  F has at most 2a + 2b -1 operators
  • F has no more than 2(a+b+1)-1 operators
    • i.e., F has no more than twice the number of operators of E minus 1
induction continued21
Induction (continued)
  • E is of the form ¬E1
  • There are three cases:
    • E1 = ¬E2
    • E1 = E2 E3
    • E1 = E2 E3
case 1 e 1 e 2
Case 1: E1 = ¬E2
  • By the law of double negation, E = E2.
  • E2 has fewer operators than E
    • There is an F for E2 that have ¬’s only in literals
  • The number of operators of F is at most twice the number in E2 minus 1 (and the same is true for E)
case 2 e 1 e 2 e 3
Case 2: E1 = E2 E3
  • By DeMorgan’s Law:
    • E= ¬(E2 E3) = ¬E2 ¬E3
  • ¬E2 and ¬E1 have fewer operators than E
    • There is F2 and F3 that have ¬’s only in literal
    • F = F2 F3 = E
  • ¬E2has a+1 operators, ¬E3 has b+1 operators
  • F2 has at most 2(a+1)-1 operators, F3 has at most 2(b+1)-1 operators
  • F has at most 2a+2b+3 operators,
    • (i.e., twice the number of operators of E minus 1)
case 3 e 1 e 2 e 3
Case 3: E1 = E2 E3
  • Done using same argument as E1 = E2 E3
theorem 10 13
Theorem 10.13
  • CSAT is NP-Complete
  • Proof:
    • Reduce SAT to CSAT in polynomial time
      • Convert an instance of SAT into expression E using Theorem 10.12
      • Convert E to CNF expression F in polynomial time
      • Show that F is satisfiable iff E is satisfiable
basis26
Basis:
  • If E consists of 1 or 2 symbols, then it is a literal.
  • A literal is a clause, therefore E is already in CNF
induction27
Induction:
  • Assume:
    • Every expression shorter than E can be converted to a product of clauses
    • Conversion takes at most cn2 time on expressions of length n
  • There are two cases:
    • E = E1 E2
    • E = E1 E2
case 1 e e 1 e 2
Case 1: E = E1 E2
  • By the inductive hypothesis:
    • All and only the satisfying assignments of
      • E1 can be extended to a satisfying assignment for F1
      • E2 can be extended to a satisfying assignment for F2
    • Assume: F1 and F2 are distinct variables
    • Let F = F1 F2 where:
      • F1 F2 is a CNF expression if F1and F2 are CNF expressions
  • Need to show: Truth assignment T for E can be extended to a satisfying assignment for F iff T satisfies E
case 1 if part
Case 1: If Part
  • Suppose: T satisfies E
    • Let: T1 be T restricted to apply to only variables in E1
    • Let: T2 be T restricted to apply to only variables in E2
    • T1 and T2 can be extended to assignments S1 and S2 that satisfy F1 and F2
    • Let S agree with S1 and S2
    • S is an extension of T that satisfies F!
case 1 only if part
Case 1: Only-If Part
  • Suppose: T has extension S that satisfies F
    • Let: T1 be T restricted to apply to only variables in E1
    • Let: T2 be T restricted to apply to only variables in E2
    • Let: S1 be S restricted to the variables of F1
    • Let: S2 be S restricted to the variables of F2
    • Then: S1 is an extension of T1 and S2 is an extension of T2
    • F = F1 F2, then S1 satisfies F1 and S2 satisfies F2
    • T1 must satisfy E1 and T2 must satisfy E2 => T satisfies E!
case 2 e e 1 e 2
Case 2: E = E1 E2
  • By the inductive hypothesis: CNF expressions F1 and F2 have the properties:
    • A truth assignment for E1 satisfies E1 iff it can extended to a satisfying assignment for F1
    • A truth assignment for E2 satisfies E2 iff it can extended to a satisfying assignment for F2
    • F1 and F2 are disjoint except for those variables that appear in E
    • F1 and F2 are in CNF
  • Note: A simple OR of F1 and F2 to construct F would not result in an expression in CNF.
    • A more complicated construction will be needed
case 2 continued
Case 2: Continued
  • Suppose: (where gi and hi are clauses)
    • F1 = g1 g2  …  gp
    • F2 = h1 h2  …  hp
  • Let: (where y is a new variable)
    • F = (y+g1) * (y+g2) *… * (y+gp) * (¬y+h1) * (¬y+h2) *… * (¬y+hq)
  • Show: A truth assignment T for E satisfies E iff T can be extended to a truth assignment S that satisfies F
case 2 only if part
Case 2: Only-If Part
  • Assume: T satisfies E
    • Let: T1 be T restricted to apply to only variables in E1
    • Let: T2 be T restricted to apply to only variables in E2
    • E = E1 E2 then either:
      • T satisfies E1 or T satisfies E2
    • W.L.O.G Assume: T satisfies E1
      • T1 can be extended to S1 which satisfies F1
case 2 only if part cont
Case 2: Only-If Part Cont.
  • Construct S for T
    • Rules for S will satisfy F
      •  variables x in F, S(x) = S1(x)
      • S(y) = 0 (i.e., all clauses of F derived from F2 true)
      •  variables x in F2 but not in F1, S(x) is T(x) if T(x) is defined (otherwise either 0 or 1)
  • S makes all clauses derived from the g’s true by Rule 1
  • S makes all clauses derived from the h’s true by Rule 2
  • S satisfies F!
case 2 if part
Case 2: If Part
  • Suppose: Truth assignment T for E is extended to truth assignment S for F and S satisfies F
  • T satisfies E whenever S satisfies F
  • Show: Time to construct F from E is at most quadratic in n (where n is the length of E)
case 2 if part cont
Case 2: If Part Cont.
  • Takes linear (in size of E) time to:
    • Splitting E into E1 and E2
    • Constructing F from F1 and F2
  • Let:
    • dn = upper bound on time to construct E1 and E2 plus construction of F
    • n = the length of E
case 2 if part cont37
Case 2: If Part Cont.
  • T(n): (a recurrence equation) time to construct F from any E
    • T(1) = T(2) ≤ e (for some constant e)
    • T(n) ≤ dn + cmax0<i<n-1(T(i)+T(n-1-i))
      • For n≥3 where c is a constant such that it can be shown that T(n) ≤ cn2
  • T(1) & T(2): If E has 1 or 2 symbols, no recursion and process takes time e
  • Otherwise, conversion from E to F is:
    • E to E1 and E2, F to F1 and F2 => takes dn
    • 2 recursive conversions: E1 to F1 and E2 to F2
case 2 if part cont38
Case 2: If Part Cont.
  • There is a constant c such that for all n, T(n) ≤ cn2
  • Thus, the construction of F from E takes O(n2)!
theorem 10 15
Theorem 10.15
  • 3SAT is NP-Complete
  • Proof:
    • 3SAT is NP since SAT is NP
    • Reduce CSAT to 3SAT
proof
Proof:
  • Given a CNF expression E = e1…  ek, replace each clause ei to create a new expression F
    • ei = (x), introduce new variables u and v
      • Replace with (x+u+v)(x+u+ ¬v)(x+¬u+v)(x+¬u+¬v)
    • ei = (x+y), introduce new variable z
      • Replace with (x+y+z)(x+y+¬z)
    • ei = sum of 3 literals, no replacement needed
    • ei = (x1+…+xm) for some m>=4, introduce new variables y1, …, ym-3
      • Replace with (x1+x2+y1)(x3+¬y1+y2)(x4+¬y2+y3)…(xm-2+¬ym-4+ym-3)(xm-1+xm+ym-3)
proof cont
Proof Cont.
  • Thus, each instance of E of CSAT can be reduced to an instance of F of 3SAT such that F is satisfiable iff E is satisfiable
  • Construction time is linear in length of E
  • Since CSAT is NP-Complete, 3SAT is NP-complete!