Kompleksitas OR-circuit dari operator linear yang padat


14

Pertimbangkan model rangkaian monoton sederhana berikut: setiap gerbang hanyalah sebuah biner ATAU. Apa kompleksitas dari fungsi mana adalah Boolean matriks dengan 0's? Bisakah itu dihitung dengan ukuran linier OR-sirkuit?f(x)=Axf(x)=AxAAn×nn×nO(n)O(n)

Lebih formal, adalah fungsi dari ke bit. The th output yaitu (yaitu, OR dari subset input bit yang diberikan oleh th deretan ).ffnnnniiffnj=1(Aijxj)nj=1(Aijxj)iiAA

Perhatikan bahwa 0 membagi baris menjadi rentang (himpunan bagian yang terdiri dari elemen berurutan ). Ini memungkinkan untuk menggunakan struktur data kueri rentang yang dikenal. Misalnya, struktur data tabel jarang dapat diubah menjadi sirkuit OR ukuran . Algoritma Yao untuk kueri operator semigroup jangkauan dapat diubah menjadi sirkuit yang hampir linier (ukuran mana adalah Ackermann terbalik)O(n)O(n)AAO(n)O(n)[n][n]O(nlogn)O(nlogn)O(α(n)n)O(α(n)n)α(n)α(n)

Secara khusus, saya bahkan tidak tahu bagaimana membangun sirkuit ukuran linier untuk kasus khusus di mana setiap baris mengandung tepat dua nol. Sementara kasus persis satu nol di setiap baris mudah. (Setiap fungsi output dapat dihitung dengan OR dari awalan dan akhiran , yang dapat dikomputasi dengan gerbang OR.)AA[1..k1][1..k1][k+1..n][k+1..n]2n2n


3
Satu batas atas diketahui: paling banyak rk (A) kali n dibagi dengan log n, di mana rk (A) adalah OR-rank dari matriks boolean A (= jumlah minimum dari semua submatrices-1 yang OR-nya bertepatan dengan A ). Lihat Lemma 2.5 dalam buku ini . Jadi, seberapa besar (paling banyak) peringkat boolean dari matriks nxn dengan O (n) nol bisa?
Stasys

@Stasys Terima kasih, Stasys! Sudah untuk matriks dengan nol diagonal OR-rank linear, kan?
Alexander S. Kulikov

2
Peringkat ATAU dari matriks Anda (nol diagonal, dan 1s di tempat lain) adalah paling banyak 2 \ log n: label baris / kolom dengan string biner panjang \ log n, dan pertimbangkan segiempat {(r, c): r (i) = a, c (i) = 1-a} untuk a = 0,1. Perhatikan juga bahwa Lemma 2.5 adalah batas atas . Sebuah lebih rendah terikat dalam hal OR peringkat diberikan dalam THM. 3.20. Juga, log dari peringkat OR persis kompleksitas komunikasi nondeterministic dari matriks.
Stasys

@Stasys oh, ya, benar!
Alexander S. Kulikov

Jawaban:


7

Ini adalah jawaban parsial (afirmatif) dalam kasus ketika kita memiliki batas atas pada jumlah nol di setiap baris atau di setiap kolom.

Sebuah persegi panjang adalah matriks boolean yang terdiri dari satu semua-1 submatrix dan memiliki nol di tempat lain. OR-rank r k ( A ) dari matriks boolean adalah jumlah terkecil r persegi panjang sehingga A dapat ditulis sebagai (componentwise) OR persegi panjang ini. Yaitu, setiap 1 entri dari A adalah entri 1 di setidaknya satu dari persegi panjang, dan setiap 0 entri dari A adalah entri 0 di semua persegi panjang. Perhatikan bahwa log r k ( A ) adalah persis kompleksitas komunikasi nondeterministic dari matriks Ark(A)rAAAlogrk(A)A(Di mana Alice mendapat baris, dan kolom Bob). Seperti yang ditulis OP, setiap boolean m × n matriks A = ( a i , j ) mendefinisikan pemetaan y = A x , di mana y i = n j = 1 a i , j x j untuk i = 1 , , m . Yaitu, kami mengambil produk matriks-vektor di atas semiring boolean. m×nA=(ai,j)y=Axyi=nj=1ai,jxji=1,,m

