Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Arithmetic circuit complexity

From Wikipedia, the free encyclopedia
Standard model in theoretical computer science

Incomputational complexity theory,arithmetic circuits are the standard model for computingpolynomials. 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 polynomialf{\displaystyle f}?"

Definitions

[edit]
A simple arithmetic circuit.

Anarithmetic circuitC{\displaystyle C} over thefieldF{\displaystyle F} and the set of variablesx1,,xn{\displaystyle x_{1},\ldots ,x_{n}} is adirected acyclic graph as follows. Every node in it withindegree zero is called aninput gate and is labeled by either a variablexi{\displaystyle x_{i}} or a field element inF.{\displaystyle F.} Every other gate is labeled by either+{\displaystyle +} or×;{\displaystyle \times ;} in the first case it is asum gate and in the second aproduct gate. Anarithmetic formula is a circuit in which every gate hasoutdegree one (and so the underlying graph is adirected tree).

A circuit has two complexity measures associated with it: size and depth. Thesize of a circuit is the number of gates in it, and thedepth 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 gatev{\displaystyle v} computes the sum of the polynomials computed by its children (a gateu{\displaystyle u} is achild ofv{\displaystyle v} if the directed edge(v,u){\displaystyle (v,u)} 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)x1,x2{\displaystyle x_{1},x_{2}} and1,{\displaystyle 1,} the sum gates computex1+x2{\displaystyle x_{1}+x_{2}} andx2+1,{\displaystyle x_{2}+1,} and the product gate computes(x1+x2)x2(x2+1).{\displaystyle (x_{1}+x_{2})x_{2}(x_{2}+1).}

Overview

[edit]

Given a polynomialf,{\displaystyle f,} we may ask ourselves what is the best way to compute it — for example, what is the smallest size of a circuit computingf.{\displaystyle f.} The answer to this question consists of two parts. The first part is findingsome circuit that computesf;{\displaystyle f;} this part is usually calledupper bounding the complexity off.{\displaystyle f.} The second part is showing thatno other circuit can do better; this part is calledlower bounding the complexity off.{\displaystyle f.} 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 aboutall 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 polynomialx2+x;{\displaystyle x^{2}+x;} over the field of two elements this polynomial represents the zero function, but it isnot the zero polynomial. This is one of the differences between the study of arithmetic circuits and the study ofBoolean circuits. 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,[1] which we hardly understand.

Upper bounds

[edit]

As part of the study of the complexity of computing polynomials, some clever circuits (alternatively algorithms) were found. A well-known example isStrassen's algorithm formatrix product. The straightforward way for computing the product of twon×n{\displaystyle n\times n} matrices requires a circuit of size ordern3.{\displaystyle n^{3}.} Strassen showed that we can, in fact, multiply two matrices using a circuit of size roughlyn2.807.{\displaystyle n^{2.807}.} Strassen's basic idea is a clever way for multiplying2×2{\displaystyle 2\times 2} matrices. This idea is the starting point of thebest theoretical way for multiplying two matrices that takes time roughlyn2.376.{\displaystyle n^{2.376}.}

Another interesting story lies behind the computation of thedeterminant of ann×n{\displaystyle n\times n} matrix. The naive way for computing the determinant requires circuits of size roughlyn!.{\displaystyle n!.} Nevertheless, we know that there are circuits of size polynomial inn{\displaystyle n} for computing the determinant. These circuits, however, have depth that is linear inn.{\displaystyle n.} Berkowitz came up with an improvement: a circuit of size polynomial inn,{\displaystyle n,} but of depthO(log2(n)).{\displaystyle O(\log ^{2}(n)).}[2]

We would also like to mention the best circuit known for thepermanent of ann×n{\displaystyle n\times n} matrix. As for the determinant, the naive circuit for the permanent has size roughlyn!.{\displaystyle n!.} However, for the permanent the best circuit known has size roughly2n,{\displaystyle 2^{n},} which is given by Ryser's formula: for ann×n{\displaystyle n\times n} matrixX=(xi,j),{\displaystyle X=(x_{i,j}),}

perm(X)=(1)nS{1,,n}(1)|S|i=1njSxi,j{\displaystyle \operatorname {perm} (X)=(-1)^{n}\sum _{S\subseteq \{1,\ldots ,n\}}(-1)^{|S|}\prod _{i=1}^{n}\sum _{j\in S}x_{i,j}}

(this is a depth three circuit).

Lower bounds

[edit]

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 degree22n{\displaystyle 2^{2^{n}}} require a circuit of size roughly2n.{\displaystyle 2^{n}.} So, the main goal is to prove lower bound for polynomials of small degree, say, polynomial inn.{\displaystyle n.} In fact, as in many areas ofmathematics, 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 mainopen problem in this area of research:find anexplicit polynomial of polynomial degree that requires circuits of superpolynomial size.

