Di sini tujuannya adalah untuk mengurangi masalah SAT sewenang-wenang menjadi 3-SAT dalam waktu polinomial menggunakan klausa dan variabel paling sedikit. Pertanyaan saya dimotivasi oleh rasa ingin tahu. Secara kurang formal, saya ingin tahu: "Apa pengurangan 'paling alami' dari SAT menjadi 3-SAT?"
Sekarang pengurangan yang selalu saya lihat di buku teks kira-kira begini:
Pertama-tama ambil contoh SAT Anda dan terapkan teorema Cook-Levin untuk menguranginya ke sirkuit SAT.
Kemudian Anda menyelesaikan pekerjaan dengan pengurangan standar sirkuit SAT menjadi 3-SAT dengan mengganti gerbang dengan klausa.
Sementara ini bekerja, klausa 3-SAT yang dihasilkan akhirnya tampak hampir tidak seperti klausa SAT yang Anda mulai, karena aplikasi awal teorema Cook-Levin.
Adakah yang bisa melihat bagaimana melakukan reduksi secara lebih langsung, melewatkan langkah rangkaian lanjutan dan langsung menuju 3-SAT? Saya bahkan akan senang dengan pengurangan langsung dalam kasus khusus n-SAT.
(Saya kira ada beberapa trade-off antara waktu komputasi dan ukuran output. Jelas merosot - walaupun untungnya tidak dapat diterima kecuali P = NP - solusi akan hanya menyelesaikan masalah SAT, kemudian memancarkan sepele 3 Contoh -SAT ...)
EDIT: Berdasarkan jawaban ratchet jelas sekarang bahwa pengurangan ke n-SAT agak sepele (dan bahwa saya benar-benar harus memikirkan satu melalui sedikit lebih hati-hati sebelum memposting). Saya membiarkan pertanyaan ini terbuka sedikit jika seseorang mengetahui jawaban untuk situasi yang lebih umum, jika tidak saya hanya akan menerima jawaban ratchet.