Problem Analysis and Complexity Theory SS16 · Birgit Vogtenhuber Problem Analysis and Complexity...

Preview:

Citation preview

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 1

Welcome to ...

Problem Analysis and Complexity Theory716.054, 3 VU

Birgit VogtenhuberInstitute for Software Technology

Graz University of Technology

email: bvogt@ist.tugraz.atoffice: Inffeldgasse 16B/II, room IC02044

office hour: Wednesday 10:30-11:30

slides: http://www.ist.tugraz.at/pact16.html

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 2

Last Time• Two computational problems:

◦ the seating problem: HAMILTONIAN CYCLE

◦ the tour problem HAMILTONIAN PATH

• For both:

◦ efficient verification of a proposed solution

◦ no real statement about their computationalcomplexity

• Showed that their computational complexity is related:Tour ≤P Seating, Seating ≤P Tour

• Claimed that they are part of a complexity class calledNPC (NP-complete problems)

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 3-1

Last Time• Two classes of computational models:

1. Deterministic: DTM, multi-tape DTM, RAM

◦ all polynomially equivalent: Simulation of

- O(f(n))-time multi-tape DTM withO(f(n)2)-time DTM

- O(f(n))-time RAM with O(f(n)3)-time7-tape DTM

2. Nondeterministic: NTM

◦ simulation of NTM by DTM with anexponential blowup in time

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 3-4

Last Time• Church-Turing (hypo)thesis:

Conjecture: Deterministic Turing machines areas powerfull as the intuitive notion of algorithms.

• Definition of complexity classes via bounds on theamount of needed ressources of Turing machines.

• Number of different configurations of a Turing machinethat uses n cells of the tape (roughly):

|Γ|N × N × |Q|

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 4

Time ComplexityDefinition: Let t : N→ N be a complexity function.

• Deterministic Time:TIME(t(n)) := {L | L is a language decidable by an

O(t(n))-time det. TM }• Nondeterministic Time:

NTIME(t(n)) := {L | L is a language decidable by anO(t(n))-time nondet. TM }

• Det. Polynomial Time: P :=⋃

k≥1 TIME(nk)

• Nondet. Polynomial Time: NP :=⋃

k≥1 NTIME(nk)

• Det. Exponential Time: EXP :=⋃

k≥1 TIME(enk

)

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 5

Space ComplexityDefinition: Let t : N→ N be a complexity function.

• Deterministic Space:SPACE(t(n)) := {L | L is a language decidable by an

O(t(n))-space det. TM }• Nondeterministic Space:

NSPACE(t(n)) := {L | L is a language decidable by anO(t(n))-space nondet. TM }

• Det. Logarithmic Space: L := SPACE(log n)

• Nondet. Logarithmic Space: NL := NSPACE(log n)

• Det. Polynomial Space: PSPACE :=⋃

k≥1 SPACE(nk)

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 6

Space vs. TimeEXP

Theorem: P ⊆ PSPACEProof:• A TM that runs in O(t(n)) steps

uses at most O(t(n)) space.

Theorem: PSPACE ⊆ EXPProof:• A run of a determinstic TM M that halts must avoid

repeating a configuration.

• The running time is bounded from above by the numberc of configurations that M has.

• For M ∈ PSPACE, c is at most exponential.

PSPACE

P

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 7

Exercise: Name the Class

EXP

PSPACENPP

NL

L

• This picture presents a sequence of containmentbetween complexity classes.◦ Are you sure they are all true?◦ Which ones can you prove?◦ Are any containments strict?

• Consider the following problems:◦ anbncn◦ Minimum spanning tree◦ Hamiltonian cycle◦ Towers of Hanoi◦ Halting Problem

Can you name the smallest class for each of them?

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 8

Containment Relations

EXP

PSPACENPP

NL

L

L ⊆ NL ⊆ P ⊆ NP ⊆ PSPACE ⊆ EXP

• L ⊆ NL, P ⊆ NP:DTM = special case of NTM

• PSPACE ⊆ EXP, L ⊆ P:# configurations of a DTM

