Karakterisasi Kompleksitas Sirkuit untuk DLogTime dan NLogTime

13

DLogTime danNLogTime adalah dua dari kelas kompleksitas terkecil yang kita miliki. (Perhatikan bahwa logaritma waktu hirarkiLH adalah sama denganAC0 dan ini adalah dua tingkat pertama dariLH ).

Setelah membaca ini pertanyaan , saya menjadi tertarik untuk melihat apakah pemisahan antara dua kelas ini dikenal, dan sebenarnya itu adalah mudah untuk memisahkan mereka sejak (terima kasih kepada Robin Kothari. Lihat juga yang dikenalOR(x1,...,xn)NLogTimeDLogTime). Sekarang saya tertarik untuk mengetahui karakterisasi kompleksitas rangkaian yang sesuai. Saya telah mencari sedikit dan telah bertanya kepada beberapa orang tetapi tidak dapat menemukan jawabannya.

Apakah kita memiliki bagus kompleksitas rangkaian penokohan untuk kelas kompleksitas dan N L o g T i m e ?DLogTimeNLogTime

Catatan: muncul banyak dalam mendefinisikan keseragaman untuk kelas kompleksitas kecil. Perhatikan bahwa batas waktu yang kecil tidak memungkinkan mesin ini untuk membaca seluruh input, mereka hanya dapat membaca lg n bit dari input, dan kelas didefinisikan menggunakan mesin yang dapat menulis alamat sedikit dan kemudian membaca bit itu secara langsung ( yaitu tidak perlu pergi ke semua bit sebelumnya untuk sampai ke sana).DLogTimelgn

Kaveh
sumber
3
Mudah untuk memisahkan kedua kelas. NLOGTIME dapat menghitung fungsi OR, sedangkan DLOGTIME tidak bisa, karena itu tidak bisa membaca seluruh input. Fakta ini dapat digunakan untuk membangun bahasa yang memisahkan keduanya menggunakan trik standar.
Robin Kothari
1
@Robin: seperti biasa terima kasih banyak :). Saya melewatkannya.
Kaveh
. Kelas mungkin sesuatu sekitar klausa ukuran polinomial / istilah / CNF / DNF. AltTime(O(1),O(logn))=AC0
Kaveh
Apakah Anda akhirnya menemukan jawaban untuk pertanyaan ini? Karakterisasi rangkaian untuk DLOGTIME akan memiliki dua bagian, jenis sirkuit yang diizinkan dan kondisi keseragaman yang dikenakan pada mereka. Apakah Anda tahu jawabannya?
Robin Kothari
@Robin, tidak, saya tidak tahu jawabannya, tapi saya kira mereka mungkin tidak sesuai dengan kelas kompleksitas sirkuit yang bagus.
Kaveh

Jawaban:

-11

Saya pikir jauh lebih menarik bahwa kelas kompleksitas sirkuit yang digunakan oleh teori kompleksitas CS membuat prediksi yang berbeda dan menggunakan metrik yang berbeda dari yang ada di komunitas VLSI. Dari VLSI kompleksitas fungsi Boolean :

Sudah diketahui secara umum bahwa semua fungsi Boolean dari variabel dapat dikomputasi oleh rangkaian logika dengan gerbang O ( 2 n / n ) (teorema Lupanov) dan bahwa ada fungsi Boolean dari n variabel yang memerlukan rangkaian logika dengan ukuran ini (Shannon dalil). Kami menyajikan hasil yang sesuai untuk fungsi Boolean yang dihitung oleh sirkuit VLSI, menggunakan model chip VLSI Thompson. Kami membuktikan bahwa semua fungsi Boolean dari n variabel dapat dihitung dengan rangkaian VLSI area O ( 2 n ) dan periode 1, dan kami membuktikan bahwa ada fungsi Boolean dari nnO(2n/n)nO(2n)nvariabel yang setiap chip (cembung) VLSI harus memiliki luas .Ω(2n)

Menariknya, kompleksitas sirkuit VLSI memiliki kecenderungan untuk memperlakukan kedalaman sebagai "tidak relevan" karena ada satu dan hanya satu "kedalaman" yang penting: jalur kritis. Untuk sebagian besar tujuan praktis, rangkaian kompleks yang arbitrer dapat diperlakukan sebagai dengan latensi n .O(1)n

Bahkan, aku bahkan tidak yakin bahwa konsep / N L o g T i m e langsung diterjemahkan ke VLSI sirkuit kompleksitas. Bahkan hasil Shannons 2 n / n tidak mudah diterjemahkan: Hasil Shannons hanya valid untuk basis boolean yang terdiri dari arity 2 {AND, OR, NOT}. Ini bukan satu-satunya dasar, dan jumlah "gerbang" yang dibutuhkan turun secara dramatis karena Anda mengizinkan lebih banyak jenis gerbang. Berikut ini adalah sebuah r e a 2DLogTimeNLogTime2n/n2area2 dari perpustakaan sel standar VLSI komersial dinormalisasi ke ukuran gerbang NAND 2 input:

        2 3 4 <- Arity
dan 1.14 1.28 1.41
nand 1,00 1,14 1,28
atau 1.14 1.41 1.41
atau 1,00 1,14 1,41
xor 1,62 2,44
xnor 1,62 2,44

buf 1.14
inv 0,80

