In
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, a holographic algorithm is an algorithm that uses a holographic reduction. A holographic reduction is a constant-time
reduction that maps solution fragments many-to-many such that the sum of the solution fragments remains unchanged. These concepts were introduced by
Leslie Valiant
Leslie Gabriel Valiant (born 28 March 1949) is a British American computer scientist and computational theorist. He was born to a chemical engineer father and a translator mother. He is currently the T. Jefferson Coolidge Professor of Compu ...
, who called them ''holographic'' because "their effect can be viewed as that of producing interference patterns among the solution fragments".
[
] The algorithms are unrelated to laser
holography
Holography is a technique that enables a wavefront to be recorded and later re-constructed. Holography is best known as a method of generating real three-dimensional images, but it also has a wide range of other applications. In principle, i ...
, except metaphorically. Their power comes from the mutual cancellation of many contributions to a sum, analogous to the interference patterns in a hologram.
Holographic algorithms have been used to find
polynomial-time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
solutions to problems without such previously known solutions for special cases of
satisfiability
In mathematical logic, a formula is ''satisfiable'' if it is true under some assignment of values to its variables. For example, the formula x+3=y is satisfiable because it is true when x=3 and y=6, while the formula x+1=x is not satisfiable over ...
,
vertex cover
In graph theory, a vertex cover (sometimes node cover) of a graph is a set of vertices that includes at least one endpoint of every edge of the graph.
In computer science, the problem of finding a minimum vertex cover is a classical optimiza ...
, and other
graph problems
Graph may refer to:
Mathematics
*Graph (discrete mathematics), a structure made of vertices and edges
**Graph theory, the study of such graphs and their properties
*Graph (topology), a topological space resembling a graph in the sense of discre ...
.
They have received notable coverage due to speculation that they are relevant to the
P versus NP problem
The P versus NP problem is a major unsolved problem in theoretical computer science. In informal terms, it asks whether every problem whose solution can be quickly verified can also be quickly solved.
The informal term ''quickly'', used above ...
and their impact on
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 ...
. Although some of the general problems are
#P-hard problems, the special cases solved are not themselves #P-hard, and thus do not prove FP = #P.
Holographic algorithms have some similarities with
quantum computation
Quantum computing is a type of computation whose operations can harness the phenomena of quantum mechanics, such as superposition, interference, and entanglement. Devices that perform quantum computations are known as quantum computers. Thoug ...
, but are completely classical.
Holant problems
Holographic algorithms exist in the context of Holant problems, which generalize counting
constraint satisfaction problem
Constraint satisfaction problems (CSPs) are mathematical questions defined as a set of objects whose state must satisfy a number of constraints or limitations. CSPs represent the entities in a problem as a homogeneous collection of finite constr ...
s (#CSP). A #CSP instance is a
hypergraph
In mathematics, a hypergraph is a generalization of a graph in which an edge can join any number of vertices. In contrast, in an ordinary graph, an edge connects exactly two vertices.
Formally, an undirected hypergraph H is a pair H = (X,E) ...
''G''=(''V'',''E'') called the
constraint graph
In constraint satisfaction research in artificial intelligence and operations research, constraint graphs and hypergraphs are used to represent relations among constraints in a constraint satisfaction problem. A constraint graph is a special case o ...
. Each hyperedge represents a variable and each vertex
is assigned a constraint
A vertex is connected to an hyperedge if the constraint on the vertex involves the variable on the hyperedge. The counting problem is to compute
:
which is a sum over all variable assignments, the product of every constraint, where the inputs to the constrain
are the variables on the incident hyperedges of
.
A Holant problem is like a #CSP except the input must be a graph, not a hypergraph. Restricting the class of input graphs in this way is indeed a generalization. Given a #CSP instance, replace each hyperedge ''e'' of size ''s'' with a vertex ''v'' of degree ''s'' with edges incident to the vertices contained in ''e''. The constraint on ''v'' is the equality function of arity ''s''. This identifies all of the variables on the edges incident to ''v'', which is the same effect as the single variable on the hyperedge ''e''.
In the context of Holant problems, the expression in (1) is called the Holant after a related exponential sum introduced by Valiant.
Holographic reduction
A standard technique in complexity theory is a
many-one reduction
In computability theory and computational complexity theory, a many-one reduction (also called mapping reduction) is a reduction which converts instances of one decision problem L_1 into instances of a second decision problem L_2 where the instan ...
, where an instance of one problem is reduced to an instance of another (hopefully simpler) problem.
However, holographic reductions between two computational problems preserve the sum of solutions without necessarily preserving correspondences between solutions.
For instance, the total number of solutions in both sets can be preserved, even though individual problems do not have matching solutions. The sum can also be weighted, rather than simply counting the number of solutions, using
linear basis vectors.
General example
It is convenient to consider holographic reductions on bipartite graphs. A general graph can always be transformed it into a bipartite graph while preserving the Holant value. This is done by replacing each edge in the graph by a path of length 2, which is also known as the 2-stretch of the graph. To keep the same Holant value, each new vertex is assigned the binary equality constraint.
Consider a bipartite graph ''G''=(''U'',''V'',''E'') where the constraint assigned to every vertex
is
and the constraint assigned to every vertex
is
. Denote this counting problem by
If the vertices in ''U'' are viewed as one large vertex of degree , ''E'', , then the constraint of this vertex is the
tensor product
In mathematics, the tensor product V \otimes W of two vector spaces and (over the same Field (mathematics), field) is a vector space to which is associated a bilinear map V\times W \to V\otimes W that maps a pair (v,w),\ v\in V, w\in W to an e ...
of
with itself , ''U'', times, which is denoted by
Likewise, if the vertices in ''V'' are viewed as one large vertex of degree , ''E'', , then the constraint of this vertex is
Let the constraint
be represented by its weighted
truth table
A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra (logic), Boolean algebra, boolean functions, and propositional calculus—which sets out the functional values of logical expression (mathematics) ...
as a row vector and the constraint
be represented by its weighted truth table as a column vector. Then the Holant of this constraint graph is simply
Now for any complex 2-by-2
invertible matrix
In linear algebra, an -by- square matrix is called invertible (also nonsingular or nondegenerate), if there exists an -by- square matrix such that
:\mathbf = \mathbf = \mathbf_n \
where denotes the -by- identity matrix and the multiplicati ...
''T'' (the columns of which are the linear basis vectors mentioned above), there is a holographic reduction between
and
To see this, insert the identity matrix
in between
to get
:
:
:
Thus,
and
have exactly the same Holant value for every constraint graph. They essentially define the same counting problem.
Specific examples
Vertex covers and independent sets
Let ''G'' be a graph. There is a 1-to-1 correspondence between the
vertex cover
In graph theory, a vertex cover (sometimes node cover) of a graph is a set of vertices that includes at least one endpoint of every edge of the graph.
In computer science, the problem of finding a minimum vertex cover is a classical optimiza ...
s of ''G'' and the
independent sets of ''G''. For any set ''S'' of vertices of ''G'', ''S'' is a vertex cover in ''G'' if and only if the
complement
A complement is something that completes something else.
Complement may refer specifically to:
The arts
* Complement (music), an interval that, when added to another, spans an octave
** Aggregate complementation, the separation of pitch-clas ...
of ''S'' is an independent set in ''G''. Thus, the number of vertex covers in ''G'' is exactly the same as the number of independent sets in ''G''.
The equivalence of these two counting problems can also be proved using a holographic reduction. For simplicity, let ''G'' be a 3-
regular graph
In graph theory, a regular graph is a graph where each vertex has the same number of neighbors; i.e. every vertex has the same degree or valency. A regular directed graph must also satisfy the stronger condition that the indegree and outdegre ...
. The 2-stretch of ''G'' gives a bipartite graph ''H''=(''U'',''V'',''E''), where ''U'' corresponds to the edges in ''G'' and ''V'' corresponds to the vertices in ''G''. The Holant problem that naturally corresponds to counting the number of vertex covers in ''G'' is
The truth table of OR
2 as a row vector is (0,1,1,1). The truth table of EQUAL
3 as a column vector is
. Then under a holographic transformation by
:
:
:
:
:
:
which is
the Holant problem that naturally corresponds to counting the number of independent sets in ''G''.
History
As with any type of reduction, a holographic reduction does not, by itself, yield a polynomial time algorithm. In order to get a polynomial time algorithm, the problem being reduced to must also have a polynomial time algorithm. Valiant's original application of holographic algorithms used a holographic reduction to a problem where every constraint is realizable by
matchgates,
which he had just proved is tractable by a further reduction to counting the number of
perfect matching
In graph theory, a perfect matching in a graph is a matching that covers every vertex of the graph. More formally, given a graph , a perfect matching in is a subset of edge set , such that every vertex in the vertex set is adjacent to exactly ...
s in a
planar graph
In graph theory, a planar graph is a graph that can be embedded in the plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. In other words, it can be drawn in such a way that no edges cro ...
. The latter problem is tractable by the
FKT algorithm
The FKT algorithm, named after Fisher, Kasteleyn, and Temperley, counts the number of perfect matchings in a planar graph in polynomial time. This same task is #P-complete for general graphs. For matchings that are not required to be perfect, ...
, which dates to the 1960s.
Soon after, Valiant found holographic algorithms with reductions to matchgates for #
7 Pl-Rtw-
Mon-3
CNF and #
7Pl-3/2
Bip-
VC.
These problems may appear somewhat contrived, especially with respect to the
modulus. Both problems were already known to be #P-hard when ignoring the modulus and Valiant supplied proofs of #P-hardness modulo 2, which also used holographic reductions. Valiant found these two problems by a computer search that looked for problems with holographic reductions to matchgates. He called their algorithms ''accidental algorithms'', saying "when applying the term accidental to an algorithm we intend to point out that the algorithm arises from satisfying an apparently onerous set of constraints." The "onerous" set of constraints in question are polynomial equations that, if satisfied, imply the existence of a holographic reduction to matchgate realizable constraints.
After several years of developing (what is known as) matchgate signature theory, Jin-Yi Cai and Pinyan Lu were able to explain the existence of Valiant's two accidental algorithms.
These two problems are just special cases of two much larger families of problems: #
2k-1Pl-Rtw-Mon-kCNF and #
2k-1Pl-k/2Bip-VC for any positive integer ''k''. The modulus 7 is just the third
Mersenne number
In mathematics, a Mersenne prime is a prime number that is one less than a power of two. That is, it is a prime number of the form for some integer . They are named after Marin Mersenne, a French Minim friar, who studied them in the early 17t ...
and Cai and Lu showed that these types of problems with parameter ''k'' can be solved in polynomial time exactly when the modulus is the ''k''th Mersenne number by using holographic reductions to matchgates and the
Chinese remainder theorem
In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of the ...
.
Around the same time, Jin-Yi Cai, Pinyan Lu and Mingji Xia gave the first holographic algorithm that did not reduce to a problem that is tractable by matchgates.
Instead, they reduced to a problem that is tractable by Fibonacci gates, which are
symmetric
Symmetry (from grc, συμμετρία "agreement in dimensions, due proportion, arrangement") in everyday language refers to a sense of harmonious and beautiful proportion and balance. In mathematics, "symmetry" has a more precise definit ...
constraints whose truth tables satisfy a
recurrence relation
In mathematics, a recurrence relation is an equation according to which the nth term of a sequence of numbers is equal to some combination of the previous terms. Often, only k previous terms of the sequence appear in the equation, for a paramete ...
similar to one that defines the
Fibonacci number
In mathematics, the Fibonacci numbers, commonly denoted , form a integer sequence, sequence, the Fibonacci sequence, in which each number is the sum of the two preceding ones. The sequence commonly starts from 0 and 1, although some authors start ...
s. They also used holographic reductions to prove that certain counting problems are #P-hard. Since then, holographic reductions have been used extensively as ingredients in both polynomial time algorithms and proofs of #P-hardness.
References
{{Reflist
Algorithms