Kelas Kompleksitas Semantik vs. Sintaksis


35

Dalam bukunya "Kompleksitas Komputasi", Papadimitriou menulis:

Dalam beberapa hal RP adalah jenis kompleksitas yang baru dan tidak biasa. Tidak ada mesin Turing nondeterministik terikat polinomi dapat menjadi dasar mendefinisikan bahasa dalam RP. Agar mesin N mendefinisikan bahasa dalam RP , ia harus memiliki properti luar biasa yang pada semua input ditolak dengan suara bulat , atau diterima oleh mayoritas . Sebagian besar mesin nondeterministic berperilaku dengan cara lain untuk setidaknya beberapa input ... Tidak ada cara mudah untuk mengetahui apakah mesin selalu berhenti dengan output bersertifikat. Kami secara informal menyebut kelas-kelas semacam itu kelas semantik , yang bertentangan dengan kelas sintaksis seperti P dan NP, di mana kita dapat mengetahui dengan segera dengan cek superfisial apakah mesin standar yang sesuai memang mendefinisikan bahasa di kelas.

Beberapa halaman kemudian, ia menunjukkan bahwa:

bahasa L ada dalam kelas PP jika ada mesin Turing yang dibatasi secara polinomi nondeterministik N sehingga, untuk semua input x, jika jika lebih dari setengah perhitungan N pada input x akhirnya menerima. Kami mengatakan bahwa N memutuskan L secara mayoritas .xL.

Pertanyaan 1: Mengapa Papadimitriou menyimpulkan bahwa PP adalah kelas sintaksis, sedangkan definisinya hanya sedikit berbeda dari RP ?

Pertanyaan 2: Apakah menjadi "semantik" untuk kelas kompleksitas sama dengan TIDAK memiliki masalah lengkap, atau kurangnya masalah lengkap dianggap sebagai properti yang kami GUESS dimiliki oleh kelas semantik?

Sunting: Lihat topik terkait Apakah semua kelas kompleksitas memiliki karakterisasi daun bahasa?


2
sebuah pembicaraan terkait baru-baru ini oleh Anuj Davar di INI: Pada kelas kompleksitas sintaksis dan semantik
Kaveh

@Kaveh: Terima kasih banyak! Saya akan melihatnya.
MS Dousti

Jawaban:


31

RP melibatkan janji, bahwa 0 jalur diterima atau lebih dari setengahnya menerima, apa pun inputnya. Untuk PP, tidak ada janji seperti itu. Jika lebih dari setengah jalan menerima, maka , jika tidak, x L . (PP dapat didefinisikan sehingga kriteria penerimaan yang 1 / 2 dan < 1 / 2 masing-masing.)xL.xL.1/2<1/2

Atau dengan kata lain, jika saya memberi Anda probabilistik TM yang mengklaim itu adalah mesin PP yang memutuskan beberapa bahasa, Anda dapat yakin bahwa itu memutuskan beberapa bahasa. Jelas, bahasa yang diputuskannya adalah bahasa ini: Coba masukan . Lihat apakah lebih dari 1/2 jalur menerima (atau lebih dari 1/2 string acak menyebabkannya menerima). Jika demikian, x L . Jika tidak, x L . Jadi kami telah mendefinisikan bahasa menggunakan TM ini.xxL.xL.

Di sisi lain, jika saya memberi Anda TM probabilistik yang mengklaim itu adalah mesin RP yang memutuskan beberapa bahasa, Anda bahkan tidak dapat memastikan bahwa itu memutuskan bahasa apa pun. Masalahnya adalah ketika Anda mengamati hanya beberapa jalur yang menerima, Anda tidak tahu apakah ada di L atau tidak. Jadi jika saya memberi Anda mesin RP, Anda hanya perlu mengambil kata-kata saya untuk itu. Memang, memeriksa apakah mesin ini mendefinisikan suatu bahasa tidak dapat dihitung.xL.

Adapun pertanyaan kedua Anda, untuk kelas sintaksis biasanya ada masalah lengkap yang jelas, yaitu seperti "Mesin yang diberikan M, putuskan apakah ia menerima dalam waktu T pada input x." Jika Anda diberi mesin nondeterministic, masalah ini adalah NP-complete, jika itu PP-machine, maka itu PP-complete, dll. Masalah lengkap yang jelas untuk kelas semantik tidak dapat diputuskan, seperti yang saya sebutkan. Jadi kami tidak mendapatkan masalah lengkap gratis untuk kelas semantik. Tetapi kelas semantik dapat memiliki masalah yang lengkap. Misalnya jika P = BPP (seperti yang diyakini secara luas), maka BPP memiliki karakterisasi sintaksis.

EDIT : Karena ada beberapa diskusi tentang cara mendefinisikan kelas semantik dan sintaksis, saya ingin menunjukkan bahwa Papadimitriou memberikan definisi dalam bukunya ketika berbicara tentang bahasa daun. (Lihat pertanyaan saya tentang bahasa daun untuk beberapa referensi.)

Dia mengatakan bahwa kelas sintaksis adalah kelas yang ada beberapa bahasa yang mendefinisikan kelas menggunakan teknik bahasa daun. Kelas semantik adalah kelas yang mengharuskan semua penokohan seperti itu untuk masalah janji. Ini adalah definisi yang ketat, tetapi hanya berfungsi untuk bahasa yang memiliki karakterisasi bahasa daun.


3
Yah, saya tidak akan menyia-nyiakan 20 menit terakhir untuk menulis jawaban saya, jika saya baru memuat ulang halaman ... :) Saya akan membiarkannya untuk berjaga-jaga jika itu juga membantu.
Ryan Williams

Ya, saya benci kalau itu terjadi. Meskipun terkadang saya mendapat notifikasi "jawaban baru telah diposkan" di tengah penulisan jawaban.
Robin Kothari

6
@Robin: Anda tidak perlu menggunakan pernyataan "P = BPP" yang belum terbukti tetapi diyakini secara luas sebagai contoh kelas semantik yang ternyata sintaksis: IP = PSPACE. (Dan sekarang juga QIP.)
Joshua Grochow

3
@ Yosua: Anda benar, IP = PSPACE berfungsi.
Robin Kothari

1
@ Yosua: Terima kasih telah menyebutkan hasil IP = PSPACE. Saya tidak pernah melihatnya dari sudut pandang ini!
MS Dousti

28

PPRP PP>1/2x

PNPPPRPRP>1/2RPPrHaimsayase-RP

P=BPPP=BPP

Jika memang benar bahwa tidak ada daftar mesin yang mudah dapat dihitung (dari jenis apa pun) yang menerima kelas Anda dengan tepat, maka ya, saya tidak berpikir kelas Anda mungkin memiliki bahasa yang lengkap. Tapi itu sepertinya sangat sulit untuk diformalkan dengan benar, apalagi membuktikan.


Hai Ryan. Apakah Anda pikir mungkin untuk mendefinisikan sintaksis dengan mengasumsikan sesuatu seperti Tesis Church-Turing?
Kaveh

1
Saya telah mengedit jawaban saya sekarang untuk menjawab pertanyaan tentang bagaimana mendefinisikan sintaksis.
Robin Kothari
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.