Polynomial-time Solvable #CSP Problems via Algebraic Models and Pfaffian Circuits S. Margulies
Department of Mathematics, United States Naval Academy, Annapolis, MD
J. Morton
Department of Mathematics, Pennsylvania State University, State College, PA
Abstract
A Pfaffian circuit is a tensor contraction network where the edges are labeled with basis changes in such a way that a very specific set of combinatorial properties is satisfied. By modeling the permissible basis changes as systems of polynomial equations, and then solving via computation, we are able to identify classes of 0/1 planar #CSP problems solvable in polynomial time via the Pfaffian circuit evaluation theorem (a variant of L. Valiant’s Holant Theorem). We present two different models of 0/1 variables, one that is possible under a homogeneous basis change, and one that is possible under a heterogeneous basis change only. We enumerate a collection of 1,2,3, and 4-arity gates/cogates that represent constraints, and define a class of constraints that is possible under the assumption of a “bridge” between two particular basis changes. We discuss the issue of planarity of Pfaffian circuits, and demonstrate possible directions in algebraic computation for designing a Pfaffian tensor contraction network fragment that can simulate a swap gate/cogate. We conclude by developing the notion of a decomposable gate/cogate, and discuss the computational benefits of this definition.
Key words: dichotomy theorems, Gr¨obnerbases, computer algebra, #CSP, polynomial ideals
1. Introduction
A solution to a constraint satisfaction problem (CSP) is an assignment of values to a set of variables such that certain constraints on the combinations of values are satisfied. A solution to a counting constraint satisfaction problem (#CSP) is the number of solutions to a given CSP. For example, the classic NP-complete problem 3-SAT is a CSP prob- lem, but counting the number of satisfying assignments is a #CSP problem. CSP and #CSP problems are ubiquitous in computer science, optimization and mathematics: they can model problems in fields as diverse as Boolean logic, graph theory, database query
Email addresses: [email protected] (S. Margulies), [email protected] (J. Morton).
Preprint submitted to Elsevier 12 May 2015 evaluation, type inference, scheduling and artificial intelligence. This paper uses compu- tational commutative algebra to study the classification of #CSP problems solvable in polynomial time by Pfaffian circuits. In a seminal paper [31], Valiant used “matchgates” to demonstrate polynomial time algorithms for a number of #CSP problems, where none had been previously known be- fore. Pfaffian circuits [24, 27, 28] are a simplified and extensible reformulation of Valiant’s notion of a holographic algorithm, which builds on J.Y. Cai and V. Choudhary’s work in expressing holographic algorithms in terms of tensor contraction networks [11]. Valiant’s Holant Theorem ([30, 31]) is an equation where the left-hand side has both an expo- nential number of terms and an exponential number of term cancellations, whereas the right-hand side is computable in polynomial time. Extensions to holographic algorithms made possible by Pfaffian circuits include swapping out this equation for another combi- natorial identity [28], viewing this equation as an equivalence of monoidal categories [28], or, as is done here, using heterogeneous changes of bases with the aid of computational commutative algebra. In a series of papers [5, 6, 8] culminating in [4], A. Bulatov explored the problem of counting the number of homomorphisms between two finite relational structures (an equivalent statement of the general #CSP problem). In [4], Bulatov demonstrates a complete dichotomy theorem for #CSP problems. In other words, Bulatov demonstrates that a #CSP problem is either in FP (solvable in polynomial time), or it is #P-complete. However, not only does his paper rely on a thorough knowledge of universal algebras, but it also relies on the notion of a congruence singular finite relational structure, and the complexity of determining if a given structure has this property is unknown (perhaps even undecidable). However, in 2010, Dyer and Richerby [22] offered a simplified proof of Bulatov’s result, and furthermore established a new criterion (known as strong balance) for the #CSP dichotomy that is not only decidable, but is in fact in NP. The following series of papers culminated in the current state of the art dichotomy theorems for #CSPs [4, 7, 8, 9, 10, 16, 18, 20, 21, 22]. In light of these elegant and conclusive dichotomy theorems, research on #CSP problems focused on cases not al- ready covered, including asymmetric signatures, nonbinary alphabets, planar instances [12, 13, 14, 15, 16, 17, 18, 19, 23], and so on. Holant and matchgate approaches that used basis changes focused exclusively on homogeneous change of basis. This paper focuses on finding #CSPs defined by Pfaffian gates and cogates that are tractable under a hetero- geneous change of basis. We begin by identifying classes of symmetric and asymmetric planar 0/1 polynomial time solvable instances via algebraic methods and computation. It is the first systematic exploration of the heterogeneous basis case. The Pfaffian circuits approach is an alternate formulation for matchgates that focuses on a particularly nice collection of affine opens of the set of matchgate tensors in order to gain geometric insight, improve access to symbolic computational methods, and simplify some arguments. For clarity, we list four main reasons for this approach. First, since the time complexity of determining the Pfaffian of a matrix is equivalent to that of finding the determinant, ωp our approach is not only polynomial time, but O(n ), where 1.19 ≤ ωp ≤ 3 and n is the total number of variable inclusions in the clauses (for further information on this analysis, see the discussion immediately after Algorithm 1 in [27]). We observe that Valiant’s matchgate approach has a similar time complexity; however, the tensor con- traction network representation of the underlying #CSP instance is often a more compact
2 representation than that of the matchgate encoding. Second, our approach is based on algebraic computational methods, and thus, any independent innovations to Gr¨obner basis algorithms (or determinant algorithms, for that matter) will also be innovations to our method. Third, by approaching Pfaffian circuits via algebraic computation, we are able to consider non-homogeneous (heterogeneous) changes of bases, an option which has not yet been explored. The use of a heterogeneous changes of bases brings us to our final reason for considering Pfaffian circuits: the gates/cogates may be decomposable into smaller gates/cogates in such a way that lower degree polynomials are used, which exponentially enhances the performance of this method. We begin Sec. 2 with a detailed introduction to tensor contraction networks, which can be skipped by those already familiar with these ideas. We next recall the definition of Pfaffian gates/cogates, and their connection to classical logic gates (OR, NAND, etc.). In Sec. 2.5, we define Pfaffian circuits, and give a step-by-step example of evaluating a Pfaffian circuit via the polynomial time Pfaffian circuit evaluation theorem [27]. In Sec. 3, we present the new algebraic and computational aspect of this project: given a gate/cogate, we describe a system of polynomial equations such that the solutions (if any) are in bijection to the changes of bases (not necessarily homogeneous) where the gate/cogate is “Pfaffian”. By “linking” the ideals associated with these gates/cogates together, and then solving using software such as Singular [32], we begin the process of characterizing the building blocks of Pfaffian circuits. In Sec. 4, we present the first results of our computational exploration. We demonstrate two different ways of simulating 0/1 variables as planar, Pfaffian, tensor contraction network fragments. The first uses a homogeneous change of a basis, and the second (known as an equality tree) is possible under a heterogeneous change of basis only. We use these equality trees to develop two classes of compatible constraints, the first of which identifies gates/cogates that are Pfaffian under a homogeneous change of basis, and the second of which utilizes the two existing changes of bases (A and B), and then posits the existence of a third change of basis C to identify 24 additional Pfaffian gates/cogates. Thus, Sec. 4 begins the process of characterizing (via algebraic computation) planar, Pfaffian, 0/1 #CSP problems that are solvable in polynomial time. In Sec. 5, we investigate the question of planarity. Within the Pfaffian circuit frame- work, the addition of a swap gate/cogate is not equivalent to lifting the planarity restric- tion, since the compatible gates/cogates representing solvable #CSP problems are not automatically identifiable. Thus, there are no inherent complexity-theoretic stumbling blocks to investigating a Pfaffian swap gate/cogate, and indeed the hope is that such an investigation would eventually yield a new sub-class of non-planar polynomial-time solvable #CSP problems. By a Pfaffian swap, we mean an open tensor network that simulates swap and is Pfaffian under some change of basis. However, in this paper, we only demonstrate that specific gates which can be used as building blocks for a swap gate (such as CNOT) are indeed Pfaffian (under a heterogeneous change of basis only). We then describe several attempts to construct a Pfaffian swap gate, indicating precisely where the attempts fail, and conclude by presenting a partial swap gate. This result sug- gests a specific direction (in both algebraic computation and combinatorial structure) for constructing a Pfaffian swap gate. We conclude in Sec. 6 by introducing the notion of a decomposable gate/cogate, and discussing the computational advantages of these decompositions. To summarize, this project models Pfaffian circuits as systems of polynomial equations, and then solves the systems using Singular [32], with the goal of identifying classes of planar 0/1 #CSP problems that are solvable in polynomial time.
3 2. Background and Definitions of Pfaffian Circuits In this section, we develop the necessary background for modeling #CSP problems as Pfaffian circuits, and then solving them via the Pfaffian circuit evaluation theorem [27]. We begin with tensors and the convenience of the Dirac (bra/ket) notation from quantum mechanics, and then express Boolean predicates (which we call gates/cogates) as elements of a tensor product space. We then describe the process of applying a change of basis to these gates/cogates such that they are expressible as tensors with coefficients that are the sub-Pfaffians of some skew-symmetric matrix. We conclude with a step-by- step example of solving a particular Pfaffian circuit with the Pfaffian circuit evaluation theorem.
2.1. Tensors and Dirac Notation Let U and V be two-dimensional complex vector spaces equipped with bases, with v ∈ V and u ∈ U. In the induced basis we can express the tensor product v ⊗ u as the 4 T Kronecker product, the vector w ∈ C (w = [w0, w1, w2, w3] ) with w2i+j = viuj for 0 ≤ i, j ≤ 1. For example, 1 + 2i 3 3 + 6i 3 1 + 2i 1/2 3/2 ⊗ = = . 1/3 + i 1/2 1 + 2i −5/3 + 5/3i (1/3 + i) 1/2 1/6 + i/2
2 0 1 Now let V1,...,Vn each be isomorphic to C , and let {vi , vi } be a basis of Vi. Any induced basis vector in the tensor product space V1 ⊗ V2 ⊗ · · · ⊗ Vn can be concisely written as a ket, where v0 is denoted by |0i and v1 is denoted by |1i. For example, a basis element of V1 ⊗ V2 ⊗ · · · ⊗ Vn can be written as 1 1 0 1 0 1 |1101 ··· 01i = v1 ⊗ v2 ⊗ v3 ⊗ v4 ⊗ · · · ⊗ vn−1 ⊗ vn , | {z } ket and an arbitrary vector w ∈ V1 ⊗ V2 ⊗ · · · ⊗ Vn can be written as
w = α1 |00 ··· 0i +α2 |10 ··· 0i + ··· + α2n |11 ··· 1i , with α1, ··· , α2n ∈ C . | {z } | {z } | {z } ket ket ket Given a vector space V , the dual vector space V ∗ is the vector space of all linear ∗ ∗ 0∗ 1∗ functions on V . Given V1,...,Vn, let V1 ,...,Vn be their duals, with {νi , νi } the dual ∗ ∗ ∗ basis of Vi . We write a linear function in the tensor product space V1 ⊗ · · · ⊗ Vn as a bra, with ν0∗ denoted by h0| and ν1∗ denoted by h1|. For example, a basis element can be written as 1∗ 1∗ 0∗ 1∗ 0∗ 1∗ h1101 ··· 01| = ν1 ⊗ ν2 ⊗ ν3 ⊗ ν4 ⊗ · · · ⊗ νn−1 ⊗ νn , | {z } bra ∗ ∗ ∗ and an arbitrary linear function w ∈ V1 ⊗ V2 ⊗ · · · ⊗ Vn can be written as
w = β1 h00 ··· 0| +β2 h10 ··· 0| + ··· + β2n h11 ··· 1| , with β1, ··· , β2n ∈ C . | {z } | {z } | {z } bra bra bra
We may use subscripts to identify sub-tensor-products: for example, |0619011i denotes 0 1 0 the induced basis element v6 ⊗ v9 ⊗ v11 in the tensor product space V6 ⊗ V9 ⊗ V11 (and similarly for the bras).
4 j∗ The dual basis element νi with j ∈ {0, 1} yields a Kronecker delta function: ( 1 if j = k , νj∗(vk) = i i 0 otherwise . In the bra-ket notation, this is expressed as a contraction; e.g. h0|0i = 1 and h0|1i = 0. In classical computing, a bit takes on the value of 0 or 1. In quantum computing, given an orthonormal basis |0i, |1i , a pure state of a qubit is given by the superposition of states, denoted α|0i + β|1i, with α2 + β2 = 1 and α, β ∈ C. 2.2. Boolean Predicates as Tensor Products A Boolean predicate is a 0/1-valued function where the true/false output is dependent on the true/false input assignments of the variables. Here we see the 2-input Boolean predicate OR represented as both a bra and a ket. 0 0 0 OR (as a ket) = 0 · |00i + 1 · |10i + 1 · |01i + 1 · |11i OR = 1 0 1 = |10i + |01i + |11i , and 0 1 1 1 1 1 OR (as a bra) = h10| + h01| + h11| . A Boolean predicate represented as a ket is a gate, and a Boolean predicate represented as a bra is a cogate. Just as Boolean predicates can be connected to describe a (counting) constraint satisfaction problems, these gates and cogates can be connected to describe a tensor contraction network.
2.3. Tensor Contraction Networks A bipartite graph G = (X,Y,E) is a graph partitioned into two disjoint vertex sets, X and Y , such that every edge in the graph is incident on a vertex in both X and Y . A bipartite tensor contraction network Γ is a bipartite graph partitioned into gates and cogates. Every tensor contraction network considered in this paper is bipartite, so we will not always specify bipartite. An open tensor network or tensor network fragment is a bipartite tensor contraction network which is allowed to have dangling (unmatched) edges. If Γ contains m edges, we consider the vector spaces V1,...,Vm (and vector space ∗ ∗ duals V1 ,...,Vm) , and every vertex in Γ is labeled with either a gate or cogate. Consider a vertex of degree d which is incident on edges e1, . . . , ed. Then, the gate (or cogate) associated with that vertex is an element of the tensor product space Ve1 ⊗ · · · ⊗ Ved (or V ∗ ⊗ · · · ⊗ V ∗ , respectively). We denote the tensor contraction network Γ as the 3-tuple e1 ed (G, C, E) consisting of gates, cogates and edges.
Example 1. Consider the following tensor contraction network Γ with gates/cogates: ( G = |0 0 0 i + |1 1 1 i , G = 1 4 5 6 4 5 6 6 C1 G2 = |110213i + |011213i + |111213i , G1 5 C = h0 1 | + h1 0 | , C Γ = 1 3 6 3 6 3 2 C = C = h0 1 | + h1 0 | , 2 2 5 2 5 G2 2 4 1 C3 = h1114| , C 3 E = {1,..., 6} . Gates are denoted by boxes (2) and cogates by circles (◦). Note that gate G2 is incident on edges 1, 2 and 3, and is an element of the tensor product space V1 ⊗ V2 ⊗ V3. ∗ ∗ Similarly, cogate C3 is incident on edges 1 and 4, and C3 ∈ V1 ⊗ V4 . 2
5 Given a tensor contraction network Γ, the value of the tensor contraction network, denoted val(Γ), is the contraction of all the tensors in Γ. The value of any bipartite tensor contraction network is a scalar. We observe that the value of the tensor contraction network Γ in Ex. 1 is 0 (see Sec 2.5 for a contraction example).
2.4. Pfaffian Gates, Cogates and Circuits
In the previous section, we defined gates/cogates as the fundamental building blocks of tensor contraction networks. In this section, we describe how to find the value of a tensor contraction network in polynomial time when the network satisfies certain combinatorial and algebraic conditions. In particular, we describe what it means for an individual gate/cogate to be Pfaffian. An n × n skew-symmetric matrix A has i, jth entry aij = −aji, and thus aii = 0. For n odd, the determinant of a skew-symmetrix matrix A is zero, and for n even, det(A) can be written as the square of a polynomial known as the Pfaffian of A. Given an even Pf integer n, let Sn ⊆ Sn be the set of permutations σ ∈ Sn such that σ(1) < σ(2), σ(3) < σ(4), . . . , σ(n − 1) < σ(n), and σ(1) < σ(3) < σ(5) < ··· < σ(n − 1). Then, the Pfaffian of an n × n skew-symmetric matrix A, denoted Pf(A), is given by 0 , for n odd , Pf(A) = 1 , for n = 0 , , P sgn(σ)aσ(1),σ(2)aσ(3),σ(4) ··· aσ(n−1),σ(n) , for n even , Pf σ∈Sn 2 and Pf(A) = det(A). For example, if A is a 2 × 2 matrix, then Pf(A) = a12. If A is a 4 × 4 matrix, then Pf(A) = a12a34 − a13a24 + a14a23. Laplace expansion can also be used to compute Pf(A). For example, if A is a 6 × 6 matrix, then Pf(A) = a12Pf(A|3456)−a13Pf(A|2456)+a14Pf(A|2356)−a15Pf(A|2346)+a16Pf(A|2345), where A|2356 is the submatrix of A consisting only of the rows and columns indexed by {2, 3, 5, 6}. Let [n] = {1, . . . , n}, and I ⊆ [n]. Then |Ii is the ket corresponding to subset I. For example, given I = {2, 5, 7} ⊆ [8], then |Ii = |01001010i. Given J ⊂ [n], J C = [n] \ J is the set of integers not present in J, so e.g. if J = {1, 2, 4, 6, 8} ⊆ [8], J C = {3, 5, 7}.
Definition 1. [24, 27] Given an n×n skew-symmetric matrix Ξ, we define the subPfaffian of Ξ and the subPfaffian dual of Ξ, denoted by sPf (Ξ) and sPf ∗(Ξ) respectively, as
X ∗ X sPf (Ξ) = Pf (Ξ|I )|Ii , sPf (Ξ) = Pf (Ξ|J C )hJ| , I⊆[n] J⊆[n]
where Ξ|I is the submatrix of Ξ with rows/columns indexed by I (and similarly for Ξ|J C ). Example 2. Given the 4 × 4 skew-symmetric matrix Ξ, we calculate sPf(Ξ), sPf∗(Ξ): 0 i 0 2 sPf (Ξ) = Pf (Ξ|∅)|0000i + Pf (Ξ|1)|1000i + ··· + Pf (Ξ|1234)|1111i −i 0 −1 0 Ξ = , = |0000i + i|1100i + 2|1001i − |0110i + 3|0011i + (−2 + 3i)|1111i , 0 1 0 3 ∗ sPf (Ξ) = Pf (Ξ|1234)h0000| + Pf (Ξ|234)h1000| + ··· + Pf (Ξ|∅)h1111| −2 0 −3 0 = (−2 + 3i)h0000| + 3h1100| − h1001| + 2h0110| + ih0011| + h1111| .
We observe that, while Pf(Ξ) = −2 + 3i is a scalar, sPf(Ξ) is an element of the tensor ∗ ∗ ∗ product space V1 ⊗ · · · ⊗ V4 and sPf (Ξ) is an element of V1 ⊗ · · · ⊗ V4 . 2
6 The value of a closed tensor network (one with no dangling wires) is invariant under the action of ×i GL Vi, with each GL Vi acting on the corresponding wire. To see this explicitly, we now apply a change of basis A to an edge in a tensor contraction network. a00 a01 1 a11 −a01 Consider A , where A = , and A−1 = . det(A) a10 a11 −a10 a00 The choice of indexing the rows and columns from zero is a notational convenience which will become clear in Sec. 3. When the change of basis A is applied to an edge, the contraction property h0|1i = h1|0i = 0 and h0|0i = h1|1i = 1 must be preserved, since applying a change of basis must not affect val(Γ). Since every edge in a bipartite tensor contraction network is incident on both a gate and cogate, when we apply the change of basis to the gate, we find A|0i = a00|0i + a10|1i, and A|1i = a01|0i + a11|1i. When we −1 −1 apply the change of basis to the cogate, we find A h0| = det(A) a11h0| − a01h1| , and −1 −1 A h1| = det(A) − a10h0| + a00h1| . Note that
D −1 E D −1 E 1 = h0|0i = A h0|,A|0i = det(A) a11h0| − a01h1| , a00|0i + a10|1i a a h0|0i + a a h0|1i − a a h1|0i − a a h1|1i a a − a a = 11 00 11 10 01 00 01 10 = 11 00 01 10 = 1 . det(A) det(A) Therefore, when the change of basis A is applied to the gate, the change of basis A−1 is applied to the cogate. For convenience,
A A-1 is denoted as A .
We now present the notion of a Pfaffian gate/cogate. Recall that in a tensor con- traction network, the number of edges incident on the gate/cogate is the arity of the gate/cogate. For example, in Ex. 1, cogate C2 = h0215| + h1205| is incident on edges 2 and 5, and thus has arity two.
Definition 2. An arity-n gate G is Pfaffian under a change of basis if there exists an 2×2 n × n skew-symmetric matrix Ξ, an α ∈ C, and matrices A1,...,An ∈ C such that
(A1 ⊗ · · · ⊗ An)G = αsPf(Ξ) . An arity-n cogate C is Pfaffian under a change of basis if there exists an n × n skew- 2×2 symmetric matrix Θ, a β ∈ C, and matrices A1,...,An ∈ C such that −1 −1 ∗ (A1 ⊗ · · · ⊗ An )C = β sPf (Θ) .
When A1 = ··· = An, we say that G is Pfaffian under a homogeneous change of basis. Otherwise, we say that G is Pfaffian under a heterogeneous change of basis. When no change of basis is needed, we simply say that G is Pfaffian (and similarly for cogates).
Example 3 (Pfaffian Gates and Cogates). Consider the change of basis matrix A: 1 3/4 5/4 −1/4 10 − 5 + 5 ) 5 A = . 1 3/4 5/4 −1/4 10 − 5 − 5 5
7 Consider the OR gate |10i + |01i + |11i, and observe that " #! (A ⊗ A) |10i + |01i + |11i = |00i − |11i = α sPf (Ξ) = sPf 0 −1 . 1 0
Additionally, consider the cogate h00| + h11|, and observe that √ √ 0 5 + 3 −1 −1 ∗ 5 1 ∗ 2 2 A ⊗ A h00| + h11| = β sPf (Θ) = − sPf √ . 2 2 − 5 + 3 0 | {z } 2 2 β Therefore the gate |10i + |01i + |11i and the cogate h00| + h11| are both Pfaffian under the homogeneous change of basis A. We observe that the change of basis matrix A was found computationally via the algebraic method described in Sec. 3. 2
A Pfaffian circuit [27] is a bipartite planar tensor contraction network where some change of basis (possibly the identity) has been applied to every edge such that every gate/cogate in the network is Pfaffian. In the next section, we explain the importance of Pfaffian circuits.
2.5. Pfaffian Circuits and the Pfaffian Circuit Evaluation Theorem
In this section, we explain the Pfaffian circuit evaluation theorem. Just as Valiant’s Holant Theorem involves an identity where the left-hand side seems to require exponen- tial time, while the right-hand side can be evaluated in polynomial time, the Pfaffian circuit evaluation theorem is a similar equation. In this section, we follow a particular example, and evaluate both the left and right-hand sides of the identity, in exponential and polynomial time, respectively. Consider the following Boolean formula (an example of 2-SAT) in variables x1, x2, x3:
(x1 ∨ x2) ∧ (x2 ∨ x3) ∧ (x1 ∨ x3) . (1) The tensor contraction network Γ displayed in Fig. 1 (top) is a model for the above Boolean formula. We claim that the val(Γ) = 4, which is the number of satisfying solutions to the Boolean formula in Eq. 1. We first examine the cogates C1,C2,C3. Observe that the bra h00| + h11| forces the state of the incident edges to be either all zero (h0|) or all one (h1|). This is combinatorially analogous to the fact that if a variable is set to false in a clause, then it is false everywhere in the Boolean formula (and similarly for true). We now examine gates G1,G2,G3. The only kets that exist in these gates are kets consistent with the standard OR operation, i.e., |10i, |01i or |11i. As we compute the tensor contraction of an arbitrary Γ, we will see that the contractions of bras and kets that are performed in the worst case represent a brute-force iteration over every possible solution, and the only contractions hx|yi that equal one (and are thus “counted”) correspond to legitimate solutions. Note that the particular Γ here is just an example; the fact that it is a loop makes computation easier in practice (as would a tree) but Pfaffian circuits in general are not required to be trees or loops. We first compute val(Γ) via a standard exponential time algorithm. In Step 1, we arbitrarily choose a root of Γ, and compute a minimum spanning tree. In Step 2, we
8 C1 G1 = |1106i + |0116i + |1116i , clause (x1 ∨ x2) 56 G = G = |1 0 i + |0 1 i + |1 1 i , clause (x ∨ x ) 2 2 3 2 3 2 3 2 3 G G 1 3 G3 = |1405i + |0415i + |1415i , clause (x1 ∨ x3) 1 4 , Γ = C = h0 0 | + h1 1 | , variable x 1 5 6 5 6 1 2 CC 3 C = C = h0 0 | + h1 1 | , variable x 2 3 2 1 2 1 2 2 C3 = h0304| + h1314| , variable x3 G 2 E = {1,..., 6} . C1 56 ,G2 C2 G1 ,C3 G3(C1) =⇒ G1 G3 | {z } 1 4 Cayley/Dyck/Newick format 2 CC 3 2 3 G2 ⊗ C2 ⊗ G1 ⊗ C3 ⊗ G3 ⊗ C1 = val(Γ) . G2 Fig. 1. The tensor contraction network Γ associated with Boolean formula Eq. 1 (top). A mini- mum spanning tree T rooted at G2, and the corresponding Newick format (bottom). represent the minimum spanning tree in Cayley/Dyck/Newick format. In Step 3, we perform the contraction according to the order defined by the Newick tree representation. In Fig. 1 (bottom), we demonstrate a minimum spanning tree of Γ with G2 as the root, and the corresponding nested Newick [3] format which defines the order of the contraction. We now calculate val(Γ).