MIN-2-XOR-SAT dan MAX-2-XOR-SAT: apakah mereka NP-hard?
13
Apa kompleksitas dari dan ? Apakah mereka dalam P? Apakah ini NP-hard?MIN-2-XOR-SATMAX-2-XOR-SAT
Untuk memformalkan ini lebih tepat, biarkan
Φ(x)=∧niCi,
di mana dan setiap klausa adalah dalam bentuk atau .x=(x1,…,xm)Ci(xi⊕xj)(xi⊕¬xj)
Masalah adalah untuk menemukan tugas untuk yang memenuhi . Masalah ini ada di , karena sesuai dengan sistem persamaan linear mod .2-XOR-SATxΦP2
Masalah adalah untuk menemukan tugas ke yang memaksimalkan jumlah klausa yang dipenuhi. Masalah adalah untuk menemukan tugas ke yang meminimalkan jumlah klausa yang dipenuhi. Apa kompleksitas masalah ini?MAX-2-XOR-SATxMIN-2-XOR-SATx
Masalah menentukan apakah instance MONOTONE-2-XOR-SAT (semua klausa sejenis ) memuaskan dapat direduksi menjadi masalah menentukan apakah grafik bipartit, lihat ini .( xsaya⊕ xj)
Untuk melakukan itu kita membuat grafik dengan simpul untuk setiap literal rumus dan kita menghubungkan setiap literal dengan yang lain jika mereka berada di klausa yang sama (edge adalah klausa)G
Contohnya:
Jika kita memiliki rumus yang tidak memuaskan yaitu ( x1⊕ x2) ∧ ( x1⊕ x3) ∧ ( x2⊕ x3) ∧ ( x1⊕ x4)
Kami memiliki grafik seperti ini:
itu bukan bipartit
Ada tiga klausa yang memuaskan dan jadi kami hanya perlu menghilangkan kelebihan
Sekarang, kita dapat mengurangi masalah penentuan jika kita dapat menemukan subgraf bipartit maksimum dengan verteks untuk masalah menentukan apakah kita dapat memenuhi klausa k dalam rumus MONOTONE-MAX-2XOR-SAT, lihat ini . Dan masalah subgraph bipartit maksimum setara dengan max cutkk
Untuk melakukan reduksi, kita cukup membuat literal baru untuk setiap simpul dan kami membuat klausa untuk setiap sisi yang menghubungkan dua literal
Anda harus membuat implikasinya eksplisit: Karena MAX-CUT adalah NP-Hard, pengurangan ke MAX-XORSAT berarti bahwa itu juga NP-Hard.
Antimony
-1
Di mana setiap klausa hanya diberikan sebagai , buat simpul untuk setiap literal x i , buat tepi antara dua simpul jika ada hubungan XOR di antara mereka. Agar pernyataan x i ⊕ x j benar, itu harus memenuhi x i ≠ x j . Sekarang kita bisa mengadopsi masalah pewarnaan simpul (tidak ada dua simpul yang terhubung oleh tepi diberi warna yang sama, kami memiliki kendala tambahan 2 warna hanya jika kami ingin memenuhi persamaan). Klausa x i ⊕ x j( xsaya⊕ xj)xsayaxsaya⊕ xjxsaya≠ xjxsaya⊕ xj benar jika simpul yang sesuai telah diberi warna berbeda dalam grafik.
Jika semua simpul dari grafik dapat diwarnai menggunakan 2 warna dan tidak ada dari dua simpul dengan bagian tepi yang sama diberi warna yang sama maka persamaan tersebut memuaskan.
Tapi sebuah grafik 2-warna jika itu adalah grafik bipartit. Dan menentukan apakah suatu grafik adalah bipartit dapat dilakukan dalam waktu polinomial. Oleh karena itu masalahnya ada di P, karena jika kita dapat menentukan dalam waktu polinomial bahwa grafik tersebut adalah grafik bipartit maka dapat dipecahkan, jika tidak maka tidak dapat dipecahkan.
Ini membawa saya ke masalah yang lebih serius dengan jawaban Anda. Masalahnya bukan untuk menentukan apakah formula itu memuaskan; masalahnya adalah untuk mengidentifikasi tugas yang memenuhi jumlah maksimum / minimum dari klausa. Algoritme Anda hanya menguji apakah rumusnya memuaskan. Jadi, ini memecahkan 2-XOR-SAT, tetapi tidak menyelesaikan MIN-2-XOR-SAT atau MAX-2-XOR-SAT - tetapi saya sudah tahu bahwa 2-XOR-SAT dalam P, seperti yang dijelaskan dalam pertanyaan. Apakah saya salah mengerti sesuatu?
DW
xsaya⊕ xk
1
Tapi saya masih tidak melihat bagaimana ini menanggapi komentar kedua saya. Anda telah memecahkan kasus khusus masalah yang tidak saya tanyakan. Singkatnya, jawaban ini tidak menjawab pertanyaan yang saya ajukan.
Di mana setiap klausa hanya diberikan sebagai , buat simpul untuk setiap literal x i , buat tepi antara dua simpul jika ada hubungan XOR di antara mereka. Agar pernyataan x i ⊕ x j benar, itu harus memenuhi x i ≠ x j . Sekarang kita bisa mengadopsi masalah pewarnaan simpul (tidak ada dua simpul yang terhubung oleh tepi diberi warna yang sama, kami memiliki kendala tambahan 2 warna hanya jika kami ingin memenuhi persamaan). Klausa x i ⊕ x j( xsaya⊕ xj) xsaya xsaya⊕ xj xsaya≠ xj xsaya⊕ xj benar jika simpul yang sesuai telah diberi warna berbeda dalam grafik.
Jika semua simpul dari grafik dapat diwarnai menggunakan 2 warna dan tidak ada dari dua simpul dengan bagian tepi yang sama diberi warna yang sama maka persamaan tersebut memuaskan.
Tapi sebuah grafik 2-warna jika itu adalah grafik bipartit. Dan menentukan apakah suatu grafik adalah bipartit dapat dilakukan dalam waktu polinomial. Oleh karena itu masalahnya ada di P, karena jika kita dapat menentukan dalam waktu polinomial bahwa grafik tersebut adalah grafik bipartit maka dapat dipecahkan, jika tidak maka tidak dapat dipecahkan.
sumber