Jawaban:
Ada interpretasi logis dari berbagai tingkatan hirarki polinom, yang memperluas karakterisasi saksi dan .
Sebuah bahasa ada di jika ada predikat polytime dan polinomial seperti yang
Demikian pula, ada di jika dapat ditulis dengan cara yang sama, hanya dimulai dengan .
Sebagai contoh, adalah , dan terdiri dari semua bahasa sedemikian rupa sehingga
Contoh ketiga Anda adalah , yang mana . Saya tidak yakin apa karakterisasi logisnya.
Untuk mengatakan mengandung masalah dengan "saksi kecil yang dapat diverifikasi" secara konseptual paling tidak akurat. Para saksi hanya dibatasi secara polinomi karena kami ingin verifikasi menjadi efisien (yaitu, berjalan dalam waktu polinomial). Dalam situasi seperti itu, hanya awalan polinomial panjang dari saksi mana saja yang relevan, maka dari itu mengapa kami menuntut saksi polinomial panjang. Juga, "kecil" berpotensi berarti konstan atau logaritmik; mereka tidak digunakan, tentu saja, karena mereka dapat dipaksa oleh algoritma waktu polinomial (dan hanya memberi kita masalah dalam).
Cara gagasan sistem buktinya generalisasi untuk menghasilkan hierarki polinom mirip dengan sudut pandang logis yang dijelaskan Yuval Filmus dalam jawabannya. Izinkan saya memperkenalkan pandangan yang kurang teknis di baliknya.
Kami mempertimbangkan game dua pihak yang didasarkan pada QBF. Sebuah instance (atau "papan" jika Anda ingin membayangkannya sebagai permainan papan seperti catur atau catur) dari permainan seperti itu adalah formula, dan dua pemain, katakanlah dan , bergiliran memilih nilai untuk dan masing-masing. Setiap pilihan tersebut merupakan langkah . Ketika tidak ada lagi nilai yang tersisa, rumus (yaitu, posisi akhir gim) dievaluasi; menang jika itu benar, dan menang jika itu salah.
Game ini memodelkan penjumlahan eksistensial dan universal dengan cara berikut: Jika rumusnya adalah QBF sejati, maka (yang memainkan peran quantifiers eksistensial) akan selalu memiliki strategi kemenangan dan dapat memilih serangkaian yang menyebabkan benar terlepas dari nilai-nilai dipilih oleh (yang memainkan peran quantifiers universal). Contoh "ya" adalah contoh di mana QBF benar, yaitu, selalu memiliki strategi kemenangan, apa pun caranya memainkan.
dan kemudian sesuai dengan game yang berlangsung selama bergerak dan di mana dan , masing-masing, pergi dulu. Sebenarnya, Anda bahkan mendapatkannya dan dimasukkan sebagai bonus karena sesuai dengan kelas permainan yang berlangsung untuk jumlah gerakan yang sewenang-wenang (meskipun telah ditentukan sebelumnya).
Perhatikan juga itu dan adalah kasus yang agak merosot dari game ini karena dan , masing-masing, tidak mendapatkan kesempatan untuk bergerak sama sekali! Misalnya, untuk contoh "ya" dari, dapat menang hanya dengan tidak melakukan apa-apa (karena contoh "ya" adalah tautologi dan benar terlepas dari apa memilih).
Ada juga versi yang lebih umum dari yang di atas yang didasarkan pada permainan generik (dan bukan QBF secara khusus). Anda dapat menemukannya, misalnya, di bagian 5.4 "PSPACE and Games" dari Goldreich's "Computational Complexity: A Conceptual Perspective" (di sini ada tautan gratis ke versi konsep; lihat hlm. 174 serta hlm. 118–121) .
adalah penutupan dalam waktu polinomial Pengurangan turing (= Pengurangan masak). Oleh karena itu, ditutup di bawah pengurangan Cook, sehingga kami miliki. Bahkan, untuk oracle apa pun, kami mendefinisikan sebagai penutupan di bawah pengurangan Cook, dan kami selalu punya dan . Juga dan . Tetapi pengurangan Cook terasa sedikit tidak wajar untuk masalah keputusan.
Catat itu adalah kelas fungsi disguide, dan itu juga kelas fungsi yang menyamar. Mari kita menulis untuk kelas fungsi parsial waktu komputasi polinomial, yaitu kelas fungsi yang sesuai dengan , dan untuk kelas fungsi yang berkaitan dengan . Termasuk fungsi parsial memungkinkan untuk menggunakan notasi yang mapan (digunakan dalam A taksonomi kompleksitas kelas fungsi oleh A. Selman, 1994) yang menghindari nama bentrok dengan kelas yang tidak terkait.
Reduksi masak terasa lebih alami untuk kelas fungsi. Anda mungkin mengalami pengurangan Cook (dan secara implisit juga kelasnya) pada titik di mana buku teks atau profesor Anda menjelaskan mengapa tidak masalah untuk hanya melihat masalah keputusan. Biasanya, sesuatu seperti algoritma (dari) untuk menghitung penugasan memuaskan terakhir secara leksikografis dari instance SAT yang diberikan diuraikan. Yang pertama bertanya kepada oracle apakah ada tugas yang memuaskan sama sekali, dan kemudian menentukan nilai-nilai variabel (biner) dengan berturut-turut bertanya kepada oracle apakah ada tugas yang memuaskan di mana diatur ke nilai yang sudah ditentukan, dan diatur ke . Jika ya, maka satu set untuk , jika tidak, satu set untuk . (Perhatikan bahwa ini adalah fungsi parsial, karena fungsi tersebut tidak terdefinisi jika tidak ada penugasan yang memuaskan.)
Biarkan saya mencoba untuk mengatakan beberapa kata tentang pernyataan Yuval Filmus:
Contoh ketiga Anda adalah , yang mana . Saya tidak yakin apa karakterisasi logisnya.
Ada dua kesulitan untuk diatasi: (1) karakterisasi kelas fungsi memiliki rasa yang berbeda dari karakterisasi logis dari kelas keputusan, dan (2) setidaknya untuk kita harus memodelkan karakter deterministik dari pertanyaan ke oracle.
Jika kita melihat kelasnya fungsi parsial sesuai dengan kelas masalah keputusan pertama, maka kita dapat mengabaikan (2) sejenak: Fungsi parsial ada di jika ada fungsi parsial polytime , predikat polytime dan polinomial seperti yang dimana
Seseorang dapat mencoba mengatasi (2) dengan memperkenalkan operator dan . Tapi itu masih akan menjadi jelek, dan orang bisa berargumen apakah ini benar-benar merupakan karakterisasi logis.