Lemma berikut adalah karena Pudlák dan Rödl; lihat Proposisi 10.1 dalam makalah ini atau Lemma 2.5 dalam buku ini untuk konstruksi langsung.

Lemma 1: Untuk setiap boolean n × n matriks A , pemetaan y = A x dapat dihitung oleh terbatas fanin OR-sirkuit kedalaman-3 menggunakan paling O ( r k ( A ) n / log n ) kabel. n×nAy=AxO(rk(A)n/logn)

Kami juga memiliki batas atas berikut pada OR-rank dari matriks padat. Argumen ini adalah variasi sederhana dari yang digunakan oleh Alon dalam tulisan ini .

Lemma 2: Jika setiap kolom atau setiap baris dari matriks boolean A berisi paling banyak d nol, maka r k ( A ) = O ( d ln | A | ) , di mana | A | adalah jumlah 1 s di A . Adrk(A)=O(dln|A|)|A|1A

Bukti: Membangun acak semua- 1 submatrix R dengan memilih setiap baris secara independen dengan probabilitas yang sama p = 1 / ( d + 1 ) . Biarkan saya menjadi subset acak yang diperoleh. Lalu biarkan R = I × J , di mana J adalah himpunan semua kolom dari A yang tidak memiliki angka nol dalam baris dalam saya . 1Rp=1/(d+1)IR=I×JJAI

A 1 -entry ( i , j ) dari A ditutupi oleh R jika saya terpilih dalam I dan tidak ada (paling d ) baris dengan 0 di j kolom -th dipilih di saya . Karenanya, entri ( i , j ) ditutupi dengan probabilitas setidaknya p ( 1 - p ) dp e - p d - p 2 d1(i,j)ARiId0jI(i,j)p / e . Jika kita menerapkan prosedur ini r kali untuk mendapatkan r persegi panjang, maka probabilitas bahwa ( i , j ) tidak tercakup oleh persegi panjang ini tidak melebihi ( 1 - p / e ) re - r p / e . Dengan ikatan serikat, probabilitas bahwa beberapaentri- 1 dari A tetap terbuka paling banyak | A | e - r p / ep(1p)dpepdp2dp/err(i,j)(1p/e)rerp/e1A|A|erp/e, yang lebih kecil dari 1 untuk r = O ( d ln | A | ) . 1r=O(dln|A|)

Akibat wajar: Jika setiap kolom atau setiap baris dari matriks boolean A mengandung paling d nol, maka pemetaan y = A x dapat dihitung oleh fanin tak terbatas OR-sirkuit kedalaman-3 menggunakan O ( d n ) kabel. Ady=AxO(dn)

Saya kira batas atas yang sama seperti pada Lemma 2 juga harus berlaku ketika d adalah angka rata-rata 1 dalam kolom (atau berturut-turut). Akan menarik untuk menunjukkan ini.d1


Keterangan: (ditambahkan 04.01.2018) Sebuah analog r k ( A ) = O ( d 2 log n ) dari Lemma 2 juga berlaku ketika d adalah jumlah rata-rata maksimum nol dalam submatrix A , di mana jumlah rata - rata nol dalam sebuah r × s matriks adalah jumlah total angka nol dibagi dengan s + r . Ini mengikuti dari Teorema 2 dalam N. Eaton dan V. Rödl ;, Grafik dimensi kecil, Combinatorica 16 (1) (1996) 59-85 . Batas atas yang sedikit lebih burukrk(A)=O(d2logn)dAr×ss+rr k ( A ) = O ( d 2 ln 2 n ) dapat diturunkan langsung dari Lemma 2 sebagai berikut.rk(A)=O(d2ln2n)

Lemma 3: Biarkan d 1 . Jika setiap subgraf spanning dari grafik bipartit G memiliki derajat rata-rata d , maka G dapat ditulis sebagai gabungan G = G 1G 2 , di mana derajat kiri maksimum G 1 dan derajat kanan maksimum G 2 adalah d . d1GdGG=G1G2G1G2d

