Dịch SAT sang HornSAT


26

Có thể dịch một công thức boolean B thành một tổ hợp tương đương của mệnh đề Horn không? Bài viết trên Wikipedia về HornSAT dường như ngụ ý rằng nó là như vậy, nhưng tôi không thể theo đuổi bất kỳ tài liệu tham khảo nào.

Lưu ý rằng tôi không có nghĩa là "trong thời gian đa thức", mà là "tất cả".


1
"Dịch" nghĩa là gì? Rõ ràng có những trường hợp SAT không thể được viết dưới dạng công thức HornSAT. Chẳng hạn, mệnh đề (p hoặc q). Nhưng có lẽ bạn muốn nói rằng bạn muốn giảm sao cho công thức SAT đầu vào là thỏa đáng nếu công thức HornSAT đầu ra là thỏa đáng? Trong trường hợp đó, tất nhiên, việc giảm đáng kể vì bạn không quan tâm đến hiệu quả ...
arnab

Tôi không có nghĩa là không hài lòng, vì đó thực sự là tầm thường mà không có hạn chế về hiệu quả. Ý tôi là tương đương như trong "có cùng các bài tập thỏa mãn" khi chúng ta xem xét các biến chung cho cả thể hiện SAT và thể hiện HornSAT tương ứng (nếu chúng ta phải thêm một số biến phụ trợ, chúng ta sẽ chiếu chúng ra). Tôi đồng ý rằng điều đó là không thể, chính xác là ví dụ (P v Q), nhưng tôi không biết làm thế nào để chứng minh điều đó. Bạn có một bản phác thảo bằng chứng trong tâm trí?
Evgenij Thorstensen

3
Câu hỏi vẫn còn mơ hồ. Bạn có thể giải thích những gì bạn có nghĩa là "chiếu chúng ra"? Bạn có nghĩa là "gán A thỏa mãn thể hiện SAT F iff có gán B cho các biến phụ sao cho (A, B) thỏa mãn đối tượng HornSAT F '" không? Nếu vậy, thì tôi nghĩ bạn có thể làm điều đó bằng cách đơn giản là sử dụng tính đầy đủ P của HornSAT.
Ryan Williams

Câu trả lời:


24

Không. Các điều khoản của các mệnh đề Sừng thừa nhận các mô hình Herbrand ít nhất, không liên quan đến các nghĩa đen tích cực. Cf. Lloyd, 1987, Cơ sở lập trình logic .

Các mô hình Least Herbrand có tài sản mà chúng nằm trong giao điểm của tất cả các thỏa mãn. Các mô hình Herbrand cho là , không chứa giao điểm của nó, như arnab nói, là một ví dụ về công thức không thể biểu thị dưới dạng kết hợp của mệnh đề Sừng.{ { a } , { b } , { a , b } } ( a b )(ab){{a},{b},{a,b}}(ab)

Câu trả lời sai được ghi đè


Thông minh, nhưng mệnh đề -a_1 & ... & -a_n -> # không phải là mệnh đề Horn.
Evgenij Thorstensen

@Evgenij: Nó là.
Radu GRIGore

4
Mệnh đề sừng là một sự phân biệt của các chữ có nhiều nhất là một nghĩa đen. Dịch từ trên sang phân biệt chữ, chúng ta có a_1 v ... v a_n, với tất cả các chữ đều dương. Điều khoản trên là dual-Horn, nhưng điều đó không giúp tôi quan tâm.
Evgenij Thorstensen

@rgrig: Không, tôi đã nhầm lẫn. @Evgenij: Trả lời cố định.
Charles Stewart

5

Sự hài lòng có thể đạt được theo cách sau (giảm từ 2SAT xuống HornSAT). Vì vậy, cũng có thể được giảm đến một công thức Horn theo cách này. Cảm ơn Joshua Gorchow đã chỉ ra sự giảm này.(pq)

Input: A 2-SAT công thức , với khoản C 1 , ..., C k vào biến x 1 , ..., x n .ϕC1Ckx1xn

Xây dựng công thức Horn như sau:Q

Sẽ có 4 ( n chọn 2 ) + 2 n + 1 biến mới, một biến cho mọi mệnh đề 2-cnf có thể có trên các biến x có nhiều nhất là 2 chữ ( Không chỉ các mệnh đề C i trong ϕ ) - đây là bao gồm các điều khoản đơn vị và mệnh đề rỗng .. các biến mới tương ứng với một điều khoản D sẽ được biểu thị bởi z D .×n2+2n+1xCiϕDzD

4 ( n chọn 2 ) xuất phát từ thực tế là mỗi cặp ( x i , x j ) tạo ra bốn mệnh đề 2-cnf. Các 2 n xuất phát từ thực tế là mỗi x i có thể tạo ra 2 điều khoản đơn vị. Và cuối cùng, "một" xuất phát từ mệnh đề trống .. Vậy tổng số mệnh đề 2-cnf có thể là = 4 × ( n chọn 2 ) + 2 n + 1 .×n2(xi, xj)2nxi=×n2+2n+1

Nếu một điều khoản 2-CNF sau từ hai mệnh đề 2-CNF khác DE bởi một bước giải quyết duy nhất, sau đó chúng ta thêm mệnh đề Horn ( z Dz Ez F ) để Q ... Một lần nữa, chúng ta làm điều này cho tất cả các thể khoản 2-CNF - tất cả 4 × ( n chọn 2 ) + 2 n + 1 trong số họ - không chỉ các C i .FDE(zDzEzF)Q×n2+2n+1Ci

Sau đó chúng ta thêm các điều khoản đơn vị đến Q , đối với mỗi khoản C i xuất hiện trong đầu vào φ ... Cuối cùng, chúng tôi thêm mệnh đề đơn vị ( ¬ z e m p t y ) để Q .zCiQCiϕ(¬zempty)Q

Công thức Horn hiện đã hoàn tất. Nhận thấy rằng các biến được sử dụng trong Q là hoàn toàn khác với những gì được sử dụng trong φ .QQϕ


Có ai biết một thuật toán theo hướng khác không? Với một công thức Horn , là có một phương pháp để có được một 2SAT tương đương (2CNF) biểu φ 2 , do đó φ 1 là satisfiable nếu và chỉ nếu φ 2 là? Sử dụng cùng một bộ biến, hoặc sử dụng các biến phụ hoặc sử dụng một bộ biến hoàn toàn khác (như được thực hiện trong câu trả lời ở trên)? Hoặc một bằng chứng rằng điều này là không thể? ϕ1ϕ2ϕ1ϕ2
Martin Seymour

2

ϕ=(X1X2¬X3¬X4)ϕ

Chỉnh sửa: oops không nhận thấy điều này đã được trả lời

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.