• P ⊆ PSPACE:O(f(n))-time ⇒ O(f(n))-space

• NP ⊆ PSPACE:simulate O(f(n))-time NTM with O(f(n))-space DTM

• NL ⊆ P: later in this course

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 9

Next Topics

EXP

PSPACENPP

NL

L

• The halting problem

• Separating complexityclasses

• Reductions

• NP-completeness

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 10-5

The Halting ProblemThe Problem: You are given some arbitrary DTM M

and some input x. ⇒ Does M halt on x?

Question: What is the language for the halting problem?

L = {(M,x) | M is the representation of a DTM andM halts on input x}

Theorem: The halting problem is Turing-recognizable.

Proof: Construct DTM H such that• On input (M,x), H simulates M on x.

• H accepts (M,x) if M halts on x.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 10-11

The Halting ProblemTheorem: The halting problem is undecidable.

Proof: • Assume there exists a DTM H such that• On input (M,x), H simulates M on x.• H accepts (M,x) if M halts on x.• H rejects (M,x) if M does not halt on x.

• Construct DTM D such that• On input M , D runs H on input (M,M).• D accepts M if H rejects (M,M).• D loops infinitely on M if H accepts (M,M).

• Run D on input D• D accepts D if H rejects (D,D) if D loops on D• D loops on D if H accepts (D,D) if D accepts D

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 11-5

P vs. EXPTheorem: P 6= EXP.

Proof Idea: We construct a language L ∈ EXP,which is not accepted by any TM in polynomial time:

