Documentation

Complexity.Computability.Circuit.Boolean.DepthClasses

The NC, AC and TC hierarchies #

PolylogDepth I i is the class of languages decided, at every input length n, by circuits over the Boolean basis I of polynomially bounded size and depth O((log n) ^ i), with the explicit envelope c (⌊log₂ n⌋ + 1) ^ i. Over the De Morgan basis of fan-in two this is NCⁱ, over the unbounded fan-in basis ACⁱ, with majority gates TCⁱ, and with MOD_q gates ACⁱ[q] Arora and Barak, Section 6.7, Vollmer, Chapter 4. For i = 0 these are the constant-depth classes (polylogDepth_zero). Every hierarchy is monotone in i (PolylogDepth.mono_exponent), and a meaning-preserving map of bases embeds the classes (PolylogDepth.mono), so NCⁱ ⊆ ACⁱ ⊆ TCⁱ and ACⁱ ⊆ ACⁱ[q]. These classes are nonuniform.

Main definitions #

Main results #

References #

The languages over Bool decided, at every input length n, by circuits over I of polynomially bounded size and depth at most c (⌊log₂ n⌋ + 1) ^ i for a constant c.

Instances For

    The hierarchy is monotone in the exponent.

    theorem Cslib.Circuits.Boolean.PolylogDepth.mono {σ : Signature} {τ : Signature} {I : Interpretation σ Bool} {i : ℕ} (φ : σ.Hom τ) {J : Interpretation τ Bool} [φ.Preserves I J] :

    A meaning-preserving map of bases embeds the classes.

    For exponent zero, polynomial size and constant depth.

    NCⁱ: polynomial size and depth O((log n) ^ i) over the De Morgan basis of fan-in two.

    Instances For

      ACⁱ: polynomial size and depth O((log n) ^ i) with unbounded fan-in.

      Instances For

        TCⁱ: polynomial size and depth O((log n) ^ i) with majority gates.

        Instances For

          ACⁱ[q]: polynomial size and depth O((log n) ^ i) with MOD_q gates.

          Instances For

            NCⁱ ⊆ ACⁱ.

            ACⁱ ⊆ TCⁱ.

            ACⁱ ⊆ ACⁱ[q].

            theorem Cslib.Circuits.Boolean.NC_mono {i j : ℕ} (hij : i ≤ j) :
            NC i ⊆ NC j
            theorem Cslib.Circuits.Boolean.AC_mono {i j : ℕ} (hij : i ≤ j) :
            AC i ⊆ AC j
            theorem Cslib.Circuits.Boolean.TC_mono {i j : ℕ} (hij : i ≤ j) :
            TC i ⊆ TC j
            theorem Cslib.Circuits.Boolean.ACMod_mono (q : ℕ) {i j : ℕ} (hij : i ≤ j) :
            ACMod q i ⊆ ACMod q j

            NCⁱ ⊆ P/poly for every i: a language decided by polynomial-size De Morgan circuits of polylogarithmic depth has polynomially bounded circuit complexity.