密集线性算子的或电路复杂度


14

考虑以下简单的单调电路模型:每个门只是一个二进制OR。函数的复杂度是多少,其中是 0的布尔矩阵?可以通过线性或电路计算吗?f x = A x A n × n O n f(x)=AxAn×nO(n)

更正式地,是从到位的函数。第个输出是(即,由第行给出的输入位的子集的或。˚F Ñ Ñ ˚F Ñ Ĵ = 1ĴX Ĵfnnifnj=1(Aijxj)iA

请注意, 0将的行划分为范围(由的连续元素组成的子集)。这使得可以采用已知的范围查询数据结构。例如,稀疏表数据结构可以变成大小为的OR电路。Yao的范围半组算子查询算法可以变成几乎线性的电路(大小为,其中是逆阿克曼倒数)O n A O n [ n ] O n log n O(n)AO(n)[n]O(nlogn)ø α Ñ Ñ α Ñ O(α(n)n)α(n)

特别是,我什至不知道如何为每一行都恰好包含两个零的特殊情况构造一个线性尺寸电路。每行恰好为零的情况很容易。(每个输出函数都可以由前缀和后缀进行“ 或”运算,可以通过或”门进行预计算。)AA[1..k1][1..k1][k+1..n][k+1..n]2n2n


3
一个上限是已知的:它最多是rk(A)乘以n除以log n,其中rk(A)是布尔矩阵A的OR阶(=等于OR的全1个子矩阵的最小数目)。参见本书中的引理2.5 。那么,一个具有O(n)零的nxn矩阵的布尔等级最多(最多)个?
Stasys

@Stasys谢谢您,Stasys!对于对角线为零的矩阵,OR阶是线性的,对吗?
亚历山大·库里科夫

2
矩阵的OR等级(对角线为零,其他位置为1s)最多为2 \ log n:用长度为\ log n的二进制字符串标记行/列,并考虑矩形{(r,c):r(i)= a,c(i)= 1-a}等于a = 0,1。还要注意引理2.5是一个上限。一个较低的结合来讲OR排名中THM给出。3.20。同样,OR等级的对数恰好是矩阵的不确定通信复杂度。
Stasys

@Stasys哦,是的,对!
亚历山大·库里科夫

Answers:


7

当我们在每行或每列中的零个数有一个上限时,这是一个部分(肯定)答案。

矩形是由一个全1子矩阵和其它地方具有零的布尔矩阵。布尔矩阵的OR秩r k A 是矩形的最小数量r,因此A可以写为这些矩形的(按分量)OR。即,A的每个1个条目在至少一个矩形中是1个条目,并且A的每个0个条目在所有矩形中是0个条目。请注意,log r k A 恰好是矩阵A的不确定通信复杂度rk(A)rAAAlogrk(A)A(爱丽丝在其中获取行,鲍勃在其中列)。如OP写道,每布尔× Ñ矩阵= 一个Ĵ定义了映射Ŷ = X,其中 ÿ = Ñ Ĵ = 1一个Ĵ X Ĵ用于= 1 ... 。也就是说,我们在布尔半环上采用矩阵向量乘积。 m×nA=(ai,j)y=Axyi=nj=1ai,jxji=1,,m

以下引理归功于Pudlák和Rödl;见命题10.1 本文 或引理2.5在这本书中的直接施工。

引理1:对于每一个布尔Ñ × Ñ矩阵,映射ÿ = X可以通过深度-3的使用至多一个无限扇入OR电路来计算ø ř ķ ñ /登录Ñ 导线。 n×nAy=AxO(rk(A)n/logn)

在稠密矩阵的OR列上,我们还有以下上限。该论点是Alon在本文中使用的论点的简单变体。

引理2:如果布尔矩阵A的每一列或每一行最多包含d个零,则r k A = O d ln | A |,其中| A | A中1秒数。 Adrk(A)=O(dln|A|)|A|1A

证明: 构造一个随机清一色1子矩阵[R通过以相同的概率独立地采摘的每一行p = 1 /d + 1 。让成为获得的随机行子集。然后让R = I × J,其中JA的所有列的集合,在I的行中没有零。 1Rp=1/(d+1)IR=I×JJAI

1个 -entry Ĵ 由覆盖ř如果被选择在 和无的(至多d)行与0Ĵ被选为在第柱。因此,条目Ĵ 覆盖有概率至少p 1 - p dp ë - p d - p 2 d1(i,j)ARiId0jI(i,j)p / ë。如果我们将这个过程 [R次获得 [R矩形,那么概率Ĵ 是由没有这些矩形不超过所覆盖1 - p / ë [Ré - [R p / ë。受联合约束,最多仍可以发现 A的1个条目的概率 | A | ë - - [R p / ëp(1p)dpepdp2dp/err(i,j)(1p/e)rerp/e1A|A|erp/e, which is smaller than 11 for r=O(dln|A|)r=O(dln|A|).

Corollary: If every column or every row of a boolean matrix AA contains at most dd zeros, then the mapping y=Axy=Ax can be computed by an unbounded fanin OR-circuit of depth-3 using O(dn)O(dn) wires.

I guess that a similar upper bound as in Lemma 2 should also hold when dd is the average number of 11s in a column (or in a row). It would be interesting to show this.


Remark: (added 04.01.2018) An analogue rk(A)=O(d2logn)rk(A)=O(d2logn) of Lemma 2 also holds when dd is the maximum average number of zeros in a submatrix of AA, where the average number of zeros in an r×sr×s matrix is the total number of zeros divided by s+rs+r. This follows from Theorem 2 in N. Eaton and V. Rödl;, Graphs of small dimension, Combinatorica 16(1) (1996) 59-85. A slightly worse upper bound rk(A)=O(d2ln2n)rk(A)=O(d2ln2n) can be derived directly from Lemma 2 as follows.

Lemma 3: Let d1d1. If every spanning subgraph of a bipartite graph GG has average degree dd, then GG can be written as a union G=G1G2G=G1G2, where the maximum left degree of G1G1 and the maximum right degree of G2G2 are dd.

Proof: Induction on the number nn of vertices. The base cases n=1n=1 and n=2n=2 are obvious. For the induction step, we will color the edges in blue and red so that the maximum degree in both blue and red subgraphs are dd. Take a vertex uu of degree dd; such a vertex must exists because also the average degree of the entire graph must be dd. If uu belongs to the left part, then color all edges incident to uu in blue, else color all these edges in red. If we remove the vertex uu then the average degree of the resulting graph GG is also at most dd, and we can color the edges of this graph by the induction hypothesis.

Lemma 4: Let d1d1. If the maximum average number of zeros in a boolean n×nn×n matrix A=(ai,j)A=(ai,j) is at most dd, then rk(A)=O(d2ln2n)rk(A)=O(d2ln2n).

Proof: Consider the bipartite n×nn×n graph GG with (i,j)(i,j) being an edge iff ai,j=0ai,j=0. Then the maximum average degree of GG is at most dd. By Lemma 3, we can write G=G1G2G=G1G2, where the maximum degree of the vertices on the left part of G1G1, and the maximum degree of the vertices on the right part of G2G2 is dd. Let A1A1 and A2A2 be the complements of the adjacency matrices of G1G1 and G2G2. Hence, A=A1A2A=A1A2 is a componentwise AND of these matrices. The maximum number of zeros in every row of A1A1 and in every column of A2A2 is at most dd. Since rk(A)rk(A1)rk(A2), Lemma 2 yields rk(A)=O(d2ln2n).

N.B. The following simple example (pointed by Igor Sergeev) shows that my "guess" at the end of the answer was totally wrong: if we take d=d(A) to be the average number of zeros in the entire matrix A (not the maximum of averages over all submatrices), then Lemma 2 can badly fail. Let m=n, and put an identity m×m matrix in, say left upper corner of A, and fill the remaining entries by ones. Then d(A)m2/2n<1 but rk(A)m, which is exponentially larger than ln|A|. Note, however, that the OR complexity of this matrix is very small, is O(n). So, direct arguments (not via rank) can yield much better upper bounds on the OR complexity of dense matrices.


Thanks a lot, Stasys! This is nice! In the meantime, Ivan Mihajlin came with another proof. I've posted it below.
Alexander S. Kulikov

2

(I tried to post this as a comment to Stasys' answer above, but this text is too long for a comment, so posting it as an answer.) Ivan Mihajlin (@ivmihajlin) came up with the following construction. Similarly to Stasys' proof, it works for the case when the maximum (rather than average) number of 0’s in each row is bounded.

First, consider the case when every row contains exactly two zeros. Consider the following undirected graph: the set of vertices is [n]; two nodes i and j are joined by an edge, if there is a row having zeros in columns i and j. The graph has n edges and hence it contains a cut (L,R) of size at least n/2. This cut splits the columns of the matrix into two parts (L and R). Let now also split the rows into two parts: the top part T contains all columns that have exactly one zero in both L and R; the bottom part B contains all the remaining rows. What is nice about the top part of the matrix (T×(LR)) is that it can be computed by O(n) gates. For the bottom part, let’s cut all-1 columns out of it and make a recursive call. The corresponding recurrence relation is C(n)an+C(n/2) implying C(n)=O(n).

Now, generalize it to the case of at most d zeros in every row. Let Cd(n) be the complexity of an n×(dn) matrix with at most d zeros per row (if there are more than dn columns, then some of them are all-1). Partition the columns into two parts L and R such that at least n(12d) rows (call them T) satisfy the following property: if there are exactly d zeroes in a row, then not all of them belong to the same part (denote the remaining rows by B). Then make three recursive calls: T×L, T×R, and B×(LR). This gives a recurrence relation Cd(n)an+2Cd1(n(12d))+Cd(2dn). This, in turn, implies that Cd(n)f(d)n. The function f(d) is exponential, but still.


A nice argument. But it seems to be tailor made for the case of d=2 zeros per row. What about d>2 zeros?
Stasys

@Stasys, it is doable if I'm not mistaken. I've updated the answer.
Alexander S. Kulikov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.