AC (complexity)

From Wikipedia, the free encyclopedia

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

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

The total hierarchy of AC classes is defined as

\mbox{AC} = \bigcup_{i \geq 0} \mbox{AC}^i (Vollmer 1999, pg. 108).

[edit] Relation to NC

The AC classes are related to the NC classes, which are defined similarly, but with gates having only constant fanin. For each i, we have

\mbox{NC}^i \subseteq \mbox{AC}^i \subseteq \mbox{NC}^{i+1}.

As an immediate consequence of this, we have that NC = AC.

[edit] Variations

The power of the AC classes can be affected by adding additional gates. If we add gates which which calculate the modulo operation for some modulus m, we have the classes ACCi[m].

[edit] References

  • Vollmer, Heribert (1999). Introduction to Circuit Complexity. Berlin: Springer. ISBN 3-540-64310-9.