조밀 한 선형 연산자의 OR 회로 복잡성


14

다음과 같은 간단한 모노톤 회로 모델을 고려하십시오. 각 게이트는 이진 OR입니다. 기능의 복잡도 란 F ( X ) =가 Xf(x)=Ax 여기서 부울 인 N × N 을 가진 행렬 O ( N ) '0'? 선형 크기 OR 회로로 계산할 수 있습니까?An×nO(n)

보다 공식적으로, ffnn 에서 nn 비트 의 함수입니다 . fii 번째 출력 은 n j = 1 ( A i jx j )입니다 (즉, Ai 번째 행에 의해 주어진 입력 비트의 하위 집합의 OR ).fnj=1(Aijxj)iA

참고 O ( N )O(n) '0'이 행의 분할 AO ( N )O(n) 의 범위 (연속 원소로 이루어진 집합 [ N ][n] ). 이를 통해 알려진 범위 쿼리 데이터 구조를 사용할 수 있습니다. 예를 들어, 희소 테이블 데이터 구조는 크기 O ( n log n ) 의 OR 회로로 전환 될 수 있습니다 O(nlogn). 범위 반 그룹 연산자 쿼리에 대한 Yao의 알고리즘 은 거의 선형 회로 (크기 O ( α ( n ) n ) 로 변환 할 수 있습니다 O(α(n)n). α( n )α(n) 은 역 아크 커 만)

특히, 나는 A의 각 행에 정확히 두 개의 0이 포함 된 특별한 경우에 선형 크기 회로를 구성하는 방법조차 모릅니다 . 각 행에서 정확히 하나의 0의 경우는 쉽지만. (각 출력 함수는 접두사 [ 1 .. k - 1 ] 및 접미사 [ k + 1 .. n ]의 OR로 계산할 수 있으며, 2 n OR- 게이트 로 사전 계산할 수 있습니다 .)A[1..k1][k+1..n]2n


3
하나의 상한이 알려져있다 : 그것은 최대 rk (A) 곱하기 n을 log n으로 나눈 값이며, 여기서 rk (A)는 부울 행렬 A의 OR- 랭크이다 (= OR이 A와 일치하는 모든 1 개의 서브 매트릭스의 최소 수임) ). 이 책의 Lemma 2.5를 참조하십시오 . 그렇다면 O (n)이 0 인 nxn 행렬의 부울 순위는 얼마나 클 수 있습니까?
Stasys

@Stasys 감사합니다, Stasys! 대각선이 0 인 행렬의 경우 이미 OR 순위가 선형입니까?
Alexander S. Kulikov

2
행렬의 OR 순위 (대각선이 0이고 다른 곳은 1)는 최대 2 \ log n입니다. 길이 \ log n의 이진 문자열로 행 / 열에 레이블을 지정하고 사각형 {(r, c) : r (i) = a = 0,1에 대해 a, c (i) = 1-a}. 또한 Lemma 2.5는 상한 입니다. OR 순위 의 하한 은 Thm으로 표시됩니다. 3.20. 또한 OR 순위 로그는 행렬의 비 결정적 통신 복잡성입니다.
Stasys

@Stasys 아, 맞아!
Alexander S. Kulikov

답변:


7

이것은 모든 행 또는 모든 열에서 0의 수에 대한 상한이있는 경우 부분적 (긍정적) 대답입니다.

사각형 올인원 1 행렬로 구성된 다른 제로를 갖는 부울 행렬이다. 부울 행렬 의 OR 순위 r k ( A ) 는 가장 작은 수 r입니다 옵니다rk(A)r A 가이 사각형의 (구성 요소 별) OR로 쓰여질 수있는 의 사각형 입니다 . 즉, A의 모든 1 엔트리는 적어도 하나의 직사각형에서 1 엔트리이고, A의 모든 0 엔트리는 모든 사각형에서 0 엔트리이다. 참고 로그 (R)의 K ( A는 ) 완전히 매트릭스의 결정적 통신 복잡성AAAlogrk(A)A(Alice는 행과 Bob 열을 가져옵니다). OP가 썼 듯이 모든 부울 m x n 행렬 A = ( a i , j ) 는 매핑 y = A x를 정의합니다. 여기서 y i = n j = 1 a i , j x ji = 1 , , m 입니다. 즉, 부울 세미 링보다 행렬-벡터 곱을 취합니다. m×nA=(ai,j)y=Axyi=nj=1ai,jxji=1,,m

