P-complete

Circuit Value Problem (CVP)

Input

An encoding $\overline{\alpha}$ of a Boolean circuit $\alpha$, inputs $x_1, \ldots, x_n$ and designated output $y$.

Problem

Is output $y$ of $\alpha$ true on inputs $x_1, \ldots, x_n$?

Definitions

A Boolean circuit $\alpha$ is a labeled directed acyclic graph. Each vertex (gate) is labeled INPUT, AND, OR, or NOT, and computes its corresponding function over its $n$ inputs, whose values are given as $x_1, \ldots, x_n \in \{0,1\}$. An encoding $\overline{\alpha}$ of $\alpha$ is a string from $\{0,1\}^\ast$ where the vertices of $\alpha$ are listed with their types and connections, not necessarily in topological order.

Status

$\P$-complete under $\NC^1$ reductions (Greenlaw, Hoover and Ruzzo [3, Theorem 4.2.2], Ladner [1]).

Remarks

The CVP is the most fundamental $\P$-complete problem, in fact, it’s one of the few where $\P$-completeness is proved directly (from GMSP) instead of through reductions from other $\P$-complete problems.

For the two input basis of Boolean functions, it is known that CVP is $\P$-complete except when the basis consists solely of or, consists solely of and, or consists of any or all of the following: XOR, EQUIVALENCE, and NOT (Goldschlager and Parberry [2]).

References

  1. R. E. Ladner (1975). The circuit value problem is log space complete for P.
  2. L. M. Goldschlager and I. Parberry (1986). On the construction of parallel computers from various bases of Boolean functions.
  3. Greenlaw, R., Hoover, H. J., and Ruzzo, W. L. (1995). Limits to Parallel Computation: P-Completeness Theory. Oxford University Press. Problem A.1.1.