Apakah 1-in-3 SAT tetap NP-keras bahkan jika setiap variabel terjadi positif dan negatif?

9

Masalah standar 1-in-3 SAT (atau XSAT atau X3SAT) adalah:
Instance : rumus CNF dengan setiap klausa yang mengandung tepat 3 liter
Pertanyaan : apakah ada pengaturan penugasan yang memuaskan tepatnya 1 liter per klausa benar?

Masalahnya adalah NP-lengkap dan tetap sulit bahkan jika tidak ada variabel yang dinegasikan. Saya bertanya-tanya apakah masalah ini menjadi mudah atau tetap sulit jika setiap variabel diharuskan untuk muncul setidaknya satu kali secara positif dan setidaknya satu kali secara negatif .

Pengurangan biasa dari 3SAT menunjukkan bahwa 1-in-3 SAT sulit menggantikan klausa dengan klausa ( ¬ x a b ) , ( y b c ) , ( ¬ z c d ) di mana a , b , c , d(xyz)(¬xab)(ybc)(¬zcd)a,b,c,dsegar untuk setiap klausa. Dengan demikian, pengurangan ini tidak membantu dalam menjawab pertanyaan saya. Saya mengalami masalah dengan gadget yang menunjukkan kekerasan varian ini, karena jika tepat 1 literal dalam klausa benar, maka 2 liter yang non-simetris adalah salah. Jika ternyata mudah, berpikir dalam hal partisi set klausa mungkin bisa melakukannya, tetapi saya tidak bisa melihat caranya.

Dominik Peters
sumber
Bisakah dikurangi menjadi 2 sat?
Joshua Herman
4
Xi(XiX¯iW)(XiX¯iY)(XiX¯iZ)(WYZ¯)
(W¯YZ)(WY¯Z)XiX¯i
3
Bolehkah saya mendorong Anda untuk menulis jawaban lengkap untuk pertanyaan Anda sendiri, mungkin berdasarkan ide Neal young? (Kebetulan, saya tidak yakin mengapa itu "tidak memuaskan". Pengurangan adalah pengurangan.)
DW
4
Jika kasus khusus itu adalah yang benar-benar Anda pedulikan, maka mungkin masuk akal untuk mengedit pertanyaan Anda untuk mencerminkan kendala ekstra itu?
DW

Jawaban:

2

Dalam komentar, OP menyatakan minatnya pada pengurangan yang menghasilkan contoh dengan 3 variabel berbeda per klausa. Inilah pendekatan sederhana:

Pengurangannya dari 1-in-3 SAT dengan 3 variabel berbeda per klausa:

  • Pertama-tama, sertakan semua klausa dalam formula input sebagai klausa dalam formula output.
  • F1F2F3(¬F1,F2,F3)(F1,¬F2,F3)(F1,F2,¬F3)
  • xx(x,x,F1)(¬x,¬x,F1)

Mari kita verifikasi bahwa pengurangan ini melakukan apa yang kita inginkan. Properti berikut adalah yang kami inginkan:

  1. Setiap klausa selalu memiliki tiga variabel berbeda.
  2. Setiap variabel terjadi dalam beberapa klausa secara positif dan dalam beberapa klausa negatif.
  3. Rumus input setara dengan rumus output.

F1F2F3

F1F2F3FiF1(x,x,F1)(¬x,¬x,F1)x=¬xxxxFi

Mikhail Rudoy
sumber