Upload
ryann
View
22
Download
0
Embed Size (px)
DESCRIPTION
L is in NP means: There is a language L ’ in P and a polynomial p so that L 1 ≤ L 2 means: For some polynomial time computable map r : x : x L 1 iff r ( x ) L 2 L is NP -hard means: L ’ NP : L ’ ≤ L L is in NPC means: - PowerPoint PPT Presentation
Citation preview
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 ≤ L2 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
How to represent Boolean functions on a computer
•Tables.•Formulae.
5
Tables
•More compact representation as Boolean String: “0110”.•A function f: {0,1}n {0,1} can be represented as a table using … ……..2n bits
6
Boolean Formulae
•X1, X2, …, Xn are formulae.
•If f is a formula then f is a formula.
•If f1 and f2 are formulae then (f1) ∧ (f2) and (f1) ∨ (f2) are formulae.
•Sometimes we leave out parentheses….
7
Formulae represent Boolean functions
•“(x1 ∧x2) ∨ (x2 ∧x1)” represents the function XOR.
•Sometimes formula-representation is much more compact than table representation. Sometimes not.
•It’s never much less compact.
8
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.
9
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.
10
SAT
•SAT is in NP.
•Cook’s theorem (1972): SAT is NP-hard.
11
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
12
A formula can be viewed as a special kind of circuit
f(X1, X2, X3) = ¬X1 ∨(X1 ∧ X2 ∧ X3)
⋀
⋁
¬
X1 X2X3
⋀
X1
13
A formula can be viewed as a special kind of circuit
f(X1, X2, X3) = ¬X1 ∨(X1 ∧ X2 ∧ X3)
⋀
⋁
¬
X1 X2X3
⋀
Convention: For each j, at most gate is labeled Xj
14
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!
15
Multi-output circuitsAny 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.
16
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.
17
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.
18
Example
⋀
⋁
X1 X2X3
⋀
Input:
Output: Yes
¬
19
Example
Output: No⋀
⋀
X1 X2X3
⋀
Input:
¬
20
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
21
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.
22
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.
23
Intuition behind proof
24
Problem: Cycles!
Flip-Flop, stores one bit.
25
The Tableau Method
Time 0
Time 1
Time t
…
s21
Can be replaced byacyclic Booleancircuit of size ≈ s
26
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.
27
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.
282 t(n)
t(n)
x1 xn