AC (complexity)

From testwiki
Jump to navigation Jump to search

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.Template:Sfnp

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

The total hierarchy of AC classes is defined as

AC=⋃iβ‰₯0ACi

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.Template:Sfnp

We have 𝖭𝖒0βŠŠπ– π–’0βŠŠπ– π–’π–’0. Specifically, PARITY is in 𝖠𝖒𝖒0 but not in 𝖠𝖒0.Template:Sfnp 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.Template:Sfnp

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].Template:Sfnp

Notes

Template:Reflist

References

Template:ComplexityClasses