Buktikan NP-kelengkapan memutuskan kepuasan formula monoton boolean

12

Saya mencoba menyelesaikan masalah ini dan saya benar-benar berjuang.

Sebuah monoton rumus boolean adalah formula dalam logika proposisional mana semua literal positif. Sebagai contoh,

(x1x2)(x1x3)(x3x4x5)

adalah fungsi boolean monoton. Di sisi lain, sesuatu seperti

(x1x2x3)(¬x1x3)(¬x1x5)

bukan fungsi boolean monoton.

Bagaimana saya bisa membuktikan kelengkapan NP untuk masalah ini:

Tentukan apakah fungsi boolean monoton memuaskan jika variabel atau kurang ditetapkan ke 1 ?k1

Jelas, semua variabel bisa saja ditetapkan menjadi positif, dan itu sepele, jadi itu sebabnya ada pengekangan variabel set positif .k

¬x1z1x1z1

nat
sumber
Selamat datang! Harap lebih berhati-hati dengan bahasa dan pemformatan.
Raphael

Jawaban:

12

k

Pembatasan terhadap formula monoton ternyata sangat mudah untuk menunjukkan kekerasan, Anda hanya perlu menyelesaikan masalah di luar kepuasan sejenak. Alih-alih mencoba memodifikasi instance SAT, kami malah mulai dengan Dominating Set (DS).

Lihat apakah Anda bisa mendapatkannya dari sana. Lebih banyak ada di spoiler, dipecah menjadi bit, tetapi hindari jika Anda bisa. Saya tidak akan menunjukkan keanggotaan di NP, Anda seharusnya tidak memiliki masalah dengan itu.

(G,k)kG(ϕ,k)ϕ

Konstruksi dasar:

vV(G)vvar(ϕ)vV(G)cv=uN(v)u

Sebuah sketsa bukti:

kkϕkcvv

Luke Mathieson
sumber
Wow ini jauh lebih masuk akal, terima kasih! Saya pikir saya benar-benar terjebak dalam upaya mengurangi SAT menjadi formula boolean monoton.
nat
Saya juga melihat bahwa kita juga dapat mengurangi penutup simpul ke rumus boolean monoton.
nat
1
k
Saya pikir pendekatan yang persis sama bekerja dengan cakupan vertikel.
Haskell Fun
@HaskellFun, saya memikirkan hal ini juga. Penutup vertex sama dengan monoton Min-W2SAT.
rus9384
2

zi¬xiϕϕ¬xizixizikϕϕkxiziϕkk

David
sumber