Сложность OR-схемы плотного линейного оператора


14

Рассмотрим следующую простую модель монотонной схемы: каждый элемент - это просто двоичное ИЛИ. Какова сложность функции где - булева матрица с 0? Может ли он быть рассчитан по линейным размерам OR-цепей?f ( x ) = A x f(x)=AxA An × n n×nO ( n )O(n)

Более формально, является функцией от до n битов. Я -ый выход ф вне \ bigvee_ {j = 1} ^ {N} (A_ {IJ} \ земельного x_j) (то есть, ИЛИ подмножеств входных бит , заданных я -й строкой А ).f fn nn ni if fn j = 1 ( A i jx j ) nj=1(Aijxj)i iAA

Обратите внимание, что 0 разбивает строки на диапазоны (подмножества, состоящие из последовательных элементов ). Это позволяет использовать известные структуры данных запроса диапазона. Например, структура данных разреженной таблицы может быть преобразована в схему OR размера . Алгоритм Яо для запросов операторов полугруппы диапазонов можно превратить в почти линейную схему (размером где - обратный Аккерманн)O ( n ) O(n)A AO ( n ) O(n)[ n ] [n]O ( n log n )O(nlogn)O ( α ( n ) n ) O(α(n)n)α ( n )α(n)

В частности, я даже не знаю, как построить схему линейного размера для особого случая, когда каждая строка содержит ровно два нуля. Хотя в случае ровно одного нуля в каждом ряду все просто. (Каждая функция вывода может быть вычислена с помощью ИЛИ префикса и суффикса , который может быть предварительно вычислен с помощью ИЛИ-вентилей.)A [ 1 .. k - 1 ] [A[1..k1] k + 1 .. n ] 2 n[k+1..n]2n


3
Известна одна верхняя граница: самое большее rk (A) умножить на n, деленное на log n, где rk (A) - это ранг OR булевой матрицы A (= минимальное количество всех подматриц из всех 1, OR которых совпадает с A ). См. Лемму 2.5 в этой книге . Итак, насколько большим (не более) может быть булев ранг матрицы nxn с O (n) нулями?
Стасис

@ Stasys Спасибо, Стасис! Уже для матрицы с нулевой диагональю ранг OR линейный, верно?
Александр Сергеевич Куликов

2
Ранг ИЛИ вашей матрицы (нулевая диагональ и 1 в других местах) не более 2 \ log n: помечать строки / столбцы двоичными строками длины \ log n и учитывать прямоугольники {(r, c): r (i) = a, c (i) = 1-a} для a = 0,1. Отметим также, что лемма 2.5 является верхней оценкой. Нижняя грань в терминах или ранг дается в THM. 3,20. Кроме того, логарифм ранга ИЛИ является в точности недетерминированной коммуникационной сложностью матриц.
Стасис

@ Стасис о, да, верно!
Александр Сергеевич Куликов

Ответы:


7

Это частичный (утвердительный) ответ в случае, когда у нас есть верхняя граница числа нулей в каждой строке или в каждом столбце.

Прямоугольник является булевой матрицей , состоящей из одного все-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 ) dp e - p d - p 2 d1(i,j)ARiId0jI(i,j)п / э . Если мы применяем эту процедуру r раз для получения r прямоугольников, то вероятность того, что ( i , j ) не покрыт ни одним из этих прямоугольников, не превышает ( 1 - p / e ) re - r p / e . В силу границы объединения вероятность того, что некоторый 1- вход A останется непокрытой, не превосходит | A | e - r p / ep(1p)dpepdp2dp/err(i,j)(1p/e)rerp/e1A|A|erp/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 1G 2 , где максимальная левая степень G 1 и максимальная правая степень G 2 составляют d , d1GdGG=G1G2G1G2d

Доказательство: Индукция по числу n вершин. Базовые случаи n = 1 и n = 2 очевидны. Для шага индукции мы закрасим края синим и красным, чтобы максимальный градус как в синем, так и в красном подграфах был d . Возьмем вершину u степени d ; такая вершина должна существовать, потому что средняя степень всего графа должна быть d . Если u принадлежит левой части, то все ребра, наложенные на вас, закрашиваем синим, а все эти ребра - красным. Если мы удалим вершину иnn=1n=2dudduuu 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)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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.