Download presentation
Presentation is loading. Please wait.
Published byCharlotte Reynolds Modified over 6 years ago
1
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r : x: x L1 iff r(x) L2 L is NP-hard means: L’ NP: L’ ≤ L L is in NPC means: L NP and L is NP-hard
2
How to establish NP-hardness
Lemma: If L1 is NP-hard and L1 ≤ L then L2 is NP-hard.
3
Boolean functions f: {false, true}n {false,true}
Example: XOR(x1, x2) = x1 x2 XOR(true , true) = false In this course 0=false, 1=true. XOR(1,1)=0
4
Two special classes of Boolean formulae
f(x1, x2) = x1 x2 DNF: f(x1, x2) = (x1 ∧ ¬x2) ∨ (x2 ∧ ¬x1) CNF: f(x1, x2) = (¬x1 ∨ ¬x2) ∧ (x1 ∨ x2) A CNF is any conjunction of clauses (disjunctions of literals). A DNF is any disjunction of terms (conjunctions of literals). Any function on n variables can be described by a CNF (DNF) formula containing at most 2n clauses (terms), each containing at most n literals.
5
SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true? SAT: Given a CNF, is it true that it does not represent the constant-0 function? Input: (¬x1 ∨ ¬x2) ∧ (x1 ∨ x2) Output: Yes. Input: (¬x1 ∨ ¬x2) ∧ (x1 ∨ x2) ∧ (x1 ∨ ¬x2 ) ∧ (¬x1 ∨ x2) Output: No.
6
SAT SAT is in NP. Cook’s theorem (1972): SAT is NP-hard.
7
Circuits A circuit C is a directed acyclic graph.
Nodes in C are called gates. Types of gates: Variable (or input) gates of indegree 0, labeled X1, X2, …Xn Constant gates of indegree 0, labeled 0,1 AND-, OR-gates of indegree 2, NOT-, COPY-gates of indegree 1. m distinguished gates are output gates. The circuit C computes a Boolean function C: {0,1}n {0,1}m
8
A formula can be viewed as a special kind of circuit
f(X1, X2, X3) = ¬X1 ∨(X1 ∧ X2 ∧ X3) ⋁ ⋀ ⋀ X3 X1 X2
9
Are formulas and circuits in fact the same thing?
Not quite! Given a circuit, we can write down an equivalent formula, but in may become much bigger. A circuit is allowed to reuse the result of a sub-computation without doing the computation again!
10
Multi-output circuits
Any function f: {0,1}n {0,1}m is represented by some circuit. Proof: Any function f: {0,1}n {0,1} can be described by a Boolean formula. A formula can also be viewed as a circuit. Combine m such circuits.
11
Cooks’ theorem: SAT is NP-hard
Proof of Cook’s theorem: CIRCUIT SAT is NP-hard. CIRCUIT SAT reduces to SAT. Hence, SAT is NP-hard.
12
CIRCUIT SAT CIRCUIT SAT: Given a Boolean circuit, is there a way to assign truth values to the input gates, so that the output gate evaluates to true? Generalizes SAT, as CNFs are formulas and formulas are circuits.
13
Example ⋁ Input: ⋀ Output: Yes ⋀ X3 X1 X2
14
Example ⋀ Input: ⋀ Output: No ⋀ X3 X1 X2
15
Cooks’ theorem: SAT is NP-hard
Proof of Cook’s theorem: CIRCUIT SAT is NP-hard. CIRCUIT SAT reduces to SAT. Hence, SAT is NP-hard. We first prove CIRCUIT SAT reduces to SAT
16
Circuits vs. Turing Machines
We consider Circuits also as computational devices themselves. Like Turing Machines, circuits C: {0,1}n {0,1} solve decision problems on {0,1}n. Unlike Turing machines, circuits takes inputs of a fixed input length n only.
17
Theorem Given Turing Machine M running in time at most p(n)≥n on inputs of length n, where p is a polynomial. For every n, there is a circuit Cn with at most O(p(n)2) gates so that ∀x ∈ {0,1}n: Cn(x)=1 iff M accepts x. The map 1n Cn is polynomial time computable.
18
Intuition behind proof
19
Problem: Cycles! Flip-Flop, stores one bit.
20
The Tableau Method … Time t Time 1 Can be replaced by acyclic Boolean
circuit of size ≈ s s 2 1 Time 0
21
Cell state vectors Given a Turing Machine computation, an integer t and an integer i let cti {0,1}s be a Boolean representation of the following information, a cell state vector: The symbol in cell i at time t Whether or not the head is pointing to cell i at time t If the head is pointing to cell i, what is the state of the finite control of the Turing machine at time t? The integer s depends only on the Turing machine (not the input to the computation, nor t,i). To make cti defined for all t, we let c(t+1)i = cti if the computation has already terminated at time t.
22
Crucial Observation If we know the Turing machine and
ct-1,i-1, ct-1,i, ct-1, i+1, we also can determine ct,i. In other words, there is a Boolean function h depending only on the Turing machine so that ct,i = h(ct-1,i-1, ct-1,i, ct-1,i+1). A circuit D for h is the central building block in a circuit computing all cell state vectors for all times for a given input.
23
t(n) x1 xn 2 t(n)
24
Cooks’ theorem: SAT is NP-hard
Proof of Cook’s theorem: CIRCUIT SAT is NP-hard. CIRCUIT SAT reduces to SAT. Hence, SAT is NP-hard.
25
CIRCUIT SAT is NP-hard Given an arbitrary language L in NP we must show that L reduces to CIRCUIT SAT. This means: We must construct a polynomial time computable map r mapping instances of L to circuits, so that ∀x: x ∈ L ⇔ r(x) ∈ CIRCUIT SAT The only thing we know about L is that there is a language L’ in P and a polynomial p, so that:
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.