Bagaimana kecil dapat menjadi sirkuit boolean berlapis untuk fungsi dengan kompleksitas sirkuit

12

Pertimbangkan fungsi dihitung oleh sirkuit boolean C dengan n input ukuran s ( n ) = p o l y ( n ) atas dasar { X O R , A N D , N O T } (dengan indegree 2 untuk X O R , A N D gates).fCns(n)=poly(n){XOR,AND,NOT}XOR,AND

Sirkuit boolean berlapis jika dapat disusun menjadi lapisan ( d menjadi kedalaman rangkaian) gerbang sedemikian rupa sehingga setiap tepi antara dua gerbang menghubungkan lapisan yang berdekatan.dd

Mengingat bahwa memiliki sirkuit boolean dengan ukuran s , apa yang dapat kita katakan tentang ukuran komputasi sirkuit berlapis f ? Ada batas atas sepele: dengan menambahkan node dummy ke C pada setiap layer yang dilintasi oleh tepi, kita mendapatkan sirkuit ukuran layered paling banyak O ( s 2 ) . Tapi kita bisa mendapatkan yang lebih baik secara umum (misalnya O ( s log s ) , atau O ( s ) ), atau untuk kelas yang menarik dari sirkuit?fsfCO(s2)O(slogs)O(s)

Latar Belakang. Pertanyaan ini berasal dari hasil terbaru dalam kriptografi yang menunjukkan bagaimana cara menghitung sirkuit boolean dengan ukuran dengan komunikasi o ( s ) (misalnya s / log s atau s / log log s ) ; Saya mencoba memahami bagaimana membatasi pembatasan ini untuk sirkuit boolean berlapis dalam praktiknya, baik untuk sirkuit umum atau untuk sirkuit "alami". Namun, saya belum menemukan banyak tentang sirkuit berlapis dalam literatur; petunjuk yang sesuai juga akan disambut.so(s)s/logss/loglogs)

Geoffroy Couteau
sumber
4
Berikut adalah contoh sirkuit yang tampaknya sulit dikonversi ke sirkuit berlapis tanpa ukuran yang signifikan. Tentukan menjadi beberapa fungsi yang dapat dihitung dalam ukuran u . Tentukan g ( x 1 , ... , x n ) = ( x 2 , ... , x n , x 1f ( x 2 ,f:{0,1}n1{0,1}u , dan membiarkan C menjadi t iterasi dari g . Kemudian C memiliki ukuran O ( t u ) . Tampaknya sulit untuk membangun sebuah sirkuit berlapis dengan ukuran kurang dari Θ ( n t ) . Jadi, jika u = o ( n ) , mungkin kita harus mengharapkan celah antara ukuran sirkuit vs ukuran sirkuit berlapis. Bukan bukti, hanya contoh sugestif untuk mungkin mendorong intuisi. g(x1,,xn)=(x2,,xn,x1f(x2,,xn))CtgCO(tu)Θ(nt)u=o(n)
DW
2
Sejauh yang saya ingat, untuk sirkuit berlapis batas bawah paling dikenal adalah dari bentuk . Hal ini sangat mudah untuk membuktikan untuk n -to- n fungsi. Ambil, misalnya, peta linier A x di mana A { 0 , 1 } n × n memiliki nol pada diagonal utama saja. Maka itu harus memiliki setidaknya n gerbang di setiap lapisan dan jumlah lapisan setidaknya log 2 n . Perhatikan bahwa fungsi ini dapat dengan mudah dihitung oleh sirkuit reguler ukuran O (Ω(nlogn)nnAxA{0,1}n×nnlog2n . Untuk fungsi single-output, juga dimungkinkan untuk membuktikan batas bawah yang sama, tapi saya tidak ingat argumennya. O(n)
Alexander S. Kulikov
1
Terima kasih banyak atas komentarnya. @ AlexanderS.Kulikov, apakah cerita rakyat argumen Anda, atau apakah Anda memiliki beberapa pointer untuk bekerja pada sirkuit berlapis? The masuk akal - saya akan sangat terkejut oleh sesuatu yang lebih kecil - tetapi O ( n 2 ) hanya diketahui atas terikat? Ω(nlogn)O(n2)
Geoffroy Couteau
1
Saya kira itu adalah cerita rakyat, ya. Saya tidak yakin mendapatkan pertanyaan tentang batas atas . Anda mungkin ingin melihat makalah berikut: cs.utexas.edu/~panni/sizedepth.pdfO(n2)
Alexander S. Kulikov
1
Saya pikir kita tidak tahu transformasi yang lebih baik daripada secara umum. Perhatikan bahwa sirkuit ukuran s dan kedalaman d dapat diubah menjadi sirkuit ukuran berlapis paling banyak d s . (Yang dalam kasus terburuk memberi kita sirkuit ukuran O ( s 2 ) .) Saya hanya ingin menunjukkan bahwa jika kita bisa membuktikan batas bawah ω ( n log n ) pada ukuran sirkuit yang berlapis, ini akan memberi kita batas bawah super-linear pada ukuran sirkuit log-depth untuk fungsi ini. Pertanyaan ini tetap terbuka selama lebih dari 40 tahun.O(s2)sddsO(s2)ω(nlogn)
Alex Golovnev

Jawaban:

8

Sejauh yang saya tahu, tiga kelas sirkuit berlapis telah dipelajari. Dalam semua definisi ini, busur hanya diperbolehkan antara dua lapisan yang berdekatan.

  1. Sirkuit disebut sinkron ( Harper 1977 ) jika semua gerbang disusun menjadi lapisan, dan input harus berada pada lapisan 0. (Definisi yang setara: untuk setiap gerbang g , semua jalur dari input ke g memiliki panjang yang sama.)

  2. Sirkuit adalah sinkron secara lokal ( Belaga 1984 ) jika setiap input muncul tepat satu kali tetapi pada lapisan yang arbitrer.

  3. Sebuah sirkuit berlapis ( Gal, Jang 2010 ) jika gerbang dan input disusun menjadi lapisan, input dapat terjadi beberapa kali pada lapisan yang berbeda. (Definisi yang setara: untuk setiap gerbang g dan gerbang keluaran o , semua jalur yang diarahkan dari g ke o memiliki panjang yang sama.)

Sangat mudah untuk melihat bahwa tiga kelas terdaftar dari yang paling lemah ke yang terkuat (dan kelas sirkuit tidak dibatasi bahkan lebih kuat).

Mengenai ukuran sirkit berlapis yang menghitung sirkit tak terbatas ukuran s kita mengetahui hal berikut:

  1. ss2

  2. ω(slogs)sdO(sd)fω(nlogn)fO(logn)O(n)

  3. Ada fungsi eksplisit

    Ω(nlogn)O(n)

    Ω(nlogn)O(n)

n

f:{0,1}n{0,1}niiO(n)lognnnfΩ(nlogn)n1Ω(logn)nn

Alex Golovnev
sumber