Chứng minh tính đầy đủ của NP trong việc quyết định sự thỏa mãn của công thức boolean đơn điệu


12

Tôi đang cố gắng giải quyết vấn đề này và tôi thực sự đang vật lộn.

Một công thức boolean đơn điệu là một công thức trong logic mệnh đề trong đó tất cả các nghĩa đen là tích cực. Ví dụ,

(x1x2)(x1x3)(x3x4x5)

là một hàm boolean đơn điệu. Mặt khác, một cái gì đó như

(x1x2x3)(¬x1x3)(¬x1x5)

không phải là một hàm boolean đơn điệu.

Làm cách nào để chứng minh tính đầy đủ của NP cho vấn đề này:

Xác định xem một hàm boolean đơn điệu có thỏa đáng hay không nếu biến hoặc ít hơn được đặt thành ?k1

Rõ ràng, tất cả các biến chỉ có thể được đặt thành dương, và đó là chuyện nhỏ, vì vậy đó là lý do tại sao có sự hạn chế của biến được đặt tích cực.k

Tôi đã thử giảm từ SAT sang công thức boolean đơn điệu. Một điều tôi đã cố gắng là thay thế một biến giả trong mỗi nghĩa đen. Ví dụ: tôi đã thử thay thế bằng và sau đó tôi đã thử buộc và thành các giá trị khác nhau. Tôi đã không hoàn toàn có thể làm cho điều này để làm việc mặc dù.z 1 x 1 z 1¬x1z1x1z1


Chào mừng bạn Hãy cẩn thận hơn với ngôn ngữ và định dạng.
Raphael

Câu trả lời:


12

"Phụ huynh" của vấn đề mà bạn đang tìm kiếm đôi khi được gọi là Mức độ hài lòng có trọng số (WSAT, đặc biệt là độ phức tạp được tham số hóa) hoặc Min-Ones (mặc dù đây thường là phiên bản tối ưu hóa, nhưng gần đủ). Những vấn đề này có giới hạn "tối đa biến được đặt thành đúng" là tính năng xác định của chúng.k

Hạn chế đối với các công thức đơn điệu thực sự dễ dàng đáng ngạc nhiên để thể hiện độ cứng cho, bạn chỉ cần điều ra bên ngoài các vấn đề thỏa đáng trong một thời điểm. Thay vì cố gắng sửa đổi một thể hiện SAT, thay vào đó chúng ta bắt đầu với Bộ thống trị (DS).

Xem nếu bạn có thể lấy nó từ đó. Nhiều hơn là trong các spoilers, chia thành các bit, nhưng tránh chúng nếu bạn có thể. Tôi sẽ không hiển thị thành viên trong NP, bạn sẽ không gặp vấn đề gì với điều đó.

Với một thể hiện của DS (tức là chúng ta muốn có một tập hợp kích thước thống trị nhiều nhất là k cho G ), chúng ta có thể xây dựng một thể hiện ( ϕ , k ) của WSAT trong đó công thức ϕ là công thức CNF đơn điệu:(G,k)kG(ϕ,k)ϕ

Cấu trúc cơ bản:

Đối với mỗi , chúng tôi có một biến v 'var ( φ ) , đối với mỗi v V ( G ) chúng tôi có một điều khoản c v = u N ( v ) u ' .vV(G)vvar(ϕ)vV(G)cv=uN(v)u

Một bản phác thảo của bằng chứng:

Mỗi đỉnh hoặc có được trong bộ chiếm ưu thế, hoặc có một người hàng xóm có nghĩa là, vì vậy nếu chúng ta có thể tìm thấy đỉnh hình thành nên một bộ thống trị, tương ứng k biến có thể được thiết lập là true trong φ , và mỗi khoản phải chứa ít nhất một trong số chúng. Tương tự nếu có một phép gán thỏa mãn trọng số k , các biến thực tương ứng với các đỉnh chúng ta đặt trong tập thống trị - mọi mệnh đề c v phải có ít nhất một, do đó, mỗi v bị chi phối (bởi chính nó hoặc cách khác).kkϕkcvv


Wow điều này có ý nghĩa hơn rất nhiều, cảm ơn bạn! Tôi nghĩ rằng tôi chắc chắn đã bị cuốn vào việc cố gắng giảm SAT xuống công thức boolean đơn điệu.
nat

Tôi cũng thấy rằng chúng ta cũng có thể giảm độ che phủ của đỉnh xuống công thức boolean đơn điệu.
nat

1
@nat thực sự, việc đi từ bìa đỉnh cũng rất hay vì nó cung cấp cho bạn một công thức trong 2CNF, điều này rất thú vị vì 2-SAT có trong P, nhưng WSAT đơn điệu với công thức 2CNF đã hoàn thành NP. Thật trùng hợp, bạn cũng có thể nhận được kết quả antimonotone (trong đó mọi biến bị phủ định, nhưng bạn muốn ít nhất biến thực) từ Clique / Bộ độc lập. Nếu bạn đặc biệt quan tâm, bạn có thể muốn xem xét Độ phức tạp tham số, trong đó các loại vấn đề thỏa mãn này đóng vai trò trung tâm. k
Luke Mathieson

Tôi nghĩ rằng chính xác cách tiếp cận tương tự làm việc với vùng phủ sóng.
Haskell Vui vẻ

@HaskellFun, tôi cũng nghĩ về điều này. Vỏ của Vertex giống như Min-W2SAT đơn điệu.
rus9384

2

Có một sự giảm bớt đơn giản từ SAT. Giới thiệu một biến mới đại diện cho ¬ x i . Với một công thức φ , chúng ta tạo ra một công thức mới φ ' bằng cách thay thế mỗi lần xuất hiện của ¬ x i với z i , và thêm mệnh đề x iz i cho mỗi biến. Chúng tôi đặt k là số lượng biến ban đầu. Công thức mới φ ' là đơn điệu, và là satisfiable với ít nhất biến k thiết lập là true nếu và chỉ nếu φ là satisfiable. (Điều này là do kzi¬xiϕϕ¬xizixizikϕϕkkhoản rời nhau gây ra bất kỳ assigment đáp ứng cho φ ' phải có ít nhất k biến True; nhưng sau đó, cách duy nhất để có tối đa k là có chính xác một trong số chúng được đặt thành đúng cho mỗi cặp {x_i, z_i}.)xiziϕkk

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.