Diagonalization




CS254

Chris Pollett

Oct 10, 2011

Outline

Introduction

Time Hierarchy Theorem

Theorem. If `f`, `g` are time-constructible functions satisfying `f(n)log f(n) = o(g(n))`, then `DTIME(f(n)) stackrel(subset)(ne) DTIME(g(n))`.

Proof. We prove the simpler statement `DTIME(n) stackrel(subset)(ne) DTIME(n^(1.5))` and indicate how to modify the proof to the general result.

Consider the Turing Machine `D` which computes: "On input `x`, run for `|x|^(1.4)` steps the UTM `U` that simulates the execution of `M_x` on `x`. If `U` outputs some bit `b in {0, 1}` in this time, then output the opposite answer. Else output `0`." Recall `M_x` is the machine represented by the string `x`.

Given its definition, `D` halts after at most `n^(1.4)` steps. So it is decided within time `n^(1.5)`. Let `L` be the language of `D`. We claim that `L !in DTIME(n)`. For contradiction's sake, assume there is some TM `M` and constant `c` such that TM `M`, given any input `x \in{0, 1}^star`, halts within `c|x|` steps and outputs `D(x)`...

Time Hierarchy Theorem (proof cont'd)

The time to simulate `M` by the UTM `U` on every input `x` is at most `c' c |x|log |x|` for some number `c'` that depends on the alphabet size and number of tapes and states of `M`, but is independent of `|x|`. There is some number `n_0` such that `n^(1.4) > c' c n log n` for every `n > n_0`. Let `x` be a string representing `M` whose length is at least `n_0` (such a strings exists since `M` is represented by infinitely many strings). Then `D(x)` will obtain `b=M(x)` within `|x|^(1.4)` steps, but by the definition of `D`, we have `D(x) = 1 -b ne M(x)`. Thus, giving a contradiction.

The proof of the general case for `f` and `g` is similar and uses the observation that the slowdown of the simulating machine `U` is at most logarithmic. Showing the general case is the first problem of HW3.

Quiz

Which of the following is true?

  1. The reduction given in class of `3SAT` to `INDEPENDENT` `SET` made use of cliques of size `8`.
  2. Clauses in `3SAT` were mapped to chains in our reduction from `3SAT` to `dHAMPATH`.
  3. Suppose `P=NP`. Then for every `NP`-language `L` and verifier TM `M` for `L`, there is a polynomial-time TM `B` that on input `x in L` outputs a certificate for `x`.

The Nondeterministic time Hierarchy Theorem

The analogous result to the last, but for NDTM's, is the following:

Theorem. If `t_1` and `t_2` are time-constructible functions and `t_1(n+1) = o(t_2(n))` then `NTIME(t_1(n))` is strictly contained in `NTIME(t_2(n))`.

This kind of result was first proved by Cook (1972), then improved by Seiferas, Fischer and Meyer(1973) and simplified by Zak (book's proof). The version we are giving is due to Fortnow and Santhanam (2010).

Proof. Let `M_1, ...` be an enumeration of nondeterministic Turing machines. We define a nondeterministic machine `M` that acts as follows on input `w=1^i01^m0y`:

This machine uses time `O(t_2(n))`. If `NTIME(t_1(n))= NTIME(t_2(n))` then there is an equivalent machine `M_i` using time `O(t_1(n))`. Since `t_1(n+1)=o(t_2(n))` we have for sufficiently large `m`,

`1^i01^m0 in L(M) iff 1^i01^m0y in L(M) mbox( for ) |y|=1 iff ...`
` iff 1^i01^m01y in L(M) mbox( for ) |y|=t_1(i+m+2) iff M(1^i01^m0)` rejects on all computation paths `y` a contradiction.