Betrachten Sie das folgende einfache monotone Schaltungsmodell: Jedes Gatter ist nur ein binäres ODER. Was ist die Komplexität einer Funktion wobei eine boolesche Matrix mit 0 ist? Kann es mit ODER-Schaltungen linearer Größe berechnet werden?f ( x ) = A x
Genauer gesagt ist f
Beachten Sie, dass 0 die Zeilen von in Bereiche aufteilt (Teilmengen, die aus aufeinanderfolgenden Elementen von ). Dies ermöglicht es, bekannte Bereichsabfragedatenstrukturen zu verwenden. Beispielsweise kann eine Datenstruktur mit geringer Dichte in eine ODER-Schaltung der Größe . Yaos Algorithmus für Bereichs-Semigruppenoperator-Abfragen kann in eine nahezu lineare Schaltung (mit der Größe wobei invers ist, umgewandelt werden. Ackermann)O ( n )
Insbesondere weiß ich nicht einmal, wie man eine Schaltung mit linearer Größe für einen speziellen Fall konstruiert, bei dem jede Zeile von A
quelle
Antworten:
Dies ist eine teilweise (bejahende) Antwort in dem Fall, dass wir in jeder Zeile oder in jeder Spalte eine Obergrenze für die Anzahl der Nullen haben.
Ein Rechteck ist eine boolesche Matrix, die aus einer all-1-Submatrix besteht und an anderer Stelle Nullen aufweist. Ein OR-Rang r k ( A ) einer Booleschen Matrix ist die kleinste Anzahl r von Rechtecken, so dass A als (komponentenweises) OR dieser Rechtecke geschrieben werden kann. Das heißt, jeder 1-Eintrag von A ist ein 1-Eintrag in mindestens einem der Rechtecke, und jeder 0-Eintrag von A ist ein 0-Eintrag in allen Rechtecken. Beachten Sie, dass log r k ( A ) genau die nicht deterministische Kommunikationskomplexität der Matrix A istrk(A) r A A A logrk(A) A (wo Alice Zeilen und Bob Spalten bekommt). Als OP geschrieben, jede Boolesche m × n Matrix A = ( a i , j ) definiert eine Abbildung Y = A x , wobei y i = ⋁ n j = 1 a i , j x j für i = 1 , ... , m . Das heißt, wir nehmen ein Matrix-Vektor-Produkt über das Boolesche Semiren.
m×n A=(ai,j) y=Ax yi=⋁nj=1ai,jxj i=1,…,m
Das folgende Lemma stammt von Pudlák und Rödl; Siehe Proposition 10.1 in diesem Artikel oder Lemma 2.5 in diesem Buch für eine direkte Konstruktion.
Wir haben auch die folgende Obergrenze für den OR-Rang von dichten Matrizen. Das Argument ist eine einfache Variation des von Alon in diesem Artikel verwendeten .
Beweis: Konstruieren Sie eine zufällige all- 1- Submatrix R, indem Sie jede Zeile einzeln mit der gleichen Wahrscheinlichkeit p = 1 / ( d + 1 ) auswählen . Sei ich die erhaltene zufällige Teilmenge von Zeilen. Dann sei R = I × J , wobei J die Menge aller Spalten von A ist , die keine Nullen in den Zeilen in I haben .1 R p=1/(d+1) I R=I×J J A I
Ein 1- Eintrag ( i , j ) von A wird von R abgedeckt, wenn i in I gewählt wurde und keine der (höchstens d ) Zeilen mit einer 0 in der j- ten Spalte in I gewählt wurde . Daher wird der Eintrag ( i , j ) wird mit einer Wahrscheinlichkeit von mindestens abgedeckt p ( 1 - p ) d ≥ p e - p d - p 2 d ≥1 (i,j) A R i I d 0 j I (i,j) p / e . Wenn wir diese Prozedur r- malanwenden, um r Rechtecke zu erhalten,überschreitetdie Wahrscheinlichkeit, dass ( i , j ) von keinem dieser Rechtecke abgedeckt wird, nicht ( 1 - p / e ) r ≤ e - r p / e . Nach der Vereinigungsgrenzebeträgtdie Wahrscheinlichkeit, dass ein 1 -Eintrag von A aufgedeckt bleibt, höchstens
| A | ⋅ e - r p / ep(1−p)d≥pe−pd−p2d≥p/e r r (i,j) (1−p/e)r≤e−rp/e 1 A |A|⋅e−rp/e , der für r = O kleiner als 1 ist ( d ln | A | ) .
◻1 r=O(dln|A|) □
Ich vermute, dass eine ähnliche obere Schranke wie in Lemma 2 auch gelten sollte, wenn d die durchschnittliche Anzahl von 1 s in einer Spalte (oder in einer Reihe) ist. Es wäre interessant, dies zu zeigen.d 1
Bemerkung: (hinzugefügt am 04.01.2018) Ein Analogon r k ( A ) = O ( d 2 log n ) von Lemma 2 gilt auch, wenn d die maximale durchschnittliche Anzahl von Nullen in einer Untermatrix von A ist , wobei die durchschnittliche Anzahl von Nullen in Eine r × s- Matrix ist die Gesamtzahl der Nullen geteilt durch s + r . Dies folgt aus Satz 2 in N. Eaton und V. Rödl ;, Graphs of small dimension, Combinatorica 16 (1) (1996) 59-85 . Eine etwas schlechtere Obergrenzerk(A)=O(d2logn) d A r×s s+r rk(A)=O(d2ln2n)rk(A)=O(d2ln2n) can be derived directly from Lemma 2 as follows.
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 ≤d≤d . Take a vertex uu of degree ≤d≤d ; such a vertex must exists because also the average degree of the entire graph must be ≤d≤d . 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. ◻□
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=G1∪G2G=G1∪G2 , 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 ≤d≤d .
Let A1A1 and A2A2 be the complements of the adjacency matrices of G1G1 and G2G2 .
Hence, A=A1∧A2A=A1∧A2 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)O(n) . So, direct arguments (not via rank) can yield much better upper bounds on the OR complexity of dense matrices.
quelle
(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][n] ; two nodes ii and jj are joined by an edge, if there is a row having zeros in columns ii and jj . The graph has nn edges and hence it contains a cut (L,R)(L,R) of size at least n/2n/2 . This cut splits the columns of the matrix into two parts (LL and RR ). Let now also split the rows into two parts: the top part TT contains all columns that have exactly one zero in both LL and RR ; the bottom part BB contains all the remaining rows. What is nice about the top part of the matrix (T×(L∪R)T×(L∪R) ) is that it can be computed by O(n)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)C(n)≤an+C(n/2) implying C(n)=O(n)C(n)=O(n) .
Now, generalize it to the case of at most dd zeros in every row. Let Cd(n)Cd(n) be the complexity of an n×(≤dn)n×(≤dn) matrix with at most dd zeros per row (if there are more than dndn columns, then some of them are all-1). Partition the columns into two parts LL and RR such that at least n(1−2−d)n(1−2−d) rows (call them TT ) satisfy the following property: if there are exactly dd zeroes in a row, then not all of them belong to the same part (denote the remaining rows by BB ). Then make three recursive calls: T×LT×L , T×RT×R , and B×(L∪R)B×(L∪R) . This gives a recurrence relation Cd(n)≤an+2⋅Cd−1(n(1−2−d))+Cd(2−dn). This, in turn, implies that Cd(n)≤f(d)⋅n. The function f(d) is exponential, but still.
quelle