-
P vs. NP
Theorem 8.15.
If a decision problem P is NP-complete and P ∈ P, then P = NP.
Proof: See definition of NP-completeness and Lemma 8.6.
There are two possible szenarios for the shape of the complexity world:
NP
PNP-c
scenario A
P = NP = NP-c
scenario B
I It is widely believed that P 6= NP, i. e., scenario A holds.
I Deciding whether P = NP or P 6= NP is one of the seven milleniumprize problems established by the Clay Mathematics Institute in 2000.
227
228
-
Complexity Class coNP and coNP-Complete Problems
Definition 8.16.
i The complement of decision problem P = (X ,Y ) is P̄ := (X ,X \ Y ).ii coNP := {P̄ | P ∈ NP}iii A problem P ∈ coNP is coNP-complete if all problems in coNP
polynomially transform to P.
Theorem 8.17.
i P is NP-complete if and only if P̄ is coNP-complete.ii Unless NP = coNP, no coNP-complete problem is in NP.
iii Unless P = NP, there are problems in NP that are neither in P norNP-complete.
229
Complexity Landscape (Widely Believed)
coNPNP
PNP-c coNP-c
Remark.I Almost all problems that are known to be in NP ∩ coNP are also
known to be in P.I One of few exceptions used to be the problem Primes (given a
positive integer, decide whether it is prime), before it was shown tobe in P by Agrawal, Kayal, and Saxena in 2002.
230
-
The Asymmetry of Yes and NoExample:For a given TSP instance, does there exist a tour of cost ≤ 1573084?
Pictures taken from www.tsp.gatech.edu
231
Partition Problem
Partition Problem
Given: positive integers a1, . . . , an ∈ Z>0.
Task: decide whether there exists S ⊆ {1, . . . , n} with∑i∈S
ai =∑
i∈{1,...,n}\S
ai .
Theorem 8.18.
i The Partition problem can be solved in pseudopolynomial time.
ii The Partition Problem is NP-complete.
Proof of (i): . . .
232
www.tsp.gatech.edu
-
Strongly NP-Complete Problems
Let P = (X ,Y ) be a decision problem, p : Z→ Z a polynomial function.I Let Xp ⊂ X denote the subset of instances x where the absolute value
of every (integer) number in the input x is at most p(size(x)).
I Let Pp := (Xp,Y ∩ Xp).
Definition 8.19.
A problem P ∈ NP is strongly NP-complete if Pp is NP-complete forsome polynomial function p : Z→ Z.
Theorem 8.20.
Unless P = NP, there is no pseudopolynomial algorithm for any stronglyNP-complete problem P.
Proof: Such an algorithm would imply that the NP-complete problem Ppis in P and thus P = NP.
233
Strongly NP-Complete Problems (cont.)Examples:
I The decision problem corresponding to the Traveling SalespersonProblem (TSP) is strongly NP-complete.
I The Partition problem is NP-complete but not strongly NP-complete(unless P = NP, by Theorem 8.20).
I The 3-Partition problem below is strongly NP-complete.
3-Partition Problem
Given: positive integers a1, . . . , a3n,B ∈ Z>0 with∑3n
i=1 ai = nB.
Task: decide whether the index set {1, . . . , 3n} can be partitioned into ndisjoint subsets S1, . . . ,Sn such that
∑i∈Sj ai = B for j = 1, . . . , n.
Remark.I The 3-Partition problem remains strongly NP-complete if one adds
the requirement that B/4 < ai < B/2 for all i = 1, . . . , 3n.I Notice that each Sj must contain exactly three indices in this case.
234
-
NP-Hardness
Definition 8.21.
Let P be an optimization or decision problem.i P is NP-hard if all problems in NP polynomially reduce to it.ii P is strongly NP-hard if Pp is NP-hard for some polynomial
function p.
Remarks.I A sufficient criterion for an optimization problem to be (strongly)
NP-hard is the (strong) NP-completeness or (strong) NP-hardness ofthe corresponding decision problem.
I It is open whether each NP-hard decision problem P ∈ NP isNP-complete (difference between Turing and Karp reduction!).
I An example of an NP-hard decision problem that does not appear tobe in NP (and thus might not be NP-complete) is the following:
Given an instance of SAT, decide whether the majority of all truthassignments satisfy all clauses.
235
NP-Hardness (cont.)
Theorem 8.22.
Unless P = NP, there is no polynomial time algorithm for any NP-harddecision or optimization problem.
Proof: Clear.
Remark: It is thus widely believed that problems like the TSP and all otherNP-hard optimization problems cannot be solved in polynomial time.
236
-
Complexity of Linear Programming
I As discussed in Chapter 4, so far no variant of the simplex methodhas been shown to have a polynomial running time.
I Therefore, the complexity of Linear Programming remainedunresolved for a long time.
I Only in 1979, the Soviet mathematician Leonid Khachiyan provedthat the so-called ellipsoid method earlier developed for nonlinearoptimization can be modified in order to solve LPs in polynomial time.
I In November 1979, the New York Times featured Khachiyan and hisalgorithm in a front-page story.
I We will give a sketch of the ellipsoid method and its analysis.
I More details can, e. g., be found in the book of Bertsimas & Tsitsiklis(Chapter 8) or in the book Geometric Algorithms and CombinatorialOptimization by Grötschel, Lovász & Schrijver (Springer, 1988).
237
New York Times, Nov. 27, 1979 238
IntroductionLinear Programming BasicsThe Geometry of Linear ProgrammingThe Simplex MethodDuality TheoryOptimal Trees and PathsMaximum Flow ProblemsMinimum-Cost Flow ProblemsNP-Completeness