AC (complexity)

From Wikipedia, the free encyclopedia

In circuit complexity, AC is a complexity class hierarchy. Each class, ACi, consists of the languages recognized by Boolean circuits with depth O(login) and a polynomial number of unlimited fan-in AND and OR gates.

The name "AC" was chosen by analogy to NC, with the "A" in the name standing for "alternating" and referring both to the alternation between the AND and OR gates in the circuits and to alternating Turing machines.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.

The smallest AC class is AC0, consisting of constant-depth unlimited fan-in circuits.

The total hierarchy of AC classes is defined as

AC=i0ACi

Relation to NC

The AC classes are related to NC, ACC, and TC classes. For each i, we have[1]

𝖭𝖢i𝖠𝖢i𝖠𝖢𝖢i𝖳𝖢i𝖭𝖢i+1.

As an immediate consequence of this, we have that NC = AC = ACC = TC.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.

We have 𝖭𝖢0𝖠𝖢0𝖠𝖢𝖢0. Specifically, PARITY is in 𝖠𝖢𝖢0 but not in 𝖠𝖢0.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. And since NC requires bounded fan-in, any function of type {0,1}n{0,1} whose output depends on more than O(1) inputs is beyond 𝖭𝖢0. In particular, the unbounded fan-in OR is beyond 𝖭𝖢0.

In detail, define fn:{0,1}n{0,1} by fn(x1,,xn)=iximod2. Then it requires Ω(2n1/d16) gates to be computed by a 𝖠𝖢0 circuit with depth d.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.

Variations

The power of the AC classes can be affected by adding additional gates. If we add gates which calculate the modulo operation for some modulus m, we have the classes ACCi[m].Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.

Notes

Page Template:Reflist/styles.css has no content.

  1. ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found., p. 437; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found., p. 118.

References

Template:ComplexityClasses