Złożoność obwodu OR gęstego operatora liniowego

14

Rozważ następujący prosty model obwodu monotonicznego: każda bramka jest tylko binarnym OR. Jaka jest złożoność funkcji f ( x ) = A x,f(x)=Ax gdzie AA jest logiczną macierzą n × nn×n z O ( n )O(n) 0? Czy można to obliczyć za pomocą obwodów OR o rozmiarach liniowych?

Bardziej formalnie, ff jest funkcją od nn do nn bitów. Ii -tym wyjściowy Ff jest n j = 1 ( I Jx j )nj=1(Aijxj) (tj OR podzestawu bitów wejściowych podanych przez ıi -tym rzędzie AA ).

Zauważ, że O ( n )O(n) 0 dzielą rzędy AA na O ( n )O(n) zakresów (podzbiory składające się z kolejnych elementów [ n ][n] ). Umożliwia to stosowanie znanych struktur danych zapytań o zakres. Np. Rzadką strukturę danych tabeli można przekształcić w obwód OR o rozmiarze O ( n log n )O(nlogn) . Algorytm Yao dla zapytań operatorów półgrup grupowych można przekształcić w obwód prawie liniowy (o wielkości O ( α ( n ) n ),O(α(n)n) gdzieα ( n ) jest odwrotnością Ackermanna)α(n)

W szczególności nie wiem nawet, jak zbudować obwód o rozmiarach liniowych dla specjalnego przypadku, w którym każdy wiersz A zawiera dokładnie dwa zera. Chociaż przypadek dokładnie jednego zera w każdym rzędzie jest łatwy. (Każda funkcja wyjściowa może być obliczona na podstawie OR przedrostka [ 1 .. k - 1 ] i sufiksu [ k + 1 .. n ] , które można wstępnie obliczyć za pomocą 2 n bramek OR.)A[1..k1][k+1..n]2n

Alexander S. Kulikov
źródło
3
Znana jest jedna górna granica: jest to co najwyżej rk (A) razy n podzielone przez log n, gdzie rk (A) jest rangą OR macierzy boolowskiej A (= minimalna liczba wszystkich 1 podmacierzy, których OR pokrywa się z A ). Zobacz lemat 2.5 w tej książce . Jak więc (jak najwyżej) ranga boolowska macierzy nxn z zerami O (n) może być?
Stasys,
@Stasys Dziękuję, Stasys! Już w przypadku macierzy o zerowej przekątnej stopień OR jest liniowy, prawda?
Alexander S. Kulikov,
2
Ranga OR macierzy (zero przekątnej i 1s gdzie indziej) wynosi najwyżej 2 \ log n: oznacz wiersze / kolumny binarnymi ciągami długości \ log n i rozważ prostokąty {(r, c): r (i) = a, c (i) = 1-a} dla a = 0,1. Zauważ też, że Lemma 2.5 jest górną granicą. Niższy związany w kategoriach LUB ranga jest podany w THM. 3,20 Ponadto log rang OR jest dokładnie niedeterministyczną złożonością komunikacyjną macierzy.
Stasys
@Stasys och, tak, racja!
Alexander S. Kulikov

Odpowiedzi:

7

Jest to odpowiedź częściowa (twierdząca) w przypadku, gdy mamy górną granicę liczby zer w każdym rzędzie lub w każdej kolumnie.

Prostokąt jest matryca logiczna składa się z wielofunkcyjnego 1 podmatryca i mający zera w innym miejscu. OR rank R K ( ) o wartości logicznej matrycy najmniejszą liczbę R prostokątów, tak że można zapisać jako a (componentwise) lub tych prostokątów. Oznacza to, że każdy 1 wpis A jest 1 wpisem w co najmniej jednym z prostokątów, a każdy 0 wpis A jest 0 wpisem we wszystkich prostokątach. Należy pamiętać, że log r k ( ) jest dokładnie niedeterministyczny złożoność komunikacji macierzy Ark(A)rAAAlogrk(A)A(gdzie Alice dostaje wiersze i kolumny Boba). Jak napisał OP, każda logiczna macierz m × n A = ( a i , j ) definiuje odwzorowanie y = A x , gdzie y i = n j = 1 a i , j x j dla i = 1 , , m . Oznacza to, że bierzemy iloczyn macierzowo-wektorowy nad semestr boolowski. m×nA=(ai,j)y=Axyi=nj=1ai,jxji=1,,m

Następujący lemat jest spowodowany przez Pudláka i Rödla; patrz Propozycja 10.1 w tym artykule lub Lemat 2.5 w tej książce, aby uzyskać bezpośrednią konstrukcję.

Lemat 1: Dla każdej logicznej n x n macierzy A , odwzorowanie Y = x może być obliczany za pomocą nieograniczonej Fanin OR obwodzie głębokości-3 przy użyciu co najwyżej O ( r k ( ) n / log n ) przewodów. n×nAy=AxO(rk(A)n/logn)

Mamy również następującą górną granicę rangi OR gęstych macierzy. Argument ten jest prostą odmianą tego, którego użył Alon w tym artykule .

Lemat 2: Jeśli każda kolumna lub każdy wiersz macierzy boolowskiej A zawiera co najwyżej d zera, to r k ( A ) = O ( d ln | A | ) , gdzie | A | oznacza liczbę 1 sz A . Adrk(A)=O(dln|A|)|A|1A

Dowód: konstruuj losową submatrix R all- 1 , wybierając każdy wiersz niezależnie z tym samym prawdopodobieństwem p = 1 / ( d + 1 ) . Niech będę uzyskanym losowym podzbiorem wierszy. Pozwól R = I × J , gdzie J jest zbiorem wszystkich kolumn A , które nie mają zer w rzędach I . 1Rp=1/(d+1)IR=I×JJAI

A 11-entry (i,j)(i,j) of AA is covered by RR if ii was chosen in II and none of (at most dd) rows with a 00 in the jj-th column was chosen in II. Hence, the entry (i,j)(i,j) is covered with probability at least p(1p)dpepdp2dp/ep(1p)dpepdp2dp/e. If we apply this procedure rr times to get rr rectangles, then the probability that (i,j)(i,j) is covered by none of these rectangles does not exceed (1p/e)rerp/e(1p/e)rerp/e. By the union bound, the probability that some 11-entry of AA remains uncovered is at most |A|erp/e|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 G2 is d. Let A1 and A2 be the complements of the adjacency matrices of G1 and G2. Hence, A=A1A2 is a componentwise AND of these matrices. The maximum number of zeros in every row of A1 and in every column of A2 is at most d. 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.

Stasys
źródło
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.

Alexander S. Kulikov
źródło
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