Bukti: Induksi pada jumlah n simpul. Kasus dasar n = 1 dan n = 2 jelas. Untuk langkah induksi, kita akan mewarnai tepian dengan warna biru dan merah sehingga derajat maksimum dalam subgraf biru dan merah adalah d . Ambil sudut u derajat d ; simpul semacam itu harus ada karena juga derajat rata-rata seluruh grafik harus d . Jika Anda milik bagian kiri, maka warnai semua tepi dengan u dengan warna biru, jika tidak, warnai semua tepi ini dengan warna merah. Jika kita menghapus simpul unn=1n=2dudduuumaka derajat rata-rata dari grafik G yang dihasilkan juga paling banyak d , dan kita dapat mewarnai tepi grafik ini dengan hipotesis induksi. Gd

Lemma 4: Biarkan d 1 . Jika jumlah rata-rata maksimum nol dalam boolean n × n matriks A = ( a i , j ) adalah paling d , maka r k ( A ) = O ( d 2 ln 2 n ) . d1n×nA=(ai,j)drk(A)=O(d2ln2n)

Bukti: Perhatikan bipartit n × n graph G dengan ( i , j ) menjadi keunggulan IFF sebuah i , j = 0 . Maka tingkat rata-rata maksimum G paling banyak adalah d . Dengan Lemma 3, kita dapat menulis G = G 1G 2 , di mana derajat maksimum simpul di bagian kiri G 1 , dan derajat maksimum simpul di bagian kanan G 2 adalah d . Membiarkann×nG(i,j)ai,j=0GdG=G1G2G1G2dA 1 dan A 2 menjadi pelengkap dari matriks kedekatan G 1 dan G 2 . Karenanya, A = A 1A 2 adalah komponen DAN dari matriks-matriks ini. Jumlah maksimum nol di setiap baris A 1 dan di setiap kolom A 2 paling banyak d . Sejak r k ( A ) r k ( A 1 ) r k ( A 2 )A1A2G1G2A=A1A2A1A2drk(A)rk(A1)rk(A2), Lemma 2 hasil r k ( A ) = O ( d 2 ln 2 n ) . rk(A)=O(d2ln2n)

NB Contoh sederhana berikut (ditunjukkan oleh Igor Sergeev) menunjukkan bahwa "tebakan" saya di akhir jawaban benar-benar salah: jika kita menganggap d = d ( A ) menjadi jumlah rata-rata nol di seluruh matriks A (tidak maksimum rata-rata di atas semua pendaftar), maka Lemma 2 bisa gagal total. Biarkan m = d=d(A)An , dan menempatkan identitasm×mmatriks di, mengatakan sudut kiri atasA, dan mengisi entri yang tersisa oleh orang-orang. Kemudiand(A)m2/2n<1tapirk(A)m, yangsecara eksponensiallebih besar dariln| A| . Perhatikan, bagaimanapun, bahwa kompleksitas OR dari matriks ini sangat kecil, adalahO(n). Jadi,argumenlangsung(bukan via peringkat)m=nm×mAd(A)m2/2n<1rk(A)mln|A|O(n)dapat menghasilkan batas atas yang lebih baik pada ATAU kompleksitas matriks padat.


Terima kasih banyak, Stasys! Ini bagus! Sementara itu, Ivan Mihajlin datang dengan bukti lain. Saya sudah mempostingnya di bawah ini.
Alexander S. Kulikov

2

(Saya mencoba memposting ini sebagai komentar untuk jawaban Stasys di atas, tetapi teks ini terlalu panjang untuk dikomentari, jadi postinglah itu sebagai jawaban.) Ivan Mihajlin (@ivmihajlin) muncul dengan konstruksi berikut. Demikian pula dengan bukti Stasys, itu berfungsi untuk kasus ketika jumlah maksimum (bukan rata-rata) 0 di setiap baris dibatasi.

Pertama, perhatikan kasus ketika setiap baris mengandung tepat dua nol. Pertimbangkan grafik tak berarah berikut: set simpul adalah [ n ] ; dua node i dan j digabungkan oleh edge, jika ada baris yang memiliki nol di kolom i dan j . Grafik memiliki n tepi dan karenanya berisi potongan ( L , R ) dengan ukuran setidaknya n / 2 . Pemotongan ini membagi kolom matriks menjadi dua bagian ( L dan R ). Biarkan sekarang juga membagi baris menjadi dua bagian: bagian atas 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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.