다음의 정리는 Pudlák과 Rödl 때문입니다. 직접 구성에 대해서는 본 백서의 발의안 10.1 또는 이 책의 Lemma 2.5를 참조하십시오 .

렘마 1 : 모든 부울 n × n 행렬 A 에 대해 매핑 y = A xn×nAy=Ax 기껏 사용 깊이 (3)의 바운드 FANIN OR 회로에 의해 계산 될 수 O ( R의 K ( ) N / 로그 N ) 와이어. O(rk(A)n/logn)

우리는 또한 밀도가 높은 행렬의 OR 순위에 다음과 같은 상한이 있습니다. 논증은 이 논문 에서 Alon 사용한 것의 간단한 변형이다 .

렘마 2 : 부울 행렬 A 의 모든 열 또는 모든 행 에 최대 d 개의 0이 들어 있으면 r k ( A ) = O ( d ln |Ad | ) 여기서 | A | A 1 초입니다. rk(A)=O(dln|A|)|A|1A

증명 : 동일한 확률 p = 1 / ( d + 1 )로 각 행을 독립적으로 선택 하여 임의의 모든 1 하위 행렬 R 을 구성 합니다. 내가 얻은 임의의 행 하위 집합을 보자 . 그런 다음 R = I × J로 하자. 여기서 JI 의 행에 0이없는 A 의 모든 열 집합입니다 . 1Rp=1/(d+1)IR=I×JJAI

1 -entry ( I , J )(A)는 적용되는 R 경우 에서 선택되지 않은 I 및 (최대 것도 D A의) 행 0J 번째 컬럼에 선택되었다 I . 따라서 항목 ( i , j ) 는 적어도 p ( 1 - p ) dp e - p d - p 2 d 확률로 커버됩니다.1(i,j)ARiId0jI(i,j)p / e . r 직사각형을 얻기위해이 절차를 r 번적용하면, ( i , j ) 가이 직사각형 중 어느 것도 포함하지 않을확률은 ( 1 - p / e ) re - r p / e를 초과하지 않습니다. 노조에 의해 A의 1 개 항목이 발견되지 않은확률은 최대 | A | e r p / ep(1p)dpepdp2dp/err(i,j)(1p/e)rerp/e1A|A|erp/e보다 작은 어느 하나 에 대한 (R) = O ( D LN | | ) . 1r=O(dln|A|)

Corollary : 부울 행렬 A 의 모든 열 또는 모든 행 에 최대 d 0이 포함 된 경우 O ( d n ) 와이어를 사용하여 깊이 3의 무한 팬인 OR 회로에 의해 매핑 y = A x 가 계산 될 수 있습니다 . Ady=AxO(dn)

d 이 열 (또는 행) 의 평균 1 때 Lemma 2와 비슷한 상한값도 유지해야한다고 생각합니다 . 이것을 보여주는 것이 흥미로울 것입니다.d1


비고 : (2018년 1월 4일 첨가)는 아날로그 R의 K ( ) = O ( D 2 로그 N ) 때 보조 정리 2의도 보유 D는 은 IS 최대 평균 개수 의 서브 매트릭스에 제로의 A는 , 여기서 평균 제로의에 R × S 행렬로 나눈 값 0의 총 개수 (S) + R . 이것은 N. Eaton and V. Rödl의 정리 2 , 작은 차원의 그래프, Combinatorica 16 (1) (1996) 59-85에서 발췌 한 것이다. 약간 더 나쁜 상한rk(A)=O(d2logn)dAr×ss+rr k ( A ) = O ( d 2 ln 2 n ) 는 다음과 같이 Lemma 2에서 직접 파생 될 수 있습니다.rk(A)=O(d2ln2n)

보조 정리 3 : 하자 D 1 . 된 그래프의 모든 걸친 서브 그래프 경우 G는 평균 중합도 갖는다 D를 다음 G는 조합으로 작성 가능 G = G 1G 2 최대 값의 정도 왼쪽 G 1 과 최대 오른쪽도 G 2 이다 D . d1GdGG=G1G2G1G2d

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)rk(A)rk(A1)rk(A2), Lemma 2 yields rk(A)=O(d2ln2n)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)d=d(A) to be the average number of zeros in the entire matrix AA (not the maximum of averages over all submatrices), then Lemma 2 can badly fail. Let m=nm=n, and put an identity m×mm×m matrix in, say left upper corner of AA, and fill the remaining entries by ones. Then d(A)m2/2n<1d(A)m2/2n<1 but rk(A)mrk(A)m, which is exponentially larger than ln|A|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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.