Math 2.0

Computer science Randomized, circuit, counting and interactive complexity Theorem

Shannon's counting argument for circuit size

Builds on Circuit complexityBoolean circuitBoolean function

Statement

For n≥1n \ge 1, let FnF_n be the set of the 22n2^{2^n} Boolean functions f ⁣:{0,1}n→{0,1}f \colon \set{0,1}^n \to \set{0,1}. Let size(f)\mathrm{size}(f) be the circuit complexity of ff over the basis of fan-in-two AND and OR gates and NOT gates. Then the fraction of the functions f∈Fnf \in F_n with size(f)≤2n10n\mathrm{size}(f) \le \frac{2^n}{10 n} tends to 00 as n→∞n \to \infty.

Remarks

The proof counts circuits. A circuit with t≤st \le s gates is described by giving, for each gate, its type among three and its at most two inputs. These inputs are chosen among the n+tn + t inputs and gates, and the last gate is the output. So there are at most (s+1)(3(n+s)2)s(s + 1)\big(3 (n + s)^2\big)^{s} circuits with at most ss gates. For s=2n/(10n)s = 2^n / (10 n) and large nn, one has n+s≤2nn + s \le 2^n, so the logarithm in base 22 of this number is at most s(2n+2)+log⁡2(s+1)≤2n/4s (2n + 2) + \log_2(s + 1) \le 2^n / 4. So at most 22n/42^{2^n / 4} functions have circuits of size ss, out of 22n2^{2^n} functions.

The bound is sharp up to a constant: Lupanov showed that every function in FnF_n has circuit size O(2n/n)O(2^n / n). The argument proves that hard functions exist but does not name one.

Going deeper

For a student

Claude Shannon gave the counting argument in 1949, in his work on switching circuits. It is a model for many existence proofs in complexity theory. It also shows that the class P/poly does not contain all languages. The gap between this lower bound for random functions and the linear lower bounds known for explicit functions is the central difficulty of circuit complexity.

Reading path

To understand this page from the ground up, read these 4 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Boolean circuit concept
  2. Boolean function concept
  3. Circuit complexity concept
  4. Shannon's counting argument for circuit size statement

Further reading

  1. Web https://en.wikipedia.org/wiki/Circuit_complexity
About this page
Tag2R30KR3Z5G
URIm2://2R30KR3Z5G
Kindstatement, theorem
WritingW0 stub
MSC68Q06, 68Q17, 94C11
StatusThis copy of the site has no build data. Run m2 status 2R30KR3Z5G.
AboutCircuit complexity
UsesCircuit complexity, Boolean circuit, Boolean function
Changed3 November 2026

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.