电路复杂性

电路复杂性理论在1990年代以前，被众多研究者认为是解决NP与P关系问题的可能的途径之一。电路复杂性研究的对象是非一致性的计算模型电路，并考虑计算一个布尔函数所需的最小的电路的深度（depth）和大小（size）等资源。其中，大小为多项式大小的电路族可以计算的布尔函数被记为P/poly。可以证明，P包含在P/poly之中，而卡普-利普顿定理（Karp-Lipton theorem）表明若P/poly在NP之中，则多项式层级（polynomial hierarchy）将会坍缩至第二层，这是一个不大可能的结果。这两个结果结合起来表明，P/poly可以当作是分离NP与P的一个中间的工具，具体的途径就是证明任一个NP完全问题的电路大小的下界。在直观上说，电路复杂性也绕过了NP与P问题的第一个困难：相对化证明困难（relativizing proofs）。

在1980年代，电路复杂性途径取得了一系列的成功，其中包括奇偶性函数（Parity function）在中的下界为指数，以及团问题（clique problem）在单调性电路（monotone circuit）中的下界为指数。然而在1994年和的著名论文自然性证明（Natural proof）中指出，上面所用证明电路下界的方法，在单向函数存在的前提下是不可能分离NP和P的。该结果使很多专家对证明电路下界来分离NP和P的前景表示不乐观。

分支程序 
分支程序是电路复杂性的一个研究方向。

算术电路复杂性 

算术电路某种程度上可以看作布尔电路的代数版本。与布尔电路计算一个布尔函数不同，它计算的是一个在一个特定域上的多项式。

計算複雜性理論