Computational Complexity Theory Lecture 6 Ladners theorem Indian
- Slides: 48
Computational Complexity Theory Lecture 6: Ladner’s theorem Indian Institute of Science
Recap: Diagonalization �Diagonalization refers to a class of techniques used in complexity theory to separate complexity classes. �These techniques are characterized by two main features: 1. There’s a universal TM U that when given strings α and x, simulates Mα on x with only a small overhead. 2. Every string represents some TM, and every TM can be represented by infinitely many strings.
Recap: Time Hierarchy Theorem �Let f(n) and g(n) be time-constructible functions s. t. , f(n). log f(n) = o(g(n)). �Theorem. DTIME(f(n)) ⊊ DTIME(g(n)) P ⊊ EXP
Ladner’s Theorem - Another application of Diagonalization
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete.
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete. NPC NP-intermediate NP P
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete. NPC NP P NP-intermediate (integer factoring, graph isomorphism ? ? )
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete. … the notion makes sense only if P ≠ NP
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete. �Theorem. (Ladner) If P ≠ NP then there is an NPintermediate language.
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete. �Theorem. (Ladner) If P ≠ NP then there is an NPintermediate language. Proof. A delicate argument using diagonalization.
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete. �Theorem. (Ladner) If P ≠ NP then there is an NPintermediate language. Proof. Let H: N N be a function.
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete. �Theorem. (Ladner) If P ≠ NP then there is an NPintermediate language. Proof. Let H: N N be a function. Let m. H(m) SATH = {Ψ 0 1 : Ψ ∈ SAT and |Ψ| = m}
NP-intermediate problems �Definition. A language L in NP is NPintermediate if L is neither in P nor NP-complete. �Theorem. (Ladner) If P ≠ NP then there is an NPintermediate language. Proof. Let H: N N be a function. Let m. H(m) SATH = {Ψ 0 1 : Ψ ∈ SAT and |Ψ| = m} H would be defined in such a way that SATH is NPintermediate (assuming P ≠ NP )
Ladner’s theorem: Constructing H �Theorem. There’s a function H: N N such that 1. H(m) is computable from m in O(m 3) time
Ladner’s theorem: Constructing H �Theorem. There’s a function H: N N such that 1. H(m) is computable from m in O(m 3) time 2. SATH ∈ P H(m) ≤ C (a constant) for every m
Ladner’s theorem: Constructing H �Theorem. There’s a function H: N N such that 1. H(m) is computable from m in O(m 3) time 2. SATH ∈ P H(m) ≤ C (a constant) 3. If SATH ∉ P then H(m) ∞ with m
Ladner’s theorem: Constructing H �Theorem. There’s a function H: N N such that 1. H(m) is computable from m in O(m 3) time 2. SATH ∈ P H(m) ≤ C (a constant) 3. If SATH ∉ P then H(m) ∞ Proof: Later (uses diagonalization). with m
Ladner’s theorem: Proof P ≠ NP �Suppose SATH ∈ P. Then H(m) ≤ C.
Ladner’s theorem: Proof P ≠ NP �Suppose SATH ∈ P. Then H(m) ≤ C. �This implies a poly-time algorithm for SAT as follows:
Ladner’s theorem: Proof P ≠ NP �Suppose SATH ∈ P. Then H(m) ≤ C. �This implies a poly-time algorithm for SAT as follows: Ø On input ϕ , find m = |ϕ|.
Ladner’s theorem: Proof P ≠ NP �Suppose SATH ∈ P. Then H(m) ≤ C. �This implies a poly-time algorithm for SAT as follows: Ø On input ϕ , find m = |ϕ|. m. H(m) Ø Compute H(m), and construct the string ϕ 0 1
Ladner’s theorem: Proof P ≠ NP �Suppose SATH ∈ P. Then H(m) ≤ C. �This implies a poly-time algorithm for SAT as follows: Ø On input ϕ , find m = |ϕ|. m. H(m) Ø Compute H(m), H(m) and construct the string ϕ 0 1 m Ø Check if ϕ 0 1 belongs to SATH
Ladner’s theorem: Proof P ≠ NP �Suppose SATH ∈ P. Then H(m) ≤ C. �This implies a poly-time algorithm for SAT as follows: Ø On input ϕ , find m = |ϕ|. m. H(m) Ø Compute H(m), H(m) and construct the string ϕ 0 1 m Ø Check if ϕ 0 1 belongs to SATH length at most m + 1 + m. C
Ladner’s theorem: Proof P ≠ NP �Suppose SATH ∈ P. Then H(m) ≤ C. �This implies a poly-time algorithm for SAT as follows: Ø On input ϕ , find m = |ϕ|. m. H(m) Ø Compute H(m), H(m) and construct the string ϕ 0 1 m Ø Check if ϕ 0 1 �As belongs to SATH P ≠ NP, it must be that SATH ∉ P.
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m.
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ |ϕ| = n Ψ 0 1 k |Ψ 0 1 k| = nc
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|.
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m).
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). Either m is small (in which case the task reduces to checking if a small Ψ is satisfiable),
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). or H(m) > 2 c (as H(m) tends to infinity with m).
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). Ø Hence, w. lo. g. |f(ϕ)| ≥ m 2 c
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). Ø Hence, w. l. o. g. nc = |f(ϕ)| ≥ m 2 c
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). Ø Hence, √n ≥ m
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). Ø Hence, √n ≥ m. Also ϕ ∈ SAT iff Ψ ∈ SAT
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). Ø Hence, √n ≥ m. Also ϕ ∈ SAT iff Ψ ∈ SAT Thus, checking if an n-size formula ϕ is satisfiable reduces to checking if a √n-size formula Ψ is satisfiable.
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). Ø Hence, √n ≥ m. Also ϕ ∈ SAT iff Ψ ∈ SAT Do this recursively! Only O(log n) recursive steps required.
Ladner’s theorem: Proof P ≠ NP �Suppose SATH is NP-complete. Then H(m) ∞ with m. �This also implies a poly-time algorithm for SAT: f SAT ≤p SATH ϕ Ψ 0 1 k Ø On input ϕ, compute f(ϕ) = Ψ 0 1 k. Let m = |Ψ|. Ø Compute H(m) and check if k = m. H(m). Ø Hence, √n ≥ m. Also ϕ ∈ SAT iff Ψ ∈ SAT � Hence SATH is not NP-complete, as P ≠ NP.
Ladner’s theorem: Properties of H �Theorem. There’s a function H: N N such that 1. H(m) is computable from m in O(m 3) time 2. SATH ∈ P H(m) ≤ C (a constant) 3. If SATH ∉ P then H(m) �SATH m. H(m) = {Ψ 0 1 ∞ with m : Ψ ∈ SAT and |Ψ| = m}
Construction of H �Observation. The value of H(m) determines membership in SATH of strings whose length is ≥ m. �Therefore, it is OK to define H(m) based on strings in SATH whose length is < m (say, log m).
Construction of H �Observation. The value of H(m) determines membership in SATH of strings whose length is ≥ m. �Therefore, it is OK to define H(m) based on strings in SATH whose length is < m (say, log m). �Construction. H(m) is the smallest k < log m s. t. 1. Mk decides membership of all length up to log m strings x in SATH within k. |x|k time.
Construction of H �Observation. The value of H(m) determines membership in SATH of strings whose length is ≥ m. �Therefore, it is OK to define H(m) based on strings in SATH whose length is < m (say, log m). �Homework. Prove that H(m) is computable from m in O(m 3) time.
Construction of H �Claim. If SATH ∈ P then H(m) ≤ C (a constant). �Proof. There is a poly-time M that decides membership of every x in SATH within c. |x|c time.
Construction of H �Claim. If SATH ∈ P then H(m) ≤ C (a constant). �Proof. There is a poly-time M that decides membership of every x in SATH within c. |x|c time. �As M can be represented by infinitely many strings, there’s anα ≥ c s. t. M = Mα decides membership of every x in SATH within α. |x|α time. �So, for every m satisfying α < log m, H(m) ≤ α.
Construction of H �Claim. If H(m) ≤ C (a constant) then SATH ∈ P. �Proof. There’s a k ≤ C s. t. H(m) = k for infinitely many m.
Construction of H �Claim. If H(m) ≤ C (a constant) then SATH ∈ P. �Proof. There’s a k ≤ C s. t. H(m) = k for infinitely many m. �Pick any x ∈ {0, 1}*. Think of a large enough m s. t. |x| ≤ log m and H(m) = k.
Construction of H �Claim. If H(m) ≤ C (a constant) then SATH ∈ P. �Proof. There’s a k ≤ C s. t. H(m) = k for infinitely many m. �Pick any x ∈ {0, 1}*. Think of a large enough m s. t. |x| ≤ log m and H(m) = k. �This means x is correctly decided by Mk in k. |x|k time. So, Mk is a poly-time machine deciding SATH.
Natural NP-intermediate problem? �Integer factoring. FACT = {(N, U): there’s a prime ≤ U dividing N} �Claim. �So, NP. FACT ∈ NP ∩ co-NP FACT is NP-complete if and only if NP = co-
- Ladner theorem
- Baker gill solovay
- Amortized time big o
- The computational complexity of linear optics
- The computational complexity of linear optics
- For loop space complexity
- Green's theorem vs stokes theorem
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Cognitive complexity theory in hci examples
- Comprehension psychology
- Kavitha chunchu md
- Cognitive complexity theory in hci rules
- Natural language processing nlp - theory lecture
- Bayesian decision theory lecture notes
- Sargur srihari
- Natural language processing nlp - theory lecture
- Factor theorm
- Factor theorem
- Factor theorem and remainder theorem
- Conjugate theorem
- Rational root theroum
- Linear factors theorem and conjugate zeros theorem
- Characteristics of computational thinking
- Computational thinking algorithms and programming
- Grc computational chemistry
- Using mathematics and computational thinking
- Computational geometry tutorial
- Computational neuroscience usc
- Standard deviation computational formula
- Standard deviation computational formula
- Computational math
- Algorithmic thinking gcse
- Computational sustainability cornell
- Chomsky computational linguistics
- Xkcd computational linguistics
- Comp bio cmu
- Dsp computational building blocks
- Computational sustainability subjects
- Leerlijn computational thinking
- Computational demand
- Computational graph
- Computational graph
- Computational thinking jeannette m wing
- Hms research computing
- Computational photography uiuc
- Computational neuroethology
- Computational model in computer architecture
- Computational methods in plasma physics
- Computational irreducibility