Mengapa 2SAT dalam P?

55

Saya telah menemukan algoritma polinomial yang memecahkan 2SAT. Saya menemukan itu mengejutkan bahwa 2SAT ada di P di mana semua (atau banyak lainnya) dari instance SAT adalah NP-Complete. Apa yang membuat masalah ini berbeda? Apa yang membuatnya sangat mudah (Lengkap-NL - bahkan lebih mudah daripada P)?

Orang
sumber
18
Mengapa orang berpikir ini pertanyaan yang sangat buruk?
Peter Shor
12
Salah satu aspek yang menarik adalah bahwa jika Anda ingin mengetahui jumlah maksimum klausa yang memenuhi syarat secara bersamaan dalam ekspresi 2SAT (yaitu Max2SAT) maka Anda kembali ke NP-complete lagi.
Shaun Harker
11
Ini adalah pertanyaan yang mengerikan, karena tidak memiliki jawaban yang berguna, atau pertanyaan yang fantastis, karena satu-satunya jawaban yang benar adalah "tidak ada yang tahu".
Jeffε
12
Silakan baca makalah "Kompleksitas masalah kepuasan: Menyempurnakan teorema Schaefer".
Diego de Estrada
3
Dear Guy, fakta bahwa 2SAT ada di P tercakup di hampir setiap buku teks kompleksitas standar, jadi ketika Anda mengatakan bahwa Anda baru saja memperhatikan fakta ini membuat pertanyaannya tampak seperti Anda bahkan belum membaca buku teks standar dalam kompleksitas.
Kaveh

Jawaban:

88

Berikut adalah penjelasan intuitif dan bersahaja lebih lanjut di sepanjang baris jawaban MGwynne.

Dengan -SAT, Anda hanya dapat mengekspresikan implikasi dari bentuk , di mana dan adalah literal. Lebih tepatnya, setiap klausul dapat dipahami sebagai pasangan implikasi: dan . Jika Anda menetapkan true, harus benar juga. Jika Anda mengatur ke false, harus salah. Implikasi seperti itu sangat mudah: tidak ada pilihan, Anda hanya punya2abab2l1l2¬l1l2¬l2l1abba1kemungkinan, tidak ada ruang untuk multiplikasi kasus. Anda bisa mengikuti setiap rantai implikasi yang mungkin, dan melihat apakah Anda pernah memperoleh keduanya dari dan dari : jika Anda melakukannya untuk beberapa , maka rumus 2-SAT tidak memuaskan, jika tidak memuaskan. Ini adalah kasus bahwa jumlah rantai implikasi yang mungkin secara polinomi dibatasi dalam ukuran formula input.¬lll¬ll

Dengan -SAT, Anda dapat mengekspresikan implikasi dari bentuk , di mana , dan adalah literal. Sekarang Anda berada dalam kesulitan: jika Anda mengatur true, maka baik atau harus benar, tapi yang mana? Anda harus membuat pilihan: Anda memiliki 2 kemungkinan. Di sinilah multiplikasi kasus menjadi mungkin, dan di mana ledakan kombinatorial muncul.3abcabcabc

Dengan kata lain, -SAT mampu mengekspresikan keberadaan lebih dari satu kemungkinan, sedangkan -SAT tidak memiliki kemampuan seperti itu. Justru adanya lebih dari satu kemungkinan ( kemungkinan dalam kasus -SAT, kemungkinan dalam kasus -SAT) yang menyebabkan ledakan kombinatorial tipikal dari masalah NP-complete.3223k1k

Giorgio Camerani
sumber
6
Saya berharap saya bisa lebih memilih ini lagi! Jawaban yang jauh lebih baik!
MGwynne
5
@MGwynne: Terima kasih atas komentar Anda yang sangat baik. Sama-sama, dan jawaban Anda memang sangat bagus!
Giorgio Camerani
8
Ini adalah jawaban yang bagus untuk pertanyaan yang bagus (IMHO). Seperti yang ditulis oleh Mac Lane: "Manipulasi formal yang efektif atau rumit diperkenalkan oleh para matematikawan yang tidak diragukan memiliki ide panduan --- tetapi lebih mudah untuk menyatakan manipulasi daripada merumuskan ide dalam kata-kata. ... Sebuah eksposisi yang cerdas dari sebuah karya Matematika memungkinkan ide-ide bersinar melalui tampilan manipulasi. " Pertanyaan dan jawaban khusus ini membantu "ide-ide bersinar" (untuk saya). Terima kasih! :)
John Sidles
4
@ John: Terima kasih kembali! ;-) Banyak terima kasih atas komentar Anda yang luar biasa dan murah hati, saya sangat menghargainya. Saya sangat setuju dengan kata-kata Mac Lane.
Giorgio Camerani
Menurut jawaban Giorgio Camerani, ini tidak berguna untuk mengurangi masalah NP menjadi 3SAT jika Anda memperkenalkan lebih banyak variabel dummy boolean, memiliki lebih banyak klausa dan tidak memiliki untung maupun untung, tetapi lebih disukai untuk menguranginya menjadi CNF SAT atau kepuasan boolean atau Sirkuit SAT sebagai gantinya, karena dalam masalah ini Anda memiliki variabel boolean yang lebih rendah dan klausa yang lebih rendah dan itu berarti bahwa algoritma brute force naif, peta karnaugh, dan algoritma Quine-McClusky memiliki kompleksitas yang lebih baik: D.
Perpisahan Perpisahan Bursa
31

