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


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


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.