The state of the art is aΩ(nlogd){\displaystyle \Omega (n\log d)} lower bound for the size of a circuit computing, e.g., the polynomialx1d++xnd{\displaystyle x_{1}^{d}+\cdots +x_{n}^{d}} given byStrassen and by Baur and Strassen. More precisely, Strassen usedBézout's theorem to show that any circuit that simultaneously computes then{\displaystyle n} polynomialsx1d,,xnd{\displaystyle x_{1}^{d},\ldots ,x_{n}^{d}} is of sizeΩ(nlogd),{\displaystyle \Omega (n\log d),} and later Baur and Strassen showed the following: given an arithmetic circuit of sizes{\displaystyle s} computing a polynomialf,{\displaystyle f,} one can construct a new circuit of size at mostO(s){\displaystyle O(s)} that computesf{\displaystyle f} and all then{\displaystyle n}partial derivatives off.{\displaystyle f.} Since the partial derivatives ofx1d++xnd{\displaystyle x_{1}^{d}+\cdots +x_{n}^{d}} aredx1d1,,dxnd1,{\displaystyle dx_{1}^{d-1},\ldots ,dx_{n}^{d-1},} the lower bound of Strassen applies tox1d++xnd{\displaystyle x_{1}^{d}+\cdots +x_{n}^{d}} as well.[3] 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 amultilinear polynomial). These restricted models have been studied extensively and some understanding and results were obtained.

Algebraic P and NP

[edit]

The most interesting open problem in computational complexity theory is theP 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 workValiant[4] suggested an algebraic analog of this problem, theVP vs. VNP problem.

The class VP is the algebraic analog of P; it is the class of polynomialsf{\displaystyle f} of polynomial degree that have polynomial size circuits over a fixed fieldK.{\displaystyle K.} The class VNP is the analog of NP. VNP can be thought of as the class of polynomialsf{\displaystyle f} of polynomial degree such that given a monomial we can determine its coefficient inf{\displaystyle f} efficiently, with a polynomial size circuit.

One of the basic notions in complexity theory is the notion ofcompleteness. Given a class of polynomials (such as VP or VNP), a complete polynomialf{\displaystyle f} for this class is a polynomial with two properties: (1) it is part of the class, and (2) any other polynomialg{\displaystyle g} in the class is easier thanf,{\displaystyle f,} in the sense that iff{\displaystyle f} has a small circuit then so doesg.{\displaystyle g.} 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

[edit]

One benchmark in our understanding of the computation of polynomials is the work of Valiant, Skyum, Berkowitz and Rackoff.[5] They showed that if a polynomialf{\displaystyle f} of degreer{\displaystyle r} has a circuit of sizes,{\displaystyle s,} thenf{\displaystyle f} also has a circuit of size polynomial inr{\displaystyle r} ands{\displaystyle s} of depthO(log(r)log(s)).{\displaystyle O(\log(r)\log(s)).} For example, any polynomial of degreen{\displaystyle n} that has a polynomial size circuit, also has a polynomial size circuit of depth roughlylog2(n).{\displaystyle \log ^{2}(n).} 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 polynomialf{\displaystyle f} of degreer{\displaystyle r} has a circuit of sizes,{\displaystyle s,} then it has a formula of sizesO(log(r)).{\displaystyle s^{O(\log(r))}.} This simulation is easier than the depth reduction of Valiant el al. and was shown earlier by Hyafil.[6]

See also

[edit]
Wikiversity has learning resources aboutUnderstanding Arithmetic Circuits
  • Polynomial evaluation for a more general and less formal discussion of the complexity of polynomial evaluation.

Further reading

[edit]

Footnotes

[edit]
  1. ^L. G. Valiant.Why is Boolean complexity theory difficult? Proceedings of the London Mathematical Society symposium on Boolean function complexity, pp. 84–94, 1992.
  2. ^S. J. Berkowitz.On computing the determinant in small parallel time using a small number of processors. Inf. Prod. Letters 18, pp. 147–150, 1984.
  3. ^Shpilka, Amir; Yehudayoff, Amir (2010)."Arithmetic Circuits: a survey of recent results and open questions"(PDF).Foundations and Trends in Theoretical Computer Science.5 (3–4): 207-388.doi:10.1561/0400000039.
  4. ^Valiant, L. G. (1979). "Completeness classes in algebra".Proceedings of the eleventh annual ACM symposium on Theory of computing - STOC '79. ACM Press. pp. 249–261.doi:10.1145/800135.804419.
  5. ^Valiant, L. G.; Skyum, S.; Berkowitz, S.; Rackoff, C. (1983)."Fast Parallel Computation of Polynomials Using Few Processors".SIAM Journal on Computing.12 (4):641–644.doi:10.1137/0212043.ISSN 0097-5397.
  6. ^Hyafil, Laurent (1979)."On the Parallel Evaluation of Multivariate Polynomials".SIAM Journal on Computing.8 (2):120–123.doi:10.1137/0208010.ISSN 0097-5397.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Arithmetic_circuit_complexity&oldid=1308908132"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp