In
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved by ...
, ''arithmetic circuits'' are the standard model for computing
polynomials
In mathematics, a polynomial is an expression (mathematics), expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addition, subtrac ...
. Informally, an arithmetic circuit takes as inputs either variables or numbers, and is allowed to either add or multiply two expressions it has already computed. Arithmetic circuits provide a formal way to understand the complexity of computing polynomials. The basic type of question in this line of research is "what is the most efficient way to compute a given polynomial
?"
Definitions
An ''arithmetic circuit''
over the
field
Field may refer to:
Expanses of open ground
* Field (agriculture), an area of land used for agricultural purposes
* Airfield, an aerodrome that lacks the infrastructure of an airport
* Battlefield
* Lawn, an area of mowed grass
* Meadow, a grass ...
and the set of variables
is a
directed acyclic graph
In mathematics, particularly graph theory, and computer science, a directed acyclic graph (DAG) is a directed graph with no directed cycles. That is, it consists of vertices and edges (also called ''arcs''), with each edge directed from one ve ...
as follows. Every node in it with
indegree
In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs.
Definition
In formal terms, a directed graph is an ordered pa ...
zero is called an ''input gate'' and is labeled by either a variable
or a field element in
Every other gate is labeled by either
or
in the first case it is a ''sum'' gate and in the second a ''product'' gate. An ''arithmetic formula'' is a circuit in which every gate has
outdegree
In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs.
Definition
In formal terms, a directed graph is an ordered pai ...
one (and so the underlying graph is a
directed tree).
A circuit has two complexity measures associated with it: size and depth. The ''size'' of a circuit is the number of gates in it, and the ''depth'' of a circuit is the length of the longest directed path in it. For example, the circuit in the figure has size six and depth two.
An arithmetic circuit computes a polynomial in the following natural way. An input gate computes the polynomial it is labeled by. A sum gate
computes the sum of the polynomials computed by its children (a gate
is a ''child'' of
if the directed edge
is in the graph). A product gate computes the product of the polynomials computed by its children. Consider the circuit in the figure, for example: the input gates compute (from left to right)
and
the sum gates compute
and
and the product gate computes
Overview
Given a polynomial
we may ask ourselves what is the best way to compute it — for example, what is the smallest size of a circuit computing
The answer to this question consists of two parts. The first part is finding some circuit that computes
this part is usually called ''upper bounding'' the complexity of
The second part is showing that no other circuit can do better; this part is called ''lower bounding'' the complexity of
Although these two tasks are strongly related, proving lower bounds is usually harder, since in order to prove a lower bound one needs to argue about all circuits at the same time.
Note that we are interested in the formal computation of polynomials, rather than the functions that the polynomials define. For example, consider the polynomial
over the field of two elements this polynomial represents the zero function, but it is not the zero polynomial. This is one of the differences between the study of arithmetic circuits and the study of
Boolean circuits
In computational complexity theory and circuit complexity, a Boolean circuit is a mathematical model for combinational digital logic circuits. A formal language can be decided by a family of Boolean circuits, one circuit for each possible input ...
. In Boolean complexity, one is mostly interested in computing a function, rather than some representation of it (in our case, a representation by a polynomial). This is one of the reasons that make Boolean complexity harder than arithmetic complexity. The study of arithmetic circuits may also be considered as one of the intermediate steps towards the study of the Boolean case, which we hardly understand.
Upper bounds
As part of the study of the complexity of computing polynomials, some clever circuits (alternatively algorithms) were found. A well-known example is
Strassen's algorithm for
matrix product
In mathematics, particularly in linear algebra, matrix multiplication is a binary operation that produces a matrix from two matrices. For matrix multiplication, the number of columns in the first matrix must be equal to the number of rows in the s ...
. The straightforward way for computing the product of two
matrices requires a circuit of size order
Strassen showed that we can, in fact, multiply two matrices using a circuit of size roughly
Strassen's basic idea is a clever way for multiplying two by two matrices. This idea is the starting point of the
best theoretical way for multiplying two matrices that takes time roughly
Another interesting story lies behind the computation of the
determinant
In mathematics, the determinant is a scalar value that is a function of the entries of a square matrix. It characterizes some properties of the matrix and the linear map represented by the matrix. In particular, the determinant is nonzero if and ...
of an
matrix. The naive way for computing the determinant requires circuits of size roughly
Nevertheless, we know that there are circuits of size polynomial in
for computing the determinant. These circuits, however, have depth that is linear in
Berkowitz came up with an improvement: a circuit of size polynomial in
but of depth
We would also like to mention the best circuit known for the
permanent
Permanent may refer to:
Art and entertainment
* ''Permanent'' (film), a 2017 American film
* ''Permanent'' (Joy Division album)
* "Permanent" (song), by David Cook
Other uses
* Permanent (mathematics), a concept in linear algebra
* Permanent (cy ...
of an
matrix. As for the determinant, the naive circuit for the permanent has size roughly
However, for the permanent the best circuit known has size roughly
which is given by Ryser's formula: for an
matrix
:
(this is a depth three circuit).
Lower bounds
In terms of proving lower bounds, our knowledge is very limited. Since we study the computation of formal polynomials, we know that polynomials of very large degree require large circuits, for example, a polynomial of degree
require a circuit of size roughly
So, the main goal is to prove lower bound for polynomials of small degree, say, polynomial in
In fact, as in many areas of mathematics, counting arguments tell us that there are polynomials of polynomial degree that require circuits of superpolynomial size. However, these counting arguments usually do not improve our understanding of computation. The following problem is the main open problem in this area of research: ''find an explicit polynomial of polynomial degree that requires circuits of superpolynomial size''.
The state of the art is a
lower bound for the size of a circuit computing, e.g., the polynomial
given by
Strassen and by Baur and Strassen. More precisely, Strassen used
Bézout's lemma to show that any circuit that simultaneously computes the
polynomials
is of size
and later Baur and Strassen showed the following: given an arithmetic circuit of size
computing a polynomial
one can construct a new circuit of size at most
that computes
and all the
partial derivatives
In mathematics, a partial derivative of a function of several variables is its derivative with respect to one of those variables, with the others held constant (as opposed to the total derivative, in which all variables are allowed to vary). Part ...
of
Since the partial derivatives of
are
the lower bound of Strassen applies to
as well. This is one example where some upper bound helps in proving lower bounds; the construction of a circuit given by Baur and Strassen implies a lower bound for more general polynomials.
The lack of ability to prove lower bounds brings us to consider simpler models of computation. Some examples are: monotone circuits (in which all the field elements are nonnegative real numbers), constant depth circuits, and multilinear circuits (in which every gate computes a
multilinear polynomial In algebra, a multilinear polynomial is a multivariate polynomial that is linear (meaning affine) in each of its variables separately, but not necessarily simultaneously. It is a polynomial in which no variable occurs to a power of 2 or higher; tha ...
). These restricted models have been studied extensively and some understanding and results were obtained.
Algebraic P and NP
The most interesting open problem in computational complexity theory is the
P vs. NP problem. Roughly, this problem is to determine whether a given problem can be solved as easily as it can be shown that a solution exists to the given problem. In his seminal work Valiant suggested an algebraic analog of this problem, the ''VP vs. VNP'' problem.
The class VP is the algebraic analog of P; it is the class of polynomials
of polynomial degree that have polynomial size circuits over a fixed field
The class VNP is the analog of NP. VNP can be thought of as the class of polynomials
of polynomial degree such that given a monomial we can determine its coefficient in
efficiently, with a polynomial size circuit.
One of the basic notions in complexity theory is the notion of ''completeness''. Given a class of polynomials (such as VP or VNP), a complete polynomial
for this class is a polynomial with two properties: (1) it is part of the class, and (2) any other polynomial
in the class is easier than
in the sense that if
has a small circuit then so does
Valiant showed that the permanent is complete for the class VNP. So in order to show that VP is not equal to VNP, one needs to show that the permanent does not have polynomial size circuits. This remains an outstanding open problem.
Depth reduction
One benchmark in our understanding of the computation of polynomials is the work of Valiant, Skyum, Berkowitz and Rackoff. They showed that if a polynomial
of degree
has a circuit of size
then
also has a circuit of size polynomial in
and
of depth
For example, any polynomial of degree
that has a polynomial size circuit, also has a polynomial size circuit of depth roughly
This result generalizes the circuit of Berkowitz to any polynomial of polynomial degree that has a polynomial size circuit (such as the determinant). The analog of this result in the Boolean setting is believed to be false.
One corollary of this result is a simulation of circuits by relatively small formulas, formulas of quasipolynomial size: if a polynomial
of degree
has a circuit of size
then it has a formula of size
This simulation is easier than the depth reduction of Valiant el al. and was shown earlier by Hyafil.
[L. Hyafil. ''On the parallel evaluation of multivariate polynomials.'' SIAM J. Comput. 8(2), pp. 120–123, 1979.]
See also
*
Polynomial evaluation
In mathematics and computer science, polynomial evaluation refers to computation of the value of a polynomial when its indeterminates are substituted for some values. In other words, evaluating the polynomial P(x_1, x_2) = 2x_1x_2 + x_1^3 + 4 at ...
for a more general and less formal discussion of the complexity of polynomial evaluation.
Further reading
*
*
*
Footnotes
{{DEFAULTSORT:Arithmetic Circuit Complexity
Circuit complexity