Saya telah melihat bagaimana XOR-3-SAT dapat dipecahkan secara efisien (misalnya, lihat bagian "XOR-satisfiability" di entri Wikipedia untuk masalah kepuasan Boolean ).
Saya bertanya-tanya pertanyaan mendasar: Apakah XOR-k-SAT efisien dipecahkan, untuk formula dengan jumlah liter yang berbeda per klausa?
Saya benar-benar ingin tahu apakah kita dapat meningkatkan jumlah literal per klausa melebihi 3, dan jika kita dapat memiliki panjang klausa campuran.
complexity-theory
satisfiability
Matt Groff
sumber
sumber
Jawaban:
Sepertinya artikel Wikipedia yang Anda tautkan mengatakan bahwa XORSAT (bukan hanya 3-XORSAT) ada dalam P. Metode yang digunakan untuk menyelesaikan rumus 3-XORSAT dalam contoh mereka sangat mudah digeneralisasikan ke rumus di mana klausa dapat secara sewenang-wenang sejumlah besar variabel dan jumlah variabel yang berbeda.
Anda cukup melihat rumus sebagai sistem persamaan linear di mana Anda memiliki persamaan untuk setiap klausa, dan variabel untuk setiap variabel. Misalnya, rumusnya:
memiliki penugasan yang memuaskan jika dan hanya jika sistem persamaan berikut memiliki solusi:
Dan kita dapat menemukan solusi untuk sistem persamaan linear seperti ini dalam waktu polinomial menggunakan eliminasi Gaussian!
sumber
Iya. Ini dipecahkan dengan eliminasi Gaussian. Eliminasi gaussian dapat menyelesaikan sistem persamaan apa pun yang modulo linier. XOR bertindak sebagai modulo 2 tambahan, sehingga setiap klausa XOR-SAT bertindak sebagai modulo persamaan linier 2. Akibatnya, eliminasi Gaussian dapat menyelesaikan setiap rumus XOR-k-SAT atau rumus XOR-SAT apa pun, bahkan jika ada sejumlah literal yang berbeda per klausa atau panjang klausa campuran, dalam waktu polinomial.
sumber