Finish Circuits




CS254

Chris Pollett

Apr 19, 2017

Outline

Meyer's Theorem

Theorem (K-L 80). If `EXP subseteq P``/poly` then `EXP = Sigma_2^p`.

Remark. The result is in Karp-Lipton 1980, but attributed to Albert R. Meyer. This theorem actually served as one of the inspirations behind the result (2010) of Williams that `A \C \C` does not contain `NEXP`.

Proof. Let `L in EXP`. Then `L` is computable by a `2^(p(n))` time oblivious TM `M` where p is some polynomial. Let `x in {0, 1}^n` be some input string. For every `i in [2^(p(n))]` we denote by `z_i` the encoding of the `i`th snapshot of `M`'s execution on `x`. If `M` has `k` tapes, then there are at most k+1 distinct last previous times where the tape head of at least one of tapes was in the same position as in time `i`. Denote these `i`, `i_1`, ..., `i_k`. Now `x in L` iff for every `k+1` indices `i`, `i_1`, ..., `i_k`, the snapshots `z_i`, `z_(i_1)`, ..., `z_(i_k)` satisfy some easily checkable criteria: If `z_i` is the last snapshot, then it should encode `M` outputting `1`, and if `i_1`, .., `i_k` are the last indices where `M`'s heads were in the same locations as in `i`, then the values in `z_i` should be consistent with the values in the `z_(i_j)`'s. As `L in EXP` we can certainly compute given a time `j` less than the runtime of `M` the bits of `z_j` in `EXP`. So if `EXP subseteq P``/poly` then there is a `q(n)`-sized circuit `C` that computes `z_j` from `j`. The correctness of this transcript can be computed by a `coNP` machine (one that checks that the transcript satisfies all local criteria). Hence `x in L` iff
`exists C in {0,1}^(q(n))forall i, i_1, ..., i_k in {0, 1}^{p(n)} T(x, C(i), C(i_1), ... C(i_k)) = 1`.
where `T` is some p-time TM checking these conditions. Hence `L in Sigma_2^p`.

Corollary. If `P=NP`, then `EXP` is not contained in `P``/poly`.

Proof. `P=NP` implies `P=Sigma_2^p`. But `P != EXP` by the deterministic time hierarchy theorem.

A Counting Argument

Theorem (Shannon 1949). For any `n ge 2` there is an n-ary Boolean function `f` such that no Boolean circuit with `2^n/(2n)` or fewer gates can compute it.

Proof. We know there are `2^(2^n)` n-ary boolean functions. Let `m = 2^n/(2n)`. Let's get an upper bound on how many circuits there are with at most this many gates. For each gate in such a circuit we have at most `(n+5)` choices for the gate type and at most `m^2` choices for the gate inputs. As there are at most `m` gates in the circuit, we get at most `((n+5)m^2)^m` possible circuits of size `m`. Let's compare this with `2^(2^n)` by taking the `log` of both functions and recalling `m= 2^n/(2n)`. The `log` of the number of n-ary Boolean functions is `2^n`, on the hand the `log` of the number of circuits is `2^n [1- (log([4n^2/(n+5)]))/(2n)]`. So some function must have been missed.

Remark. (Lupanov 1958) gets an almost matching upper bound by showing any boolean function can be represented by a depth 4 circuit of size `(2^n)/n + o(2^n/n)`. (See Wegener 87 for proof). Upper and lower bounds of this kind for various variants of circuits such as monotone circuits, circuits without negation, are known as the "Shannon Effect".

Size Hierarchy

Theorem. For every functions `T`, `T': NN -> NN` with `2^n/n > T'(n) > 10T(n) > n`,
`SIZE(T(n)) stackrel(subseteq)(ne) SIZE(T'(n))`.

Proof. More general results of this kind proven via diagonalization can be found in Pollett 2005. To show the idea, we prove that `SIZE(n) stackrel(subseteq)(ne) SIZE(n^2)`. By the Shannon's Theorem for every `l` there is a function `f:{0,1}^l -> {0,1}` that is not computable by `2^l/(2 \cdot l)` sized circuits. On the other hand, we know every Boolean function from `{0,1}^l` to `{0,1}` is computable by a `2^l 10 cdot l`-sized formula/circuit.

Therefore, if we set `l = 1.1 log n` and let `g:{0,1}^n -> {0,1}` be the function that applies `f` on the first `l` bits of the input, we get
`g in SIZE(2^l 10 cdot l) = SIZE(1.1n^(11) log n) subseteq SIZE(n^2)`
`g !in SIZE(2^l/{2 \cdot l}) =SIZE(n^(1.1)/ (1.1 log n)) supseteq SIZE(n)`.

Separating Complexity Classes - Take 2

Circuit classes Within P/poly

More Circuit classes Within P/poly and Relationships

In-Class Exercise - Branching Programs

Remarks on Branching Programs