Satu celah yang saya selalu sadar bahwa saya tidak benar-benar mengerti adalah antara kompleksitas komputasi tidak seragam dan seragam di mana kompleksitas sirkuit mewakili versi tidak seragam dan mesin Turing adalah hal-hal yang seragam. Saya kira "seragam" adalah cara untuk menahan kelas algoritma, misalnya tidak mengizinkan rangkaian yang sama sekali berbeda untuk masalah dengan n variabel dibandingkan dengan masalah n +1 variabel.
Pertanyaan saya adalah: 1) Apakah ada deskripsi keseragaman hanya dalam hal rangkaian, dan 2) Apakah mungkin untuk datang dengan bentuk yang lebih kuat dari keseragaman dan dengan demikian memberikan gagasan lebih terbatas tentang apa yang efektif (atau ditahan) algoritma di P apa?
Klarifikasi terlambat: niat saya dalam pertanyaan 2 adalah tentang kelas algoritma yang terbatas yang "secara praktis" memiliki kekuatan yang sama dengan kelas algoritma polinomial.
sumber
Jawaban:
Saya pikir jawaban untuk pertanyaan pertama Anda adalah negatif: Sebuah sirkuit memiliki sejumlah input tetap, dan dengan demikian, IMO, kita hanya dapat berbicara tentang "keluarga" sirkuit, bukan hanya satu sirkuit yang seragam.
Mengenai pertanyaan kedua Anda, Anda dapat mencatat bahwa ada "keluarga rangkaian yang seragam," yang uraiannya dihasilkan oleh mesin Turing. Yaitu, biarkan menjadi rangkaian keluarga yang seragam, dan biarkan M menjadi mesin Turing. Kemudian, untuk setiap n , [ C n ] = M ( 1 n ) , di mana [ C n ] menunjukkan deskripsi C n .{Cn} M n [Cn]=M(1n) [Cn] Cn
Ada beberapa kelas kompleksitas di bawah P, yang didefinisikan oleh rangkaian keluarga yang seragam. Sebagai contoh:
adalah kelas masalah keputusan yang dapat diputuskan olehsirkuit boolean yangseragamdengan jumlah polinomial gerbang dan kedalamanO( log i n).NCi O(login)
sumber
Menambah jawaban Sadeq di atas, ketika seseorang melihat kelas sirkuit yang terkandung dalam P, orang mungkin juga ingin melihat gagasan keseragaman yang semakin ketat.
Yang paling sederhana dan paling terkenal gagasan adalah P-keseragaman, yang merupakan persyaratan yang ada (deterministik) Mesin Turing M yang menghasilkan sirkuitCn dalam waktu poli (n) (Suresh juga membicarakan hal ini). Versi keseragaman yang lebih ketat mencoba membatasi kekuatan M lebih jauh. Sebagai contoh, ada juga Logspace-uniformity, di mana M sekarang diperlukan untuk berjalan di ruang O (log (n)).
Gagasan paling ketat yang saya tahu adalah DLOGTIME-uniformity, yang digunakan untuk kelas-kelas sirkuit kecil. Di sini, mesin (sekarang akses acak) M hanya memiliki waktu O (log n) dan karenanya tidak mungkin menuliskan deskripsi dari seluruh rangkaian. Kondisi yang diberlakukan adalah bahwa mengingat i dan n, M dapat menuliskan bit engan uraian rangkaian dalam waktu O (log n).
Untuk lebih lanjut, lihat makalah berikut: David A. Mix Barrington, Neil Immerman, Howard Straubing: Tentang Keseragaman dalam NC¹. J. Comput. Syst. Sci. 41 (3): 274-306 (1990).
sumber
sumber
Di sisi lain, jika kita diizinkan membatasi sirkuit yang seragam untuk mendefinisikan sirkuit, maka jawabannya jelas positif. Dan kita bisa menggunakanFHAI (yang sama dengan D L o gTi m e dan seragam A C0 ) untuk mendefinisikan keseragaman. FHAI secara konseptual sangat dekat dengan sirkuit.
Tampak bagi saya bahwa titik utama di sini adalah bahwa kita memerlukan beberapa model perhitungan seragam untuk mendefinisikan keseragaman untuk rangkaian, jika deskripsi sirkuit diberikan dengan cara yang tidak seragam, sirkuit dapat tidak seragam.
sumber
1) Apakah ada deskripsi keseragaman hanya dalam hal rangkaian?
[Ini adalah versi edit dari jawaban saya untuk pertanyaan yang sama yang Anda tanyakan di blog Dick Lipton. Peringatan: Saya bukan ahli.]
Ya (saya pikir), paling tidak dari dua jenis:
a) Sirkuit dapat dihasilkan oleh mesin Turing dalam waktu polinomial dalam ukuran input masalah (sebagaimana disebutkan dalam beberapa balasan lain). (Saya pikir ini adalah definisi standar dari konsep ini.)
Ini mencakup semua rangkaian keluarga yang ingin kami sebut seragam, tetapi sebagai definisi konsep P-time, ini hanya mengurangi definisi tentang rangkaian keluarga ke definisi pada mesin Turing, yang mungkin bukan yang Anda inginkan.
b) Jika ada otomat seluler 1 dimensi yang berevolusi input masalah ke solusi masalah (untuk masalah keputusan, solusi akan menjadi bit tunggal dalam sel tertentu relatif terhadap sel yang mengandung input, yang merupakan keadaan stabil CA), dalam waktu polinomial dalam ukuran input, maka ini sesuai dengan sirkuit yang periodik dalam 2D dengan cara sederhana (satu unit berulang per sel per unit waktu), dan yang keadaannya hanya penting di wilayah relatif besar secara kuadratik ke waktu solusi.
Ini adalah jenis rangkaian keluarga seragam yang sangat istimewa, tetapi cukup untuk menyelesaikan semua masalah dalam P, karena mesin Turing dapat dengan mudah dikodekan sebagai CA 1D. (Ini juga tampaknya memenuhi definisi keseragaman DLOGTIME yang disebutkan dalam balasan sebelumnya.)
(Ini mirip dengan pengkodean mesin Turing sebagai sirkuit yang disebutkan dalam balasan Gowers di blog Lipton - pada kenyataannya, salah satunya mungkin identik.)
Salah satu cara untuk menyandikan mesin Turing sebagai 1D CA: di setiap sel, kami mewakili keadaan pita pada satu titik, keadaan yang dimiliki kepala mesin turing jika ada di sini sekarang (yang nilainya tidak masalah jika tidak ada di sini) , dan sedikit mengatakan apakah kepala ada di sini sekarang. Jelas, setiap keadaan seperti itu pada waktu t hanya tergantung pada keadaan lingkungan terdekatnya pada waktu t-1, yang kita perlukan agar ini berfungsi sebagai CA.
sumber