Pertimbangkan resolusi pada formula 2-SAT. Setiap resolusi berukuran maksimal 2 (perhatikan bahwa jika untuk klausa panjang dan resp). Jumlah klausa ukuran 2 adalah kuadratik dalam jumlah variabel. Oleh karena itu, algoritma resolusi dalam P.n+m22n,m2nm

Setelah Anda mendapatkan 3-SAT Anda bisa mendapatkan resolusi yang lebih besar dan lebih besar, jadi semuanya berjalan :) berbentuk pir.

Coba terjemahkan masalah ke dalam 2-SAT. Karena Anda tidak dapat memiliki klausa ukuran 3, Anda tidak dapat (secara umum) menyandikan implikasi yang melibatkan 3 variabel atau lebih, misalnya bahwa satu variabel adalah hasil dari operasi biner pada dua lainnya. Ini adalah batasan yang sangat besar.

MGwynne
sumber
3
"Anda tidak dapat menyandikan hal-hal seperti implikasi" - IMP-SAT juga dalam P (dan saya pikir NL)
Max
8
pq hanyalah . ¬pq
Kaveh
1
Kaveh, poin bagus, diperbaiki sekarang.
MGwynne
Seperti yang saya katakan sudah ketika Anda telah mengurangi masalah NP sewenang-wenang Anda baik Boolean satisfiability atau Circuit SAT atau CNF SAT, jangan tidak mengurangi masalah untuk 3SAT, karena masalah menjadi lebih sulit dan kompleks dengan variabel yang lebih boolean dan klausa. Bahkan algoritma resolusi menjadi kurang efisien dalam masalah baru!
Perpisahan Perpisahan Bursa
20

Seperti kata Walter, klausa 2-SAT memiliki bentuk khusus. Ini dapat dimanfaatkan untuk mencari solusi dengan cepat.

Sebenarnya ada beberapa kelas instance SAT yang dapat diputuskan dalam waktu polinomial, dan 2-SAT hanyalah salah satu dari kelas yang dapat ditelusuri ini . Ada tiga macam alasan untuk keterlacakan:

  1. (Penelusuran struktur) Setiap kelas dari instance SAT di mana variabel-variabel berinteraksi dengan cara yang mirip pohon dapat diselesaikan dalam waktu polinomial. Derajat polinomial tergantung pada lebar maksimum instance di kelas, di mana lebar mengukur seberapa jauh instance dari menjadi pohon. Lebih tepatnya, Marx menunjukkan bahwa jika instance telah membatasi lebar submodular, maka kelas dapat diputuskan dalam waktu polinomial menggunakan pendekatan divide-and-conquer.

  2. (Keterlacakan bahasa) Setiap kelas dari instance SAT di mana pola variabel true-false adalah "bagus", dapat diselesaikan dalam waktu polinomial. Lebih tepatnya, pola literal mendefinisikan bahasa hubungan, dan Schaefer mengklasifikasikan enam bahasa yang mengarah pada kemampuan penelusuran, masing-masing dengan algoritma sendiri. 2-SAT membentuk salah satu dari enam kelas Schaefer.

  3. (Penelusuran hibrid) Ada juga beberapa kelas instance yang tidak termasuk dalam dua kategori lainnya, tetapi dapat diselesaikan dalam waktu polinomial dengan alasan lain.

    • Dániel Marx, properti hypergraph yang dapat dilacak untuk kepuasan kendala dan pertanyaan konjungtif , STOC 2010. ( doi , pracetak )
    • Thomas J. Schaefer, Kompleksitas masalah kepuasan , STOC 1978. ( doi )
András Salamon
sumber
2
Ada juga argumen yang didasarkan pada struktur ruang solusi dari literatur k-SAT acak yang dapat digunakan untuk menjelaskan perbedaannya.
Kaveh
3
@ Kaveh: deskripsi saya tentang keterlacakan hibrid seharusnya cukup samar untuk mencakup hal-hal seperti itu. Misalnya, untuk jenis kejadian yang sangat khusus, seseorang dapat membuat argumen untuk kepuasan berdasarkan pada Lovász Local Lemma. Lihat survei tahun 1997 oleh Pearson dan Jeavons: cs.ox.ac.uk/publications/publication1610-abstract.html
András Salamon
3
Perhatikan juga bahwa SAT adalah kasus khusus dari masalah kepuasan kendala di mana setiap variabel dapat mengambil 2 nilai. Ketika variabel dapat mengambil 3 nilai, ada 10 kelas bahasa yang bisa ditelusuri , diklasifikasikan oleh Andrei Bulatov: cs.sfu.ca/~abulatov/papers/3-el-journal.ps Kelas hybrid juga lebih menarik untuk domain yang lebih besar.
András Salamon
10

Jika Anda memahami algoritme untuk 2SAT, Anda sudah tahu mengapa itu ada di P - inilah yang ditunjukkan oleh algoritme. Saya pikir komik ini menggambarkan maksud saya. Seperti yang sudah Anda ketahui mengapa 2SAT ada di P, yang mungkin ingin Anda ketahui adalah mengapa 2SAT tidak NP-hard.

Untuk memahami mengapa 2SAT tidak NP-keras, Anda harus mempertimbangkan betapa mudahnya untuk mengurangi masalah lain di NP untuk itu. Untuk mendapatkan pemahaman intuitif tentang ini, lihat bagaimana SAT dapat dikurangi menjadi 3SAT dan cobalah menerapkan teknik yang sama untuk mengurangi SAT menjadi 2SAT. 2SAT tidak ekspresif seperti 3SAT dan varian SAT lainnya.

Dave
sumber