L = {x | x = M#1c#1e#1d, d ≥ 0,M does not halt on x within c|x|esteps}

Lemma: L ∈ EXP.

Proof: L can be decided in O(|x| · |x||x|) time:Run M for c|x|e < |x| · |x||x| steps.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 11-8

P vs. EXPTheorem: P 6= EXP.

Proof Idea: We construct a language L ∈ EXP,which is not accepted by any TM in polynomial time:

L = {x | x = M#1c#1e#1d, d ≥ 0,M does not halt on x within c|x|esteps}

Lemma: L 6∈ P.

Proof: Assume a DTM MP accepts every x ∈ Lwithin polynomial time: O(nb) time for some b.

⇒ ∃a, b, n0: MP accepts x in a|x|b steps if |x| ≥ n0

Def. O-notation

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 11-10

P vs. EXPTheorem: P 6= EXP.

Proof Idea: We construct a language L ∈ EXP,which is not accepted by any TM in polynomial time:

L = {x | x = M#1c#1e#1d, d ≥ 0,M does not halt on x within c|x|esteps}

Lemma: L 6∈ P.

Proof: Assume a DTM MP accepts every x ∈ Lwithin polynomial time: O(nb) time for some b.

⇒ ∃a, b, n0: MP accepts x in a|x|b steps if |x| ≥ n0

⇒ Run MP on x = MP #1a#1b#1n0

⇒ MP accepts x if MP needs > a|x|b steps.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 12-1

Reductions• Motivation:

◦ Reductions are a main tool for comparing problems.

• Objective:

◦ Formalize the notion of “reductions”.

• Overview:

◦ Define Karp reductions (notation: ≤P )

◦ Example: show HAMPATH ≤P HAMCYCLE

◦ Closeness under reductions

◦ Define Cook reductions

◦ Discuss Completeness

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 12-4

ReductionsConcept: Consider two problems / languages A and B.Assume we can make

an efficient procedure for problem A

using an efficient procedure for problem B

Then it follows that

• A cannot be radically harder than B,

or, in other words,

• B is at least as hard as A.

Notation: A ≤x B

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 13-2

Karp Reductions: DefinitionDefinition: A language A is polynomial time (Karp)

reducible to a language B (denoted by A ≤P B), if

• there exists a polynomial time computable function

f : Σ∗A → Σ∗B (called reduction-function), such that

• w ∈ A ⇔ f(w) ∈ B.

there exists a DTM which computesf(w) from w in polynomial time

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 13-4

Karp Reductions: DefinitionDefinition: A language A is polynomial time (Karp)

reducible to a language B (denoted by A ≤P B), if

• there exists a polynomial time computable function

f : Σ∗A → Σ∗B (called reduction-function), such that

• w ∈ A ⇔ f(w) ∈ B.

AB

Σ∗A\A Σ∗B\B

f

Questions: Σ of DTM for f? Bounds on |f(w)|?

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 13-6

Karp Reductions: DefinitionDefinition: A language A is polynomial time (Karp)

reducible to a language B (denoted by A ≤P B), if

• there exists a polynomial time computable function

f : Σ∗A → Σ∗B (called reduction-function), such that

• w ∈ A ⇔ f(w) ∈ B.

Teminology: This type of reductions is also called . . .

. . . polynomial time Karp reduction

. . . polynomial time many-one reduction

. . . polynomial time mapping reduction

We will mostly use reductions of this type.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 14-2

Reductions and EfficiencyConcept: Consider two problems / languages A and B.Assume we can make

an efficient procedure for problem A

using an efficient procedure for problem B

polynomial-timealgorithm for B

Realization:

x ∈ B?x

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 14-3

Reductions and EfficiencyConcept: Consider two problems / languages A and B.Assume we can make

an efficient procedure for problem A

using an efficient procedure for problem B

polynomial-timealgorithm for B

polynomial-timealgorithm for f

w f(w)∈B?f(w)

Realization:

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 14-4

Reductions and EfficiencyConcept: Consider two problems / languages A and B.Assume we can make

an efficient procedure for problem A

using an efficient procedure for problem B

polynomial-timealgorithm for B

polynomial-timealgorithm for f

w f(w)∈B?f(w)

Realization:

w ∈ A?

a polynomial time algorithm for A

w ∈ A?

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 15

How to Reduce?Steps to show A ≤P B:

1. Come up with a reduction function f .

2. Show that f is polynomial time computable.

3. Prove that f is a reduction (of A to B), i.e., show:

• w ∈ A ⇒ f(w) ∈ B• f(w) ∈ B ⇒ w ∈ A

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 16-1

HAMPATH ≤P HAMCYCLEHAMPATH: Hamiltonian path

• L = {(G, s, t) | G is a directed graph with aHamiltonian path from s to t }

• Instance: A directed graph G = (V,E)and two vertices s 6= t ∈ V .

• Problem: Decide if G contains a Hamiltonian pathfrom s to t, i.e., a path that goes througheach node of G exactly once.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 16-2

HAMPATH ≤P HAMCYCLEHAMCYCLE: Hamiltonian cycle

• L = {G | G is a directed graphwith a Hamiltonian cycle }

• Instance: A directed graph G = (V,E)

• Problem: Decide if G contains a Hamiltonian cycle,i.e., a cycle that goes througheach node of G exactly once.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 16-8

HAMPATH ≤P HAMCYCLESteps to show HAMPATH ≤P HAMCYCLE:

1. Come up with a reduction function f :f(G=(V,E), s, t) := G′=(V ∪ u,E ∪ {(u, s), (t, u)})

2. Show that f is polynomial time computable.

X

X

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 16-10

HAMPATH ≤P HAMCYCLE

X

X

Steps to show HAMPATH ≤P HAMCYCLE:

1. Come up with a reduction function f :f(G=(V,E), s, t) := G′=(V ∪ u,E ∪ {(u, s), (t, u)})

2. Show that f is polynomial time computable.

3. Prove that f is a reduction:

• w ∈ HAMPATH ⇒ f(w) ∈ HAMCY CLE:Given a Hamiltonian path (s, . . . , t) in G,(s, . . . , t, u) is a Hamiltonian cycle in G′.

X

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 16-13

HAMPATH ≤P HAMCYCLE

X

X

X

Steps to show HAMPATH ≤P HAMCYCLE:

1. Come up with a reduction function f :f(G=(V,E), s, t) := G′=(V ∪ u,E ∪ {(u, s), (t, u)})

2. Show that f is polynomial time computable.

3. Prove that f is a reduction:

• w ∈ HAMPATH ⇒ f(w) ∈ HAMCY CLE:

• f(w) ∈ HAMCY CLE ⇒ w ∈ HAMPATH:In a Ham. cycle in G′, u must be preceeded by t andfollowed by s ⇒ A Ham. cycle in G′ is of the form(s, . . . , t, u). ⇒ Removing u yields a Ham. path(s, . . . , t) in G.

X

X

X

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 17

Closeness: DefinitionDefinition: A complexity class C is closed under

(some type x of) reductions, if

• L is x-reducible to L′ and L′ ∈ C⇒ L ∈ C as well.

Theorem:• The complexity classes P, NP, PSPACE, and EXP are

closed under polynomial time (Karp) reductions.

Proof:• Exercise

Question: What could be a different type of reduction?

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 18-1

Log-Space ReductionsDefinition: A language A is log-space (Karp) reducible

to a language B (denoted by A ≤L B), if

• there exists a log-space computable function

f : Σ∗A → Σ∗B (called reduction-function), such that

• w ∈ A ⇔ f(w) ∈ B.

AB

Σ∗A\A Σ∗B\B

f

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 18-3

Log-Space ReductionsDefinition: A language A is log-space (Karp) reducible

to a language B (denoted by A ≤L B), if

• there exists a log-space computable function

f : Σ∗A → Σ∗B (called reduction-function), such that

• w ∈ A ⇔ f(w) ∈ B.

Theorem:• The complexity classes L, NL, P, NP, PSPACE, and

EXP are closed under log-space (Karp) reductions.

Question: What could be a different type of reduction?

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 19-2

Cook ReductionsDefinition: A language A is Cook reducible

to a language B (denoted by A ≤PT B), if

• there exists an algorithm that solves A using

• a polynomial number of calls to a subroutine for B,

• and polynomial time outside of these subroutine calls.

algorithm for B

algorithm for AO(p(n)) calls

Teminology: Cook reductions are also calledpolynomial time Turing reductions

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 19-3

Cook ReductionsDefinition: A language A is Cook reducible

to a language B (denoted by A ≤PT B), if

• there exists an algorithm that solves A using

• a polynomial number of calls to a subroutine for B,

• and polynomial time outside of these subroutine calls.

Exercise: Make Cook reductions for

HAMPATH ≤PT HAMCYCLE,

HAMCYCLE ≤PT HAMPATH.

Teminology: Cook reductions are also calledpolynomial time Turing reductions

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 20

Cook vs. Karp Reductions

From now on: mostly Karp reductions

Question: Which complexity classes are closed underCook reductions?

Question: How do Cook reductions and polynomial timeKarp reductions differ?

• Cook reductions allow us to call the proceduremany times (instead of only once)

• When Karp reducing we must output the answerof the procedure (no post-processing)

• polynomial time Karp reductions are a special caseof Cook reductions

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 21-3

CompletenessDefinition: Let C be a complexity class and let L be alanguage. We say that L is C-complete (w.r.t. x-red.), if

1. L is in C, and

2. for every language L′ in C, L′ is x-reducible to L.

In other words:L is at least as hard as any language in C.

some type x of reductions

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 21-5

CompletenessDefinition: Let C be a complexity class and let L be alanguage. We say that L is C-complete (w.r.t. x-red.), if

1. L is in C, and

2. for every language L′ in C, L′ is x-reducible to L.

Theorem: If two complexity classes C and C′are bothclosed under x-reductions and there is a language L whichis complete (w.r.t. x-red.) for both, C and C′, thenC = C′.

Proof: We only show C ⊆ C′:All languages in C are x-reducible to L. Since C′ is closedunder x-reductions, it follows that C ⊆ C′.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 22

P-CompletenessDefinition: A language L is P-complete (w.r.t. ≤P ), if

1. L is in P (membership), and

2. for every language L′ in P: L′ ≤P L (hardness).

Question: Which languages in P are P-complete(w.r.t. ≤P )? Which are not?

Question: What about P-completeness with respect toCook reductions?

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 23

NP-Completeness

Theorem: If there exists any language that isNP-complete and is in P, then it follows that P = NP.

Definition: A language L is NP-complete (w.r.t. ≤P ), if

1. L is in NP (membership), and

2. for every language L′ in NP: L′ ≤P L (hardness).

Proof: Exercise

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 24-1

DiscussionWhat we achieved:

• We’ve introduced different types of reductions:

◦ Cook / Karp reductions

◦ log-space / poly-time reductions

• We’ve defined the notions ofcloseness and completeness

• We’ve seen how this can help us to prove equality ofcomplexity classes

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 24-2

DiscussionWhat we achieved:

• We’ve introduced different types of reductions:

◦ Cook / Karp reductions

◦ log-space / poly-time reductions

• We’ve defined the notions ofcloseness and completeness

• We’ve seen how this can help us to prove equality ofcomplexity classes

What’s missing:

We do not yet know any NP-complete languages.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 24-3

DiscussionWhat we achieved:

• We’ve introduced different types of reductions:

◦ Cook / Karp reductions

◦ log-space / poly-time reductions

• We’ve defined the notions ofcloseness and completeness

• We’ve seen how this can help us to prove equality ofcomplexity classes

What’s next:

• Present the first NP-complete problem: SAT

• Prove its NP-completenes: The Cook-Levin theorem

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 25

SAT: DefinitionSAT: Satisfiability of Boolean formulas

• SAT = {φ | φ is a satisfiable Boolean formula}Boolean formula: Boolean variables (values 0/F, 1/T)

Boolean operations (∧,∨,¬)

• Instance: A Boolean formula φExamples: ((x1 ∨ x2 ∨ ¬x3) ∧ ¬x1) ∨ ¬(x3 ∧ x2)

x1 ∧ ¬x1

• Problem: Decide if there exists atruth assignment for the variables of φsuch that φ evaluates to TRUE.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 26

SAT is NP-complete: Overview

To show that SAT is NP-complete, we need to show ...

• membership: SAT ∈ NP.

• hardness: L ≤P SAT ∀ L ∈ NP.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 27

SAT is a member of NP

Proof:

• Given a boolean formula φ and a truth assignment Tfor the variables of φ

• We can verify efficiently if φ(T ) evaluates to true.

Theorem:• SAT is in NP.

Proof: Exercise

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-2

SAT is NP-hardTo show that SAT is NP-hard, we need to show thatfor every problem L ∈ NP, L ≤P SAT.

Recall:The necessay steps to show A ≤P B are:

1. Come up with a reduction function f .

2. Show that f is polynomial time computable.

3. Prove that f is a reduction (of A to B), i.e., show:

• w ∈ A ⇒ f(w) ∈ B• f(w) ∈ B ⇒ w ∈ A

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-4

SAT is NP-hardTo show that SAT is NP-hard, we need to show thatfor every problem L ∈ NP, L ≤P SAT.

Proof Idea: Given a p(n)-time NTM Nand an input x for N ,

• construct a Boolean formula φN,x such that

• φN,x satisfiable ⇔ N accepts x.

Observation:If L ∈ NP, then there must exist an NTM N thatdecides L in at most p(n) = O(nc) steps.

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-5

SAT is NP-hard1a. The NTM N = (Q,Σ,Γ,∆,q0,qaccept,qreject):

• States: Q = {q0, . . . qk}• Alphabet: Γ = {a1, . . . al}• Input: x = {x1, . . . xn}• additional “Input”:

x0 := .xj := t ∀j ∈ {n+ 1, . . . , p(n)}

· · ·x1 x2 x3 x4. t t t

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-8

SAT is NP-hard1b. The variables for our formula φN,x:

variable indices meaning

statet,q t ∈ {0, . . . , p(n)} statet,q ≡ T⇔ N is in

q ∈ Q state q after t steps

post,i t, i ∈ {0, . . . , p(n)} post,i ≡ T⇔ N ’s head

is on cell i after t steps

tapet,i,a t, i ∈ {0, . . . , p(n)} tapet,i,a ≡ T⇔ cell i

a ∈ Γ contains symbol a

after t steps

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-9

SAT is NP-hard1c. Overview of the formula φN,x:

The formula φN,x consists of several parts:

• the boundary conditions B,

• the start conditions S,

• the transition conditions T1, T2, and

• the end condition E

Altogether, φN,x is of the form

φN,x := B ∧ S ∧ T1 ∧ T2 ∧ E

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-14

SAT is NP-hard1d. The helping formula G:

We will repeatedly use the following formula:

G(v1, . . . , vm) :=

(m∨i=1

vi

)∧

m−1∧j=1

m∧i=j+1

¬(vi ∧ vj)

Question: What is the size of G with respect to m?

Question: When is G(v1, . . . , vm) true?

G(v1, . . . , vm) ≡ T ⇔ exactly one vi ≡ T.

G has size O(m2).

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-20

SAT is NP-hard1e. The boundary conditions B for φN,x:

ensure that at any point t of time ...

• the NTM N is in exactly one state,

• the head of N is at exactly one position, and

• on the tape of N there is exactly one symbol.

Altogether, we obtain

B :=∧p(n)

t=0 G(statet,q0 , . . . , statet,qk)

∧∧p(n)

t=0 G(post,0, . . . , post,p(n))

∧∧p(n)

t=0

∧p(n)i=0 G(tapet,i,a1

, . . . , tapet,i,al)

Observation: The size of B is O(p(n)3).

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-22

SAT is NP-hard1f. The start conditions S for φN,x:

guarantee that for t = 0:

• the NTM N is in its start state q0,

• the head of N is at position zero, and

• on the tape of N there is the initial input.

Altogether, we obtain

S := state0,q0 ∧ pos0,0 ∧p(n)∧j=0

tape0,j,xj

Observation: The size of S is O(p(n)).

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-29

SAT is NP-hard1g. The transition conditions T1 for φN,x:

describe the changes during a transition from t to t+ 1:

• the local situation before the transition:Tb(t, i, q, a) := (statet,q ∧ post,i ∧ tapet,i,a)

• the local situation after the transition:Ta(t, i, q, a) :=

∨(q′,a′,r)∈∆(q,a)

(statet+1,q′∧post+1,i+D(r)∧tapet+1,i,a′)

with D(left) := −1, D(right) := 1

Altogether, we obtain

T1 :=

p(n)∧t,i=0

∧q∈Q,a∈Γ

(Tb(t, i, q, a)→ Ta(t, i, q, a))

A→B := ¬A ∨B

Size of T1 = O(p2(n))

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-33

SAT is NP-hard1h. The transition conditions T2 for φN,x:

ensures that all band positions but the one where the headis currently are not altered by a transition:

T2 :=

p(n)∧t,i=0

∧a∈Γ

((¬post,i ∧ tapet,i,a)→ tapet+1,i,a

)1i. The end condition E for φN,x:

checks whether the accepting state qa is reached.Assuming that once reached, the accepting state is neverleft again, it suffices to check for t = p(n).

E := statep(n),qa

Size of T2 = O(p2(n))

Size of E = O(1)

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-34

SAT is NP-hard1c. Overview of the formula φN,x:

The formula φN,x consists of several parts:

• the boundary conditions B,

• the start conditions S,

• the transition conditions T1, T2, and

• the end condition E

Altogether, φN,x is of the form

φN,x := B ∧ S ∧ T1 ∧ T2 ∧ E

2.All of sizepolynomialin p(n)

Graz University of TechnologyInstitute for Software Technology

Birgit Vogtenhuber Problem Analysis and Complexity Theory, 716.054, summer term 2016 28-36

SAT is NP-hardTo show that SAT is NP-hard, we need to show thatfor every problem L ∈ NP, L ≤P SAT.

Recall:The necessay steps to show A ≤P B are:

1. Come up with a reduction function f .

2. Show that f is polynomial time computable.

3. Prove that f is a reduction (of A to B), i.e., show:

• w ∈ A ⇒ f(w) ∈ B• f(w) ∈ B ⇒ w ∈ A

XX

Recommended