Lecture 19

P vs NP: State of the Art

Conjecture \(P\neq NP\). For any \(NP-complete\) \(L\) and any \(c>0\), there is no algorithm that computes \(L\) in time \(O(n^c)\).

Conjecture (Strong Exponential-time Hypothesis) There is a constant \(\delta > 0\) such that every algorithm that computes \(SAT\) has time complexity \(\Omega(2^{\delta n})\).

Theorem 1 There exists a language such that any algorithm in the RAM model that computes \(L\) has running time \(\Omega(n)\).

Theorem 2 There is a language \(L\) such that any multi-tape TM that decides \(L\) has running time \(\Omega(n(\log^*n)^{1/4})\)

Theorem 3 There is a language \(L\) such that any single-tape TM that decides \(L\) has running time \(\Omega(n^2)\)

Communication Complexity

Definition A communication protocol \(\pi\) for functions mapping \(\mathcal{X}\times\mathcal{Y}\) to \(\mathcal{Z}\) is a binary tree where

  1. every internal node \(v\) is labelled with a function \(a_v:\mathcal{X}\rightarrow\{0,1\}\) or \(b_v:\mathcal{Y}\rightarrow\{0,1\}\)
  2. every leaf is labelled with an element \(z\in\mathcal{Z}\)

Definition The protocal \(\pi\) computes \(f:\mathcal{X}\times\mathcal{Y}\rightarrow\mathcal{Z}\) if for every \(x\in\mathcal{X}\) and \(y\in\mathcal{Y}\), the leaf in \(\pi\) reached by \((x,y)\) is labelled \(f(x,y)\).

Definition The cost of \(\pi\) is the (maximum) depth of the tree, (= max number of bits that Alice and Bob exchange to compute \(f(x,y)\) over all possible \((x,y)\in\mathcal{X}\times\mathcal{Y}\)

Definition \(D(f)\) The (deterministic) communication complexity of \(f:\mathcal{X}\times\mathcal{Y}\rightarrow\mathcal{Z}\) is the maximum cost of a protocol \(\pi\) that computes \(f\).

Proposition 1 Every function \(f:\{0,1\}^n\times\{0,1\}^n\rightarrow\{0,1\}\) has communication complexity \(D(f)\leq n+1\).

Proposition 2 The function \(f(x,y)=\oplus_{i\in [n]}(x_i\oplus y_i)\) has communication complexity \(D(f)\leq 2\).

Proof \(\oplus_{i\in [n]}(x_i\oplus y_i)=(\oplus_{i\in [n]}x_i)\oplus (\oplus_{i\in [n]}y_i)\)

Equality

Definition \(EQ:\{0,1\}^n\times\{0,1\}^n\rightarrow\{0,1\}\) is \(EQ(x,y)=1\) if \(x=y\), \(EQ(x,y)=0\) otherwise.

Theorem \(D(EQ)=\Omega(n)\)

Proof Let \(\pi\) be any protocol that computes \(EQ\).

Consider every leaf labelled \(1\) in \(\pi\). Let's tag such a leaf with \(x\in\{0,1\}^n\) if \((x,x)\) leads to that leaf in \(\pi\)

Claim 1 No leaf of \(\pi\) can be tagged with \(2\) distinct \(x,x'\in\{0,1\}^n\)

Proof By contradiction. Assume \((x,x)\) and \((x', x')\) both lead to the same leaf. But then \((x,x')\) also defines the same path in \(\pi\) to a leaf that output \(1\).

Claim 1 implies that \(\pi\) mush have \(\geq 2^n\) labeeled \(1\) (Pigeonhole principle)

If \(\pi\) has depth \(d\), it has \(\leq 2^d\) leaves, so it must have depth \(\geq n\).