aoi22 1.28
aoi222 1.62
aoi33 1.62
oai22 1.41
oai222 1.72
oai33 1.62

tambahkan 2.64

Secara khusus, perhatikan aoi/ oaigerbang yang And Or Invert/ Or And Invertyang terdiri dari arity berukuran Fungsi pertama makan fungsi kedua, di mana jumlah fungsi pertama gerbang adalah sama dengan jumlah kali arity muncul. Misalnya, aoi22menyatakan "Dua input 2 dan gerbang yang memberi makan gerbang NOR".

Maksud saya adalah: Diambil secara terpisah, sebuah oai222fungsi dapat dibangun menggunakan tiga 2 gerbang input OR dan 3 gerbang input NAND, untuk total area ~ 4,56, tidak termasuk area yang digunakan untuk interkoneksi. Namun primitif ini dapat diwujudkan dalam area hanya 1,72, yang berarti manifestasi diskrit dari fungsi boolean yang sama mengkonsumsi area 2,65 kali lebih banyak.

Juga perhatikan bahwa area untuk gerbang input {dan, NAND, OR, NOR, XOR, XNOR}, di mana n 2 , jauh lebih kecil daripada area yang akan dibutuhkan untuk membangun fungsi yang sama menggunakan gerbang input diskrit 2. Perhatikan juga bahwa sementara area yang diberikan untuk {XOR, XNOR} untuk proses ini "besar" relatif terhadap gerbang lain, ada cara lain untuk membangun n input yang sama menggunakan lebih sedikit area.nn2n

Properti propagasi untuk primitif yang lebih kompleks juga secara signifikan lebih baik daripada apa yang akan dicapai dengan menggunakan gerbang diskrit.

Mengapa ini penting? Karena bagi saya, setidaknya, saya telah menghabiskan banyak waktu untuk menyaring hasil dari teori kompleksitas yang dibangun di atas serangkaian asumsi yang memiliki efek baik membuat hasil tidak berguna atau salah begitu asumsi dilanggar. Berikut ini adalah dari Steven Cooks vs N PPNP :

Dengan demikian untuk membuktikan cukup untuk membuktikan batas bawah super-polinomial pada ukuran keluarga rangkaian Boolean yang memecahkan beberapa masalah spesifik N P -lengkap, seperti 3-SAT. Kembali pada tahun 1949 Shannon membuktikan bahwa untuk hampir semua fungsi Boolean f : { 0 , 1 } n{ 0 , 1 }PNPNPf:{0,1}n{0,1} , sirkuit Boolean komputasi membutuhkan setidaknya 2 n / n gerbang. Sayangnya, penghitungan argumennya tidak memberikan petunjuk bagaimana untuk membuktikan batas bawah untuk masalah di N Pf2n/nNP.

Saya menemukan alasan Cooks penasaran. Hasil Shannons berlaku untuk semua , oleh karena itu jika N P masalah dapat dijelaskan dalam { 0 , 1 } n adalah batas atas untuk ukuran N Pf:{0,1}n{0,1}NP{0,1}n bit, harus ada {AND, OR, NOT} sirkuit dasar yang dapat memutuskan apakah memuaskan di gerbang ~ (makalah yang sebenarnya memberikan batas atas yang lebih besar, tetapi terbatas, terikat untuk setiap fungsi yang mungkin). Ini memberitahu kita bahwa apa pun yang menggunakan lebih dari n gerbang, di mana n2n/nnnNP , menggunakan gerbang lebih dari yang dibutuhkan. Menggunakan basis boolean yang lebih besar, tetapi lengkap, hanya mengurangi jumlah gerbang yang dibutuhkan. Menggunakan model kompleksitas rangkaian yang berbeda, yaitu VLSI, memberikan batas hasil yang "lebih baik". Ingin tahu. Tapi kita tahu pasti bahwa setiap solusi untuk masalah yang menggunakan lebih dari ~ 2 n / n "gerbang" (di mana gerbang digunakan secara longgar untuk langkah-langkah / operasi) adalah melakukannya secara sub-optimal ... dan ada banyak cara untuk menemukan solusi dengan cara yang tidak optimal.NP2n/n

Pada Kompleksitas Implementasi VLSI dan Representasi Grafik dari Fungsi Boolean dengan Aplikasi ke Integer Multiplikasi menunjukkan bahwa memprediksi kompleksitas sirkuit menggunakan model OBDD melebihi perkiraan kompleksitas sirkuit aktual:

AT2=Ω(n2)Ω(cn)c<1AT2=O(n1+c)

n2n1i12ni11inAT2=Ω(i2)Ω(1.09i)

John
sumber
5
-1: Saya tidak melihat bagaimana ini relevan dengan pertanyaan OP.
Robin Kothari
5
Bagianmu di tengah tentang Shannon dan Cook sepertinya tidak masuk akal. Shannon menunjukkan bahwa fungsi "paling" membutuhkan sirkuit besar yang eksponensial. Bagaimana kita dapat menyimpulkan bahwa masalah NP hanya membutuhkan keluarga berukuran linier? Dan Anda benar-benar menyadari bahwa kita berbicara tentang keluarga wilayah, bukan?
Mark Reitblatt
6
johne: ini bukan forum yang tepat untuk apa yang hanya bisa digambarkan sebagai ocehan tentang komunitas VLSI berhadap-hadapan dengan komunitas CS.
Suresh Venkat