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/n≤2area2 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
/ oai
gerbang yang And Or Invert
/ Or And Invert
yang terdiri dari arity berukuran Fungsi pertama makan fungsi kedua, di mana jumlah fungsi pertama gerbang adalah sama dengan jumlah kali arity muncul. Misalnya, aoi22
menyatakan "Dua input 2 dan gerbang yang memberi makan gerbang NOR".
Maksud saya adalah: Diambil secara terpisah, sebuah oai222
fungsi 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.nn≥2n
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 }P≠NPNPf:{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)
n2n−1i−12n−i−11≤i≤nAT2=Ω(i2)Ω(1.09i)