Pemecah SAT memberikan cara yang ampuh untuk memeriksa validitas rumus boolean dengan satu quantifier.
Misalnya, untuk memeriksa validitas , kita dapat menggunakan pemecah SAT untuk menentukan apakah memuaskan. Untuk memeriksa validitas , kita bisa menggunakan SAT solver untuk menentukan apakah memuaskan. (Di sini adalah vektor variabel boolean, dan adalah rumus boolean.)
Pemecah QBF dirancang untuk memeriksa validitas formula boolean dengan jumlah penjumlah yang berubah-ubah.
Bagaimana jika kita memiliki rumus dengan dua bilangan? Apakah mereka merupakan algoritma yang efisien untuk memeriksa validitas: yang lebih baik daripada hanya menggunakan algoritma generik untuk QBF? Untuk lebih spesifik saya memiliki rumus bentuk (atau ), dan ingin memeriksa validitasnya. Apakah ada algoritma yang bagus untuk ini? Sunting 4/8: Saya mengetahui bahwa kelas formula ini kadang-kadang dikenal sebagai 2QBF, jadi saya mencari algoritma yang bagus untuk 2QBF.
Mengkhususkan lebih lanjut: Dalam kasus khusus saya, saya memiliki rumus bentuk yang validitasnya ingin saya periksa, di mana f , g adalah fungsi yang menghasilkan output k -bit. Apakah ada algoritma untuk memeriksa validitas formula khusus ini, lebih efisien daripada algoritma generik untuk QBF?
PS Saya tidak bertanya tentang kekerasan kasus terburuk, dalam teori kompleksitas. Saya bertanya tentang algoritma yang praktis berguna (seperti pemecah SAT modern praktis berguna pada banyak masalah meskipun SAT adalah NP-lengkap).