In computational complexity theory, arithmetic circuits are the standard model for computing polynomials. Arithmetic circuits are able to take input from variables or numbers and calculate the result of a previously calculated expression through addition or multiplication. This model allows us to metaphysically understand the complexity of computing polynomials.
The fundamental question of a circuit is "How to compute a given polynomial in the most efficient way?"
An arithmetic circuit is composed of a guided acyclic graph. Each node in the graph with degree zero is called an input gate and is labeled as a variable or an element in the domain. Other gates are addition gates or multiplication gates. The arithmetic formula is a circuit in which the out-degree of each gate is one, forming a directed tree. There are two important measures of complexity for circuits: size and depth. The size of the circuit refers to the number of gates, while the depth refers to the length of the longest directed path in the circuit.
Arithmetic circuits have a natural way of calculating polynomials. An input gate computes its labeled polynomial; an addition gate computes the sum of the polynomials computed by its children, and a multiplication gate computes the product of the polynomials computed by its children. Taking the figure as an example, the input gate calculates x1, x2 and 1 in sequence, the addition gate calculates x1 + x2 and x2 + 1, and the multiplication gate calculates the value of (x1 + x2) x2 (x2 + 1).
When we are faced with a polynomial f, the question is how best to compute it - for example, to compute the minimum size of a unit circuit. This question usually consists of two parts. The first part is to find a circuit that calculates the polynomial, which is called the upper bound complexity; the second part is to prove that other circuits cannot achieve better performance, which is called the lower bound complexity.
Although the two tasks are closely related, proving a lower bound is generally more difficult because all circuits need to be discussed simultaneously.
It is important to note here that we are concerned with the formal calculation of polynomials, not the functions defined by polynomials. For example, consider the polynomial x2 + x in a binary domain. This polynomial represents a zero function over this domain, but it is not a zero polynomial. This is one of the differences between the study of arithmetic circuits and the study of Bollinger circuits, and a reason why Bollinger complexity is more difficult than arithmetic complexity.
In the study of calculating polynomial complexity, some clever circuits or algorithms were discovered. For example, the famous Strassen matrix multiplication algorithm uses a circuit size of about n2.807, which greatly reduces the complexity compared to the simple n3. Another fascinating story is about the calculation of the determinant of an n × n matrix. Although the original calculation method required a circuit of size n!, we know that the determinant can be calculated with a polynomial-sized circuit, although the depth of the circuit is linear with n.
Meanwhile, similar challenges exist in order to calculate the size of permanent circuits for n × n matrices, with the optimal circuit having a size of about 2n.
Our current knowledge of proving lower bounds is very limited. For example, computing polynomials of very large degrees often requires large circuits; for example, a polynomial of degree 2^2n requires a circuit size of about 2n. The main problem lies in proving lower bounds for polynomials of small degree, especially polynomial sizes n.
The main open problem currently is to find an explicit polynomial such that the circuit size required for its computation exceeds the polynomial level.
The most interesting open problem in computational complexity theory is the P versus NP problem. Roughly speaking, the question is whether determining a solution to a problem can be as easy as proving its existence. Valiant proposed an algebraic analogy of the VP and VNP problems, which involves the relationship between the size of the polynomial and the size of the circuit.
An important benchmark for our understanding of polynomial calculations is the work of Valiant, Skyum, Berkowitz, and Rackoff. They showed that if a polynomial of degree r has a circuit of size s, then the polynomial also has circuits of size polynomials r and s.
This result is considered false given similar results under Bollinger settings. One corollary of this result is that simulations of circuits involving polynomials are relatively small formulas; in this case, a polynomial of degree r for a circuit of size s would require a formula of size s^ (O(log(r))).
The design, size and depth of arithmetic circuits are key elements for calculating polynomials. Studying these elements is not only a theoretical challenge in mathematics, but is also closely connected with practical applications. In these complex calculations, whether we can find more efficient methods to solve larger problems will be one of the directions of future research.