Home | About | Journals | Submit | Contact Us | Français |

**|**NIST Author Manuscripts**|**PMC5432968

Formats

Article sections

Authors

Related links

J Comput Syst Sci. Author manuscript; available in PMC 2017 August 1.

Published in final edited form as:

J Comput Syst Sci. 2016 August; 82(5): 793–801.

doi: 10.1016/j.jcss.2016.01.001PMCID: PMC5432968

NIHMSID: NIHMS819293

Magnus Find,^{a,}^{1} Mika Göös,^{b,}^{c} Matti Järvisalo,^{c} Petteri Kaski,^{d} Mikko Koivisto,^{c} and Janne H. Korhonen^{c}

Given a boolean *n* × *n* matrix *A* we consider arithmetic circuits for computing the transformation *x* *Ax* over different semirings. Namely, we study three circuit models: monotone OR-circuits, monotone SUM-circuits (addition of non-negative integers), and non-monotone XOR-circuits (addition modulo 2). Our focus is on *separating* OR-circuits from the two other models in terms of circuit complexity:

- We show how to obtain matrices that admit OR-circuits of size
*O*(*n*), but require SUM-circuits of size Ω(*n*^{3/2}/log^{2}*n*). - We consider the task of
*rewriting*a given OR-circuit as a XOR-circuit and prove that any subquadratic-time algorithm for this task violates the strong exponential time hypothesis.

A basic question in arithmetic complexity is to determine the minimum size of an arithmetic circuit that evaluates a linear map *x* *Ax*; see, e.g., the recent survey of Jukna and Sergeev [17]. In this work we approach this question from the perspective of relative complexity by varying the circuit model while keeping the matrix *A* fixed, with the goal of separating different circuit models. That is, our goal is to show the existence of matrices *A* that admit small circuits in one model but have only large circuits in a different model.

We will focus on boolean arithmetic and the following three circuit models. Our circuits consist of either

- only -gates (i.e., boolean sums; rectifier circuits),
- only +-gates (i.e., integer addition; cancellation-free circuits), or
- only -gates (i.e., integer addition mod 2).

These three types of circuits have been studied extensively in their own right (see Section 3), but fairly little is known about their relative powers.

Each model admits a natural description both from an algebraic and a combinatorial perspective.

In the three models under consideration, each circuit with inputs *x*_{1}*,...,x _{n}* and outputs

$${y}_{i}=\sum _{j=1}^{n}{a}_{ij}{x}_{j},\phantom{\rule{0.38889em}{0ex}}\phantom{\rule{0.38889em}{0ex}}\phantom{\rule{0.38889em}{0ex}}i=1,\dots ,m.$$

That is, *y* = *Ax*, where *A* = (*a _{ij}*) is an

- in the boolean semiring ({0
*,*1}*,**,*∧), - in the semiring of non-negative integers (
*,*+*,*·), or - in GF(2).

As an example, Figure 1 displays two circuits for computing *y* = *Ax* for the same *A* using two different operators; the circuit on the right requires one more gate.

A circuit computing *y* = *Ax* for a boolean matrix *A* can also be viewed combinatorially: every gate *g* is associated with a subset of the formal variables {*x*_{1}*,...,x _{n}*}; this set is called the

- the set union (),
- the disjoint set union (+), or
- the symmetric difference () of its children.

