How to establish NP -hardness

1 / 15

# How to establish NP -hardness - PowerPoint PPT Presentation

How to establish NP -hardness. Lemma : If L 1 is NP - hard and L 1 ≤ L 2 then L 2 is NP - hard. SAT. SAT is in NP . Cook’s theorem (1972): SAT is NP -hard. SAT.

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

## How to establish NP -hardness

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
How to establish NP-hardness

Lemma: If L1 is NP-hard and L1 ≤ L2then L2 is NP-hard.

SAT

SAT is in NP.

Cook’s theorem (1972): SAT is NP-hard.

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.

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.

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.

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:

Theorem

Given Turing Machine M for L’ running in time at most q(n) on inputs of length n, where q is a polynomial.

For every n, there is a circuit Cn with at most O(q(n)2) gates so that

∀x∈ {0,1}n: Cn(x)=1 iffM accepts x.

The map 1nCn is polynomial time computable.

The Tableau Method

Time t

Time 1

Can be replaced by

acyclic Boolean

circuit of size ≈ s

1

2

s

Time 0

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.

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.

t(n)

x1

xn

2 t(n)

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.

TSP

HAMILTONIAN CYCLE

MIN VERTEX COLORING

SAT

MAX INDEPENDENT SET

SET COVER

ILP

MILP

KNAPSACK

TRIPARTITE MATCHING

BINPACKING