Это частичный (утвердительный) ответ в случае, когда у нас есть верхняя граница числа нулей в каждой строке или в каждом столбце.
Прямоугольник является булевой матрицей , состоящей из одного все-1 подматрицы и имеющие нули в других местах. OR-ранг r k ( A ) булевой матрицы - это наименьшее число r прямоугольников, так что A можно записать как (компонентно) OR этих прямоугольников. Таким образом, каждая 1-запись A является 1-позицией по меньшей мере в одном из прямоугольников, и каждая 0-запись A является 0-позицией во всех прямоугольниках. Обратите внимание, что log r k ( A ) является именно недетерминированной коммуникационной сложностью матрицы Ar k ( A )рAAAжурналr k ( A )A(где Алиса получает строки и столбцы Боба). Как писал OP, каждая булева матрица m × n A = ( a i , j ) определяет отображение y = A x , где y i = ⋁ n j = 1 a i , j x j для i = 1 , … , m . То есть мы берем матрично-векторное произведение над логическим полукольцом.
м × нА = ( ая , дж)Y= A xYя= ⋁Nj=1ai,jxji=1,…,m
Следующая лемма принадлежит Пудлаку и Редлу; см. предложение 10.1 в этой статье
или лемму 2.5 в этой книге для прямого построения.
Лемма 1: Для каждой булевой матрицы A n × n отображение y = A x может быть вычислено неограниченной веерной OR-схемой глубины-3 с использованием не более O ( r k ( A ) ⋅ n / log n ) проводов.
n×nAy=AxO(rk(A)⋅n/logn)
У нас также есть следующая верхняя оценка OR-ранга плотных матриц. Аргумент - это простая вариация того, что использовал Алон в этой статье .
Лемма 2. Если каждый столбец или каждая строка булевой матрицы A содержит не более d нулей, то r k ( A ) = O ( d ln | A | ) , где | A | это число 1 с в A .
Adrk(A)=O(dln|A|)|A|1A
Доказательство:
Постройте случайную все- 1 подматрицу R , выбирая каждую строку независимо с одинаковой вероятностью p = 1 / ( d + 1 ) . Позвольте мне быть полученным случайным подмножеством строк. Тогда пусть R = I × J , где J представляет собой множество всех столбцов A , которые не имеют нулей в строках в I .
1Rp=1/(d+1)IR=I×JJAI
1 -Посещение ( я , J ) из А покрывается R , если я не был выбран в
I , и ни один из (не более г ) строк с 0 в J -й столбец был выбран в I . Следовательно, запись ( i , j ) покрыта с вероятностью не менее p ( 1 - p ) d ≥ p e - p d - p 2 d ≥1(i,j)ARiId0jI(i,j)п / э . Если мы применяем эту процедуру r раз для получения r прямоугольников, то вероятность того, что ( i , j ) не покрыт ни одним из этих прямоугольников, не превышает ( 1 - p / e ) r ≤ e - r p / e . В силу границы объединения вероятность того, что некоторый 1- вход A останется непокрытой, не
превосходит | A | ⋅ e - r p / ep(1−p)d≥pe−pd−p2d≥p/err(i,j)(1−p/e)r≤e−rp/e1A|A|⋅e−rp/e, который меньше 1 при r = O ( d ln | A | ) .
◻1r=O(dln|A|)□
Следствие: если каждый столбец или каждая строка булевой матрицы A содержит не более d нулей, то отображение y = A x может быть вычислено неограниченной веерной OR-схемой глубины-3 с использованием
O ( d n ) проводов.
Ady=AxO(dn)
Я предполагаю, что аналогичная верхняя граница, как в лемме 2, должна также выполняться, когда d является средним числом 1 с в столбце (или в строке). Было бы интересно показать это.d1
Замечание: (добавлено 04.01.2018) Аналог r k ( A ) = O ( d 2 log n ) леммы 2 также имеет место, когда d - максимальное среднее число нулей в подматрице A , где среднее число нулей в давал R × сек матрицей является общим числом нулей , разделенных на s + г . Это следует из теоремы 2 Н. Итона и В. Рёдля; «Графики малой размерности», Combinatorica 16 (1) (1996) 59-85 . Немного хуже верхняя границаrk(A)=O(d2logn)dAr×ss+rr k ( A ) = O ( d 2 ln 2 n ) можно вывести непосредственно из леммы 2 следующим образом.rk(A)=O(d2ln2n)
Лемма 3: Пусть d ≥ 1 . Если каждый охватывающий подграф двудольного графа G имеет среднюю степень ≤ d , то G можно записать в виде объединения G = G 1 ∪ G 2 , где максимальная левая степень G 1 и максимальная правая степень G 2 составляют ≤ d ,
d≥1G≤dGG=G1∪G2G1G2≤d
Доказательство: Индукция по числу n вершин. Базовые случаи n = 1 и n = 2 очевидны. Для шага индукции мы закрасим края синим и красным, чтобы максимальный градус как в синем, так и в красном подграфах был ≤ d . Возьмем вершину u степени ≤ d ; такая вершина должна существовать, потому что средняя степень всего графа должна быть ≤ d . Если u принадлежит левой части, то все ребра, наложенные на вас, закрашиваем синим, а все эти ребра - красным. Если мы удалим вершину иnn=1n=2≤du≤d≤duuu 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 d≥1d≥1. 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=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.