This way an output gate *y _{i}* will have supp(

Note the special structure of a +-circuit: there is at most one directed path from any input *x _{j}* to any output

More generally we fix a boolean matrix *A* and ask how the circuit complexity of computing *y* = *Ax* depends on the underlying arithmetic. To make this quantitative, denote by *C*_{}(*A*), *C*_{+}(*A*), and *C*_{}(*A*) the minimum number of wires in an unbounded fan-in circuit for computing *y* = *Ax* in the respective models. For simplicity, we restrict our attention to the case of square matrices so that *m* = *n*.

For X*,* Y {*,* +*,* }, we are interested in the complexity ratios

$${\text{gap}}_{\mathrm{X}/\mathrm{Y}}(n):=\underset{A\in {\{0,1\}}^{n\times n}}{max}{C}_{\mathrm{X}}(A)/{C}_{\mathrm{Y}}(A).$$

For example, we have that gap_{/+}(*n*) = gap_{}_{/}_{+}(*n*) = 1 and that gap_{+}_{/}_{}(*n*) ≥ gap_{}_{/}_{}(*n*) for all *n*, by the above fact that each +-circuit can be interpreted as an -circuit and as a -circuit.

We review the motivation for studying separation bounds in Section 3. We next state our results in Section 2; these are summarised in Figure 2 along with the prior separation results.

A *circuit* is a directed acyclic graph where the vertices of in-degree (or *fan-in*) zero are called *input gates* and all other vertices are called *arithmetic gates*. One or more arithmetic gates are designated as *output gates*. The size || of the circuit is the number of edges (or *wires*) in the circuit. We abbreviate [*n*] := {1*,...,n*}.

We begin by studying the monotone complexity of tensor product matrices of the form

$$A={B}_{1}\otimes {B}_{2},$$

where denotes the usual Kronecker product of matrices. In Section 4, we prove a direct sum type theorem on their monotone complexity. As a corollary, we obtain matrices that are easy for -circuits, *C*_{}(*A*)= *O*(*n*), but hard for +-circuits, *C*_{+}(*A*) = Ω(*n*^{3/2}/log^{2}*n*).

gap_{+/}(*n*) = Ω(*n*^{1/2}/log^{2}*n*).

We are not aware of any prior lower bound techniques that work against +-circuits, but not against -circuits. Hence, as far as we know, Theorem 1 is a first step in this direction. We also mention that, after a preprint of this work appeared, Jukna and Sergeev [17] have given an alternative proof and extensions of our Theorem 1.

While we are unable to enlarge the gap in Theorem 1, or prove any super-constant lower bounds on gap_{/}, we still conjecture that all the non-trivial complexity gaps between the three models are of order *n*^{1−}^{o}^{(1)}. Our second result provides some evidence towards these conjectures.

In Section 5, we show that if certain -circuits that are derived from CNF formulas could be efficiently *rewritten* as equivalent +-or -circuits, this would imply unexpected consequences for exponential-time algorithms. More precisely, we study the following problem.

On input an X-circuit , output a Y-circuit that computes the same matrix as .

Both (*,* +)-Rewrite and (*,* )-Rewrite admit simple algorithms that output a circuit of size *O*(||^{2}) in time *O*(||^{2}). However, we show that any significant improvement on these algorithms would give a randomised 2^{(1−}^{ε}^{)}* ^{n}* poly(

*Neither* (*,* +)-Rewrite *nor* (*,* )-Rewrite *can be solved in time O*(||^{2−}* ^{ε}*)

Theorem 2 provides evidence, e.g., for the conjecture gap_{}_{/}_{}(*n*)= *n*^{1−}^{o}^{(1)} in the following sense. If there is a family of matrices *A* witnessing *C*_{}(*A*)*/C*_{}(*A*)= *n*^{1−}^{o}^{(1)}, then clearly no *O*(||^{2−}* ^{ε}*)-time algorithm exists for (

Our proof of Theorem 2 shows, in particular, that an *O*(||^{2−}* ^{ε}*)-time algorithm for (

The trivial depth-1 circuit for a boolean matrix *A* uses |*A*| wires, where we denote by |*A*| the *weight* of *A*, i.e., the number of 1-entries in *A*. Even though |*A*| might be of order Θ(*n*^{2}), Lupanov [22] (as presented by Jukna [16, Lemma 1.2]) constructs depth-2 circuits (applicable in all the three models) of size *O*(*n*^{2}/log *n*) for any *A*. This implies the universal upper bound

$${\text{gap}}_{\mathrm{X}/\mathrm{Y}}(n)=O(n/logn).$$

(Lupanov)

Standard counting arguments [16, §1.4] show that most *n*×*n* matrices have wire complexity Ω(*n*^{2}/log *n*) in each of the three models. Combining this with Lupanov’s upper bound we conclude that a random matrix does little to separate our models:

For a uniformly random *A*, the ratio *C*_{X}(*A*)*/C*_{Y}(*A*) is a constant w.h.p.

Unsurprisingly, it can also be shown that finding a minimum-size circuit for a given matrix is NP-hard in all the models. For -and +-circuits this follows from the NP-completeness of the Ensemble Computation problem as defined by Garey and Johnson [10, PO9]. For -circuits this was proved by Boyar et al. [5].

The study of -circuits has been centered around finding *explicit* matrices that are hard for -circuits. Here, dense *rectangle-free* matrices and their generalisations, (*s, t*)*-free* matrices, are a major source of lower bounds.

A matrix *A* is called (*s, t*)*-free* if it does not contain an (*s* + 1) × (*t* + 1) all-1 submatrix. Moreover, *A* is simply called *k-free* if it is (*k, k*)-free.

Nechiporuk [24] and independently Lamagna and Savage [21] we the first to apply a construction of dense 1-free matrices (e.g., incidence matrices of finite projective planes) to give a lower bound of *C*_{}(*A*) = Ω(*n*^{3/2}) for an explicit matrix *A*. Subsequently, Mehlhorn [23] and Pippenger [26] established the following theorem that gives a general template for this type of lower bound; we use it extensively later.

It is a long-standing open problem to exhibit explicit matrices requiring super-linear size -circuits. No such lower bounds are known even for log-depth circuits, and the only successes so far are in the case of bounded depth [1, 9; 16, §13.5]. This, together with Fact 1, makes it particularly difficult to prove lower bounds on gap_{}_{/}_{}.

However, in the opposite direction, complexity gaps exist: Sergeev et al. [11, 12] obtained a bound gap_{}_{/}_{}(*n*)= *n*^{1−}^{o}^{(1)}. This was subsequently improved to gap_{}_{/}_{}(*n*)= Ω(*n*/log^{2}*n*) by Boyar and Find [4] with an alternative proof given by Jukna and Sergeev [17].

Additive circuits have been studied extensively in the context of the *addition chain* problem (see Knuth [18, §4.6.3] for a survey) and its generalisations [27].

A particular motivation for studying the separation between -and +-circuits is to understand the complexity of zeta transforms on partial orders [2]. Indeed, the characteristic matrix of every partial order ≤ has an -circuit proportional to the number of covering pairs in ≤, but the existence of small +-circuits (and hence fast zeta transforms) is currently not understood satisfactorily.

In this section we give a direct sum type theorem for the monotone complexity of tensor product matrices. Using this, we obtain a separation of the form

$$\begin{array}{l}{V}_{\vee}(B\otimes A)=O(N),\\ {C}_{+}(B\otimes A)=\mathrm{\Omega}({N}^{3/2}/{log}^{2}N),\end{array}$$

(1)

where denotes the usual Kronecker product of matrices and *N* = *n*^{2} denotes the number of input and output variables. This will prove Theorem 1.

As a first example, let *A* be a fixed boolean *n* × *n* matrix and consider the matrix product

$$X\mapsto AX,$$

(2)

where we think of *X* as a matrix of *N* = *n* × *n* input variables. If we arrange these variables into a column vector *x* by stacking the columns of *X* on top of one another, then (2) becomes

$$x\mapsto (I\otimes A)x,$$

(3)

where *I* is the *n* × *n* identity matrix. That is, *I* *A* is the block matrix having *n* copies of *A* on the diagonal.

The transformation (3) famously admits non-trivial -circuits due to the fact that fast matrix multiplication algorithms can be expressed as small bilinear circuits over GF(2). However, it is easy to see that in the case of our monotone models, no non-trivial speed-up is possible: any -circuit for (3) must compute *A* independently *n* times, that is, we have

$${C}_{\vee}(I\otimes A)=n\xb7{C}_{\vee}(A).$$

(4)

This follows from the observation that two subcircuits corresponding to two different columns of *X* cannot share gates due to monotonicity.

We will generalise the above setting slightly and use tensor products of the form *B* *A* to separate -and +-circuits. Analogously to (2), one can check that the matrix *B* *A* corresponds to computing the mapping

$$X\mapsto AX{B}^{\top}.$$

(5)

We aim to show that for suitable choices of *A* and *B* computing *B* *A* is easy for -circuits but hard for +-circuits. We will choose *A* to have large complexity (e.g., choose *A* at random), and think of *B* as dictating how many independent copies of *A* a circuit must compute.

More precisely, define rk_{}(*B*) and rk_{+}(*B*) as the minimum *r* such that *B* can be written as *B* = *PQ*^{} over the boolean semiring or over the semiring of non-negative integers, respectively, where *P* and *Q* are *n* × *r* matrices. Equivalently, rk_{}(*B*) (resp., rk_{+}(*B*)) is the minimum number of rectangles (resp., non-overlapping rectangles) that are required to cover all 1-entries of *B*.

These cover numbers appear often in the study of communication complexity [20]. In this context, the matrix *B* = *Ī*—the boolean complement of the identity *I*—is the usual example demonstrating a large gap between the two concepts [20, Example 2.5]:

$$\begin{array}{l}{\text{rk}}_{\vee}(\overline{I})=\mathrm{\Theta}(logn),\\ {\text{rk}}_{+}(\overline{I})=n.\end{array}$$

We will use this gap to show that, up to polylogarithmic factors,

$$\begin{array}{lll}{C}_{\vee}(\overline{I}\otimes A)\hfill & \approx \hfill & {\text{rk}}_{\vee}(\overline{I})\xb7{n}^{2},\hfill \\ {C}_{+}(\overline{I}\otimes A)\hfill & \approx \hfill & {\text{rk}}_{+}(\overline{I})\xb7{n}^{2}.\hfill \end{array}$$

In terms of the number of input variables *N* = *n*^{2}, we will obtain (1).

Suppose *B* = *PQ*^{} where *P* and *Q* are *n* × rk_{}(*B*) matrices. We can compute (5) as

$$(A(XQ)){P}^{\top},$$

which requires 3 matrix multiplications, each involving rk_{}(*B*) as one of the dimensions (the other dimensions being at most *n*).

If these 3 multiplications are naively implemented with an -circuit of depth 3, each layer will contain at most rk_{}(*B*)*n*^{2} wires so that *C*_{}(*B* *A*) ≤ 3 rk_{}(*B*)*n*^{2}. However, one can still use Lupanov’s techniques to save an additional logarithmic factor: if rk_{}(*B*)= *O*(log *n*), Corollary 1.35 in Jukna [16] can be applied to show that each of the three multiplications above can be computed using *O*(*n*^{2}) wires. Thus, for *B* = *Ī* we get

*C*_{}(*Ī* *A*)= *O*(*n*^{2}) *for all A.*

Intuitively, since low-rank decompositions are not available for *Ī* in the semiring of non-negative integers, a +-circuit for *Ī* *A* should be forced to compute rk_{+}(*Ī*) = *n* independent copies of *A*. More generally, we ask the following.

Do we have *C*_{+}(*B* *A*) ≥ rk_{+}(*B*) · *C*_{+}(*A*) for all *A*, *B*?

Alas, we can answer this affirmatively only in some special cases. For example, the trivial case *B* = *I* was discussed above (4), and it is not hard to generalise the argument to show that the lower bound holds in case *B* admits a fooling set of size rk_{+}(*B*). (When *B* is viewed as an incidence matrix of a bipartite graph, a *fooling set* is a matching no two of whose edges induce a 4-cycle. See [20, §1.3].) However, since this will not be the case when *B* = *Ī*, we will settle for the following version, which suffices for the separation result.

*For all* (*s, t*)*-free A,*

$${C}_{+}(B\otimes A)\ge {\text{rk}}_{+}(B)\xb7\frac{\mid A\mid}{st}.$$

(6)

Note that if we set *B* = *I* in Theorem 5 we recover essentially an analogue of Theorem 3 restricted to +-circuits.

For the purposes of the proof we switch to the combinatorial perspective: For *A* and *B* we introduce two sets of *n* formal variables *X _{A}* and

$${A}_{i}\times {B}_{j},\phantom{\rule{0.38889em}{0ex}}\phantom{\rule{0.38889em}{0ex}}\phantom{\rule{0.38889em}{0ex}}\text{for}\phantom{\rule{0.16667em}{0ex}}i,j\in [n].$$

In the following proof we use the (*s, t*)-freeness of *A* to “zoom in” on that layer of the circuit which reveals the large wire complexity (similarly to Mehlhorn [23]). We advise the reader to first consider the case *s* = *t* = 1, as this already contains the main idea of the proof.

Let be a +-circuit computing *B* *A*. As a first step, we simplify by allowing input gates to have larger-than-singleton supports. Namely, let *F* consist of those gates of whose supports are contained in a *t-wide row cylinder* of the form *Y* × *X _{B}* where

Call a wire that is connected to an input gate an *input wire* and denote the set of input wires by *W*. The wire complexity lower bound (6) will follow already from counting the number |*W* | of input wires.

For *i* [*n*] denote by * _{i}* the subcircuit of computing the

$$\mid W(i)\mid \phantom{\rule{0.16667em}{0ex}}\ge {\text{rk}}_{+}(B)\xb7\frac{\mid {A}_{i}\mid}{t}.$$

(7)

Before we prove (7), we note how it implies the theorem. Each input wire *w* *W* is feeding into a non-input gate having their support not contained in a *t*-wide row cylinder. Due to (*s, t*)-freeness of *A* this means that *w* can appear only in at most *s* different * _{i}*. Thus, the sum Σ

$$\mid W\mid \phantom{\rule{0.16667em}{0ex}}=\left|\underset{i=1}{\overset{n}{\cup}}W(i)\right|\ge \sum _{i=1}^{n}\frac{\mid W(i)\mid}{s},$$

It now remains to prove (7). Fix *i* [*n*]. If *A _{i}* is empty the claim is trivial. Otherwise fix a variable

Indeed, we define the *x-support* supp* _{x}*(

$${W}_{x}(i):=\{w\in W(i):{\text{supp}}_{x}(w)\ne \varnothing \}.$$

Put otherwise, *W _{x}*(

$${R}_{x}(w):=\text{co-}{\text{supp}}_{x}(w)\times {\text{supp}}_{x}(w),$$

where co-supp* _{x}*(

$$\mid {W}_{x}(i)\mid \phantom{\rule{0.16667em}{0ex}}\ge {\text{rk}}_{+}(B).$$

(8)

To finish the proof, we note that a single input wire *w* *W*(*i*), being *t*-wide, can only be contained in the sets *W _{x}*(

$$\mid W(i)\mid \phantom{\rule{0.16667em}{0ex}}=\underset{x\in {A}_{i}}{\cup}{W}_{x}(i)\ge \sum _{x\in {A}_{i}}\frac{\mid {W}_{x}(i)\mid}{t},$$

It is easy to check (and well-known in the context of random graphs [3, §11]) that a random matrix *A* {0*,* 1}^{n}^{×}* ^{n}* is

*A random A satisfies C*_{+}(*Ī* *A*) = Ω(*n*^{3}/log^{2}*n*) *w.h.p.*

In this section we study what would happen if (*,* +)-Rewrite or (*,* )-Rewrite could be solved in subquadratic time. Namely, we show that this eventuality would contradict the strong exponential time hypothesis. This will prove Theorem 2. As discussed in Section 2, we interpret this as evidence for our conjectures gap_{+/}(*n*)= *n*^{1−}^{o}^{(1)} and gap_{/}(*n*)= *n*^{1−}^{o}^{(1)}.

For purposes of computations, we assume that || ≥ *n* for any *n*-input circuit considered in this section. This is to make each admit a binary representation of length *Õ* (||) where the *Õ* notation hides factors polylogarithmic in *n*. For concreteness, might be represented as two lists: (i) the list of gates in , with output gates indicated, and (ii) the list of wires in ; both lists are given in topological order, with the input wires of each gate forming a consecutive sublist of the list of wires. Whatever the encoding, we assume it is efficient enough so that the following property holds.

*On input an* X*-circuit* *and a vector x, the output* (*x*) *can be computed in time Õ*(||) *(in the usual RAM model of computation).*

The following proposition records a similar observation for circuit rewriting.

*Both* (*,* +)-Rewrite *and* (*,* )-Rewrite *can be solved in time Õ*(||^{2}).

Suppose we are given an -circuit as input. The matrix *A* computed by can be easily extracted from in time *Õ*(||^{2}). We then simply output the trivial depth-1 +-circuit for *A* that has size at most *n*^{2} ≤ ||^{2}.

The main technical ingredient in our proof is Lemma 9 below, which states that if subquadratic-time rewriting algorithms exist, then certain simple covering problems can be solved faster than in a trivial manner.

In the following we consider set systems defined by *L*_{1}*,...,L _{n}* and

*Suppose we are given sets L*_{1}*,...,L _{n},R*

*If*(*,*+)-Rewrite*can be solved in time Õ*(||^{2−})^{ε}*for some constant ε>*0*, then the number of covering pairs can be computed in time Õ*((*nm*)^{2−}).^{ε}*If*(*,*)-Rewrite*can be solved in time Õ*(||^{2−})^{ε}*for some constant ε>*0*, then the parity of the number of covering pairs can be computed in time Õ*((*nm*)^{2−}).^{ε}

We begin by proving (a). Let *A* =(*a _{ij}*) be an

Suppose for a moment that we had a small +-circuit for *A*. The value |*A*| can be recovered from the circuit in time *Õ*(||) via the following trick: evaluate (over the integers) on the all-1 vector to obtain *y* = () * ^{n}*; but now

$$\mid A\mid \phantom{\rule{0.16667em}{0ex}}={\U0001d7d9}^{\top}A\U0001d7d9={\U0001d7d9}^{\top}\mathcal{C}(\U0001d7d9)={y}_{1}+\cdots +{y}_{n}.$$

(9)

Unfortunately, we do not know how to construct a small +-circuit for *A*. Instead, our key observation below will be that *the complement matrix Ā* admits an -circuit ^{} of size only |^{}| = *O*(*nm*). By assumption, we can then rewrite ^{} as a +-circuit ^{+} in time *Õ*(|^{}|^{2−}* ^{ε}*) =

$$\mid {\mathcal{C}}^{+}\mid \phantom{\rule{0.16667em}{0ex}}=\stackrel{\sim}{O}\phantom{\rule{0.16667em}{0ex}}\left({(nm)}^{2-\epsilon}\right).$$

Analogously to (9) we can then recover |*A*| from ^{+} in time *Õ*(|^{+}|):

$$\mid A\mid \phantom{\rule{0.16667em}{0ex}}={n}^{2}-\mid \overline{A}\mid \phantom{\rule{0.16667em}{0ex}}={n}^{2}-{\U0001d7d9}^{\top}{\mathcal{C}}^{+}(\U0001d7d9).$$

It now remains to describe how to construct ^{} for *Ā* in time *Õ*(*nm*). Define a depth-2 circuit ^{} as follows: The 0-th layer of ^{} hosts input gates *l _{j}*,

Finally, we observe that (b) can be proven by the same argument as (a), except that the arithmetic is performed over GF(2).

Next, we reduce #CNF-SAT and CNF-SAT to the covering problems in Lemma 9. Here we are essentially applying a technique of Williams [28, Theorem 5].

We have the following reductions:

*If*(*,*+)-Rewrite*can be solved in time Õ*(||^{2−})^{ε}*for some ε>*0*, then*#CNF-SAT*can be solved in time*2^{(1−}^{ε/}^{2)}poly(^{n}*n, m*).*If*(*,*)-Rewrite*can be solved in time Õ*(||^{2−})^{ε}*for some ε>*0*, then*CNF-SAT*can be solved in time*2^{(1−}^{ε/}^{2)}poly(^{n}*n, m*).

Let = {*C*_{1}*,...C _{m}*} be an instance of CNF-SAT over variables

For each truth assignment *s* {0*,* 1}^{n}^{/2} to the left variables, let *L _{s}* be the set of clauses satisfied by

We can now finish the proof of Theorem 2. For (*,* +)-Rewrite the result follows immediately from Theorem 10 since an algorithm for #CNF-SAT implies an algorithm for CNF-SAT. For (*,* )-Rewrite, however, the result does not immediately follow from Theorem 10—it is non-trivial to convert an algorithm for CNF-SAT into an algorithm for CNF-SAT. Here we can invoke the main result (an “Isolation Lemma” for *k*-CNFs) of Calabro et al. [6]. They show that any 2^{(1−}^{ε}^{)}* ^{n}* poly(

We are grateful to Stasys Jukna and Igor Sergeev for comments and pointers to the literature. Furthermore, we thank Jukka Suomela for discussions, and the anonymous referee for comments.

This research is supported in part by Academy of Finland, grants 132380 and 252018 (M.G.), 132812 and 251170 (M.J.), 252083 and 256287 (P.K.), and by Helsinki Doctoral Programme in Computer Science-Advanced Computing and Intelligent Systems (J.K.).

^{}A preliminary version of our second contribution has appeared in SAT 2012 [15].

1. Alon N, Karchmer M, Wigderson A. Linear circuits over GF(2) SIAM Journal on Computing. 1990;19(6):1064–1067. doi: 10.1137/0219074. [Cross Ref]

2. Björklund A, Husfeldt T, Kaski P, Koivisto M, Nederlof J, Parviainen P. Fast zeta transforms for lattices with few irreducibles. Proceedings of the 23rd Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2012); SIAM; 2012. pp. 1436–1444.

3. Bollobás B. Number 73 in Cambridge studies in advanced mathematics. 2. Cambridge University Press; 2001. Random Graphs.

4. Boyar J, Find MG. Fundamentals of Computation Theory, volume 8070 of Lecture Notes in Computer Science. Springer; 2013. Cancellation-free circuits in unbounded and bounded depth; pp. 159–170. [Cross Ref]

5. Boyar J, Matthews P, Peralta R. Logic minimization techniques with applications to cryptology. Journal of Cryptology. 2013;26:280–312. doi: 10.1007/s00145-012-9124-7. [Cross Ref]

6. Calabro C, Impagliazzo R, Kabanets V, Paturi R. The complexity of unique *k*-SAT: An isolation lemma for *k*-CNFs. Journal of Computer and System Sciences. 2008;74(3):386–393. doi: 10.1016/j.jcss.2007.06.015. [Cross Ref]

7. Calabro C, Impagliazzo R, Paturi R. The complexity of satisfiability of small depth circuits. 4th International Workshop on Parameterized and Exact Computation (IWPEC 2009); Berlin Heidelberg: Springer; 2009. pp. 75–85. [Cross Ref]

8. Cygan M, Dell H, Lokshtanov D, Marx D, Nederlof J, Okamoto Y, Paturi R, Saurabh S, Wahlstrom M. On problems as hard as CNF-SAT. Proceedings of the 27th Conference on Computational Complexity (CCC 2012); IEEE; 2012. pp. 74–84. [Cross Ref]

9. Gál A, Hansen KA, Koucký M, Pudlák P, Viola E. Tight bounds on computing error-correcting codes by bounded-depth circuits with arbitrary gates. Proceedings of the 44th Annual ACM Symposium on Theory of Computing (STOC 2012); ACM; 2012. pp. 479–494. [Cross Ref]

10. Garey MR, Johnson DS. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Company; 1979.

11. Gashkov SB, Sergeev IS. On the complexity of linear Boolean operators with thin matrices. Journal of Applied and Industrial Mathematics. 2011;5:202–211. doi: 10.1134/S1990478911020074. [Cross Ref]

12. Grinchuk MI, Sergeev IS. Thin circulant matrixes and lower bounds on complexity of some Boolean operators. Diskretnyĭ Analiz i Issledovanie Operatsiĭ 2011;18:38–53.

13. Impagliazzo R, Paturi R. On the complexity of *k*-SAT. Journal of Computer and System Sciences. 2001;62(2):367–375. doi: 10.1006/jcss.2000.1727. [Cross Ref]

14. Impagliazzo R, Paturi R, Zane F. Which problems have strongly exponential complexity? Journal of Computer and System Sciences. 2001;63(4):512–530. doi: 10.1006/jcss.2001.1774. [Cross Ref]

15. Järvisalo M, Kaski P, Koivisto M, Korhonen JH. Finding efficient circuits for ensemble computation. Proceedings of the 15th International Conference on Theory and Applications of Satisfiability Testing (SAT 2012); Springer; 2012. pp. 369–382. [Cross Ref]

16. Jukna S. Boolean Function Complexity: Advances and Frontiers, volume 27 of Algorithms and Combinatorics. Springer; 2012.

17. Jukna S, Sergeev I. Complexity of linear boolean operators. Foundations and Trends in Theoretical Computer Science. 2013;9(1):1–123. doi: 10.1561/0400000063. [Cross Ref]

18. Knuth DE. The Art of Computer Programming. 3. Vol. 2. Addison–Wesley; 1998.

19. Kollár J, Rónyai L, Szabó T. Norm-graphs and bipartite Turán numbers. Combinatorica. 1996;16(3):399–406. doi: 10.1007/BF01261323. [Cross Ref]

20. Kushilevitz E, Nisan N. Communication Complexity. Cambridge University Press; 1997.

21. Lamagna EA, Savage JE. Computational complexity of some monotone functions. IEEE Conference Record of 15th Annual Symposium on Switching and Automata Theory; 1974. pp. 140–144. [Cross Ref]

22. Lupanov OB. On rectifier and switching-and-rectifier schemes. Doklady Akademii Nauk SSSR. 1956;111:1171–1174. In Russian.

23. Mehlhorn K. Some remarks on Boolean sums. Acta Informatica. 1979;12:371–375. doi: 10.1007/BF00268321. [Cross Ref]

24. Nechiporuk ÉI. On a Boolean matrix. Systems Theory Research. 1971;21:236–239.

25. Pǎtraşcu M, Williams R. On the possibility of faster SAT algorithms. Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2010); SIAM; 2010. pp. 1065–1075.

26. Pippenger N. On another Boolean matrix. Theoretical Computer Science. 1980;11(1):49–56. doi: 10.1016/0304-3975(80)90034-1. [Cross Ref]

27. Pippenger N. On the evaluation of powers and monomials. SIAM Journal on Computing. 1980;9(2):230–250. doi: 10.1137/0209022. [Cross Ref]

28. Williams R. A new algorithm for optimal 2-constraint satisfaction and its implications. Theoretical Computer Science. 2005;348(2–3):357–365. doi: 10.1016/j.tcs.2005. [Cross Ref]

PubMed Central Canada is a service of the Canadian Institutes of Health Research (CIHR) working in partnership with the National Research Council's national science library in cooperation with the National Center for Biotechnology Information at the U.S. National Library of Medicine(NCBI/NLM). It includes content provided to the PubMed Central International archive by participating publishers. |