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)=Ax
Lebih formal, adalah fungsi dari ke bit. The th output yaitu (yaitu, OR dari subset input bit yang diberikan oleh th deretan ).f
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)
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.)A
sumber
Jawaban:
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) r A A A logrk(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×n A=(ai,j) y=Ax yi=⋁nj=1ai,jxj i=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.
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 .
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 .1 R p=1/(d+1) I R=I×J J A I
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 ) d ≥ p e - p d - p 2 d ≥1 (i,j) A R i I d 0 j I (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 ) r ≤ e - r p / e . Dengan ikatan serikat, probabilitas bahwa beberapaentri- 1 dari A tetap terbuka paling banyak
| 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 , yang lebih kecil dari 1 untuk r = O ( d ln | A | ) .
◻1 r=O(dln|A|) □
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.d 1
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) d A r×s s+r r k ( A ) = O ( d 2 ln 2 n ) dapat diturunkan langsung dari Lemma 2 sebagai berikut.rk(A)=O(d2ln2n)
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 un n=1 n=2 ≤d u ≤d ≤d u u u maka derajat rata-rata dari grafik G yang dihasilkan juga paling banyak d , dan kita dapat mewarnai tepi grafik ini dengan hipotesis induksi. ◻G d □
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 1 ∪ G 2 , di mana derajat maksimum simpul di bagian kiri G 1 , dan derajat maksimum simpul di bagian kanan G 2 adalah ≤ d . Membiarkann×n G (i,j) ai,j=0 G d G=G1∪G2 G1 G2 ≤d A 1 dan A 2 menjadi pelengkap dari matriks kedekatan G 1 dan G 2 . Karenanya, A = A 1 ∧ A 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 )A1 A2 G1 G2 A=A1∧A2 A1 A2 d rk(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) A n , 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=n−−√ m×m A d(A)≤m2/2n<1 rk(A)≥m ln|A| O(n) dapat menghasilkan batas atas yang lebih baik pada ATAU kompleksitas matriks padat.
sumber
(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×(L∪R)) 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(1−2−d) 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×(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.
sumber