Apakah kita memiliki sirkuit seragam nontrivial?


13

Dengan diberikannya algoritma yang berjalan dalam waktu , kita dapat mengubahnya menjadi rangkaian keluarga seragam "sepele" untuk masalah ukuran yang sama paling banyak t ( n ) log t ( n ) .t(n)t(n)logt(n)

Di sisi lain, mungkin kita memiliki sirkuit seragam yang jauh lebih kecil untuk masalah itu, bahkan jika adalah waktu berjalan yang optimal. Sirkuit mungkin membutuhkan waktu lebih lama dari t ( n ) untuk dihasilkan, tetapi kecil.t(n)t(n)

Tetapi apakah kita benar-benar tahu bagaimana membangun hal-hal seperti itu? Saya pikir pertanyaan awal untuk ditanyakan adalah

(1) Apakah kita memiliki contoh konstruktif dari sirkuit seragam nontrivial, yaitu sirkuit seragam yang ukurannya lebih kecil dari waktu berjalan paling terkenal dari algoritma untuk masalah yang sama?

Sekarang, saya percaya bahwa jika ada masalah dalam , maka kami memiliki algoritma eksponensial-waktu untuk menemukan sirkuit optimal menggunakan pencarian lengkap: Diberikan n , kami menuliskan jawaban pada semua 2 n input (mengambil waktu ( 2 n ) t ( n ) ); kemudian kami menghitung semua sirkuit pada n input dalam ukuran yang meningkat sampai satu ditemukan yang memberikan semua jawaban yang benar. Berakhir pencarian di salah ukuran sepele konversi, t ( n ) logDTIME(t(n))n2n(2n)t(n)n , atau tabel kebenaran fungsi, 2 n jika outputnya { 0 , 1 } . (Sunting: Thomas menunjukkan bahwabatasnyaadalah O ( 2 n / n ) karena Shannon / Lupanov.)t(n)logt(n)2n{0,1}O(2n/n)

Jadi kita memiliki pertanyaan "ya" yang tidak memuaskan untuk pertanyaan (1): Ambil bahasa yang sulit untuk waktu di atas , tetapi masih dapat dipilih; prosedur di atas menampilkan tabel kebenaran ukuran 2 n .2n2n

Jadi kita harus memperbaiki pertanyaan (1). Saya pikir dua kasus yang paling menarik adalah

(2) Apakah kita memiliki contoh konstruktif dari sirkuit seragam nontrivial berukuran polinomial ? (Bahkan jika itu dihasilkan oleh algoritma yang sangat lambat.)

(3) Apakah kita memiliki contoh konstruktif dari sirkuit seragam nontrivial polinomial dengan waktu-waktu ?

Ini mungkin terlalu banyak untuk ditanyakan. Bagaimana dengan pertanyaan yang lebih mudah: Apakah kita tahu bahwa hal seperti itu mungkin? Mungkin tidak ada sirkuit seragam nontrivial?

(4) Apakah pernyataan berikut diketahui salah untuk ? (Sunting: o ( 2 n / n ) , terima kasih Thomas.) "Jika bahasa L memiliki sirkuit seragam ukuran O ( s ( n ) ) , maka ia juga memiliki algoritme yang berjalan dalam waktu ˜s(n)=o(2n)o(2n/n)LO(s(n)). " (Jika demikian, lalu bagaimana ketika "seragam" diganti dengan "seragam waktu-polinomial", "seragam logspace", dll?)O~(s(n))

Akhirnya, jika pertanyaan di atas terlalu sulit,

(5) Apakah kita memiliki konstruksi rangkaian keluarga rangkaian yang tidak hanya konversi algoritma ke sirkuit (atau menuliskan tabel kebenaran)?

Nota bene. Seorang ahli yang saya tanyakan tentang hal ini menyebutkan "Pada Keseragaman Menengah dan Sirkuit Batas Bawah" ( pdf ), Santhanam dan Williams 2013, yang mungkin merupakan pekerjaan yang paling dekat hubungannya, tetapi itu membuktikan batas bawah (bahwa sirkuit yang dihasilkan secara waktu tidak tidak terlalu kuat). Saya akan tertarik pada pekerjaan terkait lainnya!


1,2,3,4: Fungsi identitas. 5. tidak jelas bagi saya apa yang Anda maksud dengan "menjadi konversi algoritma menjadi sirkuit", kami selalu dapat mengubah sirkuit seragam menjadi mesin Turing (dengan overhead kecil).
Kaveh

@ Kaveh, kembali # 5: Poin bagus, tapi saya kira yang ada dalam pikiran saya adalah seseorang yang menuliskan konstruksi eksplisit dari sirkuit seragam, yang tidak terlihat seperti "mengubah TM ini menjadi sebuah sirkuit". Juga, saya pikir konversi yang Anda sebutkan mungkin tidak benar-benar berarti bahwa rangkaian "terlihat seperti" suatu algoritma. Misalnya, kita memiliki sirkuit size- yang membutuhkan waktu n 3 untuk menghasilkan. Kita dapat mengubahnya menjadi time- n 3 TM, ok, tapi tidak terlalu mirip dengan sirkuit, dan konversi naif dari TM yang kembali menjadi circuit sekarang dengan ukuran ~ n 3 . Saya harap ini menunjukkan mengapa pertanyaan itu menarik minat saya. nn3n3n3
usul

1
@ Kaveh: Bagaimana fungsi identitas menjawab 1-4?
Joshua Grochow

@ Yosua, kita bisa langsung menggambarkan sebuah rangkaian seragam (kawat) ukuran O (n), yang lebih baik daripada konversi mesin Turing untuk identitas ke sirkuit.
Kaveh

Maksud saya adalah ada detail kecil yang penting yang perlu kita perhatikan untuk membuat pertanyaan terjawab. Contoh lain: BPP dalam P / poly dan konversi dapat dihitung. Jika pembangkitan rangkaian dilakukan dengan algoritma yang efisien menggabungkannya dengan nilai rangkaian akan menghasilkan TM yang efisien. Secara konseptual, sirkuit dan TM menghitung algoritma yang sama. Fakta bahwa ukuran dan waktu mungkin tidak sama persis adalah normal, mereka didefinisikan untuk model komputasi yang berbeda dan kami tahu mereka tidak sesuai. Bisa dibilang waktu berhubungan lebih dalam daripada ukuran.
Kaveh

Jawaban:


8

Inilah jawaban untuk dua pertanyaan terakhir Anda.

(5) Jaringan pengurutan adalah rangkaian seragam yang mengurutkan secepat algoritma RAM terbaik, tetapi jelas bukan hanya konversi algoritma RAM (mis. Quicksort). [ AKS83 , G14 ]

s(n)=(1+ε)2n/nε>0(1+o(1))2n/nfΩ(3n)O(n3n)fO(2n/n)2poly(n)O~(2n/n)s(n)=o(2n/n) .

Ini pertanyaan yang menarik; Saya harap seseorang dapat menjawab (1) - (3).


Terima kasih, Anda benar, saya secara intuitif ingin mengesampingkan kasus "batas atas" ini tetapi tidak tahu asimptotik yang tepat. Saya telah mengedit pertanyaan untuk memasukkan kasus itu.
usul
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.