Apakah menemukan solusi dari masalah kepuasan lebih sulit daripada memutuskan kepuasan?

11

Apakah masalah menentukan apakah ekspresi Boolean yang diberikan memuaskan secara komputasi berbeda dari benar-benar menemukan solusi untuk ekspresi?

Dengan kata lain, adakah cara lain untuk menemukan bahwa ekspresi yang diberikan adalah memuaskan tanpa secara eksplisit menentukan 'pengaturan yang tepat' untuk variabel Boolean? Atau apakah semua bukti yang mungkin berkurang dalam waktu polinomial ke 'pengaturan yang benar'?

Maafkan ketidaktahuan saya, saya hanya seorang mahasiswa teknik. Wikipedia tampaknya menyiratkan bahwa tindakan hanya menemukan SAT atau UNSAT adalah NP-complete.

Jason
sumber
8
Jawaban singkat: masalah menemukan tugas yang memuaskan secara komputasi sama sulitnya dengan memutuskan apakah ada. Idenya adalah bahwa dengan diberikan suatu algoritma yang menentukan kepuasan, dapat digunakan untuk membangun tugas yang memuaskan secara efisien. Lihat en.wikipedia.org/wiki/…
John D.
2
Saya pikir UNSAT sudah lengkap dengan TNN?
G. Bach

Jawaban:

15

Seperti disebutkan dalam komentar, metode apa pun untuk menentukan kepuasan rumus Boolean dapat dengan mudah dikonversi menjadi metode untuk menemukan penugasan variabel yang memuaskan. Ini karena semua masalah NP-lengkap dapat direduksi sendiri ke bawah.

Dari Wikipedia :

Reducibilitas diri

Masalah SAT bersifat self-reducible, yaitu masing-masing algoritma yang menjawab dengan benar jika instance SAT dapat dipecahkan dapat digunakan untuk menemukan tugas yang memuaskan. Pertama, pertanyaan diajukan pada rumus yang diberikan . Jika jawabannya "tidak", rumusnya tidak memuaskan. Kalau tidak, pertanyaan diajukan pada rumus yang dipakai sebagian , yaitu dengan variabel pertama diganti dengan , dan disederhanakan sesuai. Jika jawabannya "ya", maka , jika tidak . Nilai variabel lain dapat ditemukan kemudian dengan cara yang sama. Secara total, menjalankan algoritma diperlukan, di manaΦΦ{x1=TRUE}Φx1TRUEx1=TRUEx1=FSEBUAHL.SEn+1n adalah jumlah variabel berbeda dalam .Φ

Kyle Jones
sumber
-4

Jawaban yang benar adalah bahwa menentukan apakah suatu solusi ada dan menentukan suatu solusi secara komputasi berbeda. Tidak semua metode untuk menentukan apakah solusi ada dapat menghasilkan solusi. Ada solusi untuk masalah Jalur Hamilton yang dapat menentukan apakah ada jalur tetapi tidak dapat menghasilkan jalur tersebut. Yang mengatakan pertanyaan dibuat diperdebatkan oleh arxiv.org/abs/cs/0205064.

George
sumber