In circuit complexity, AC is a complexity class hierarchy. Each class, ACi, consists of the languages recognized by Boolean circuits with depth
O(login)
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.
The smallest AC class is AC0, consisting of constant-depth unlimited fan-in circuits.
The total hierarchy of AC classes is defined as
AC=cupiACi
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
NCi\subseteqACi\subseteqNCi+1.
As an immediate consequence of this, we have that NC = AC.
It is known that inclusion is strict for i = 0.
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].