Chuyển đổi một CNF thành 3-CNF tương đương được xác định trên cùng một biến


8

(Tôi đã đăng câu hỏi này trên CS mười ngày trước, không có câu trả lời kể từ đó - vì vậy tôi đăng nó ở đây.)

Bất kỳ công thức CNF nào cũng có thể được chuyển đổi trong thời gian đa thức thành công thức 3-CNF bằng cách sử dụng các biến mới. Không phải lúc nào cũng có thể nếu các biến mới không được phép (ví dụ: công thức mệnh đề đơn: ).(x1x2x3x4)

Hãy xác định vấn đề (SAT đến 3-SAT): Cho , một công thức CNF. Có thể chuyển đổi thành 3-CNF tương đương được xác định trên cùng các biến như không? - trong đó "tương đương" có nghĩa là với cùng một bộ mô hình.FFF

Sự phức tạp của vấn đề này là gì?


Bằng cách tương đương, bạn có nghĩa là thỏa đáng, tôi giả sử?
Jan Johannsen

1
Thay vào đó, "với cùng một bộ mô hình".
Xavier Labouze

biến đổi fyi tseitin là tên của biến đổi từ -SAT sang 3-SAT bằng cách sử dụng các bình phụ. có vẻ như câu hỏi của bạn giống như hỏi về sự tồn tại của thuật toán nén cho SAT. có vẻ như bạn muốn các giải pháp tương tự bằng cách rút ngắn các mệnh đề thành 3 hoặc ít hơn các biến. từ EE, điều này có liên quan đến việc liệt kê tất cả các tiểu hạng và tìm các bìa tối thiểu và hỏi xem có tồn tại nào phù hợp với tiêu chí không (trong trường hợp này là tất cả các mệnh đề 3 hoặc ít hơn các vars). nó dường như có độ phức tạp cao n
vzn

Có lẽ đó là đồng NP-đầy đủ: chọn công thức 3CNF , xây dựng công thức mới với 4 biến mới . có công thức tương đương 3CNF trên cùng một biến khi và chỉ khi không thỏa đáng. φ=C1...Cnφ=(y1y2y3y4)C1...Cny1,...,y4φφ
Marzio De Biasi

@MarzioDeBiasi. Đẹp ! Tuy nhiên, tôi không chắc rằng nó đủ để chứng minh sự hoàn thiện của đồng NP (bằng cách nào đó, tôi mong đợi một sự tương hợp cao hơn nhưng nó chỉ là một trực giác ...)
Xavier Labouze

Câu trả lời:


6

(Từ nhận xét trên) Vấn đề có vẻ coNP-hard; mức giảm đơn giản là từ 3CNF-UNSAT (hoàn thành coNP): đưa ra công thức 3CNF , mở rộng thêm mệnh đề mới với 4 biến mới:φ=C1...Cm

φ=(y1y2y3y4)C1...Cm

φφ có công thức 3CNF tương đương được xác định trên cùng một biến khi và chỉ khi công thức gốc không thỏa mãn.φ

( ) công thức 3CNF tương đương với( y 1y 2y 3 ) ( y 1y 2y 4 ) C 1. . . C m φ '(y1y2y3)(y1y2y4)C1...Cmφ

( ) giả sử rằng có công thức 3CNF tương đương và là thỏa đáng. Chọn một phép gán thỏa mãn của và đơn giản hóa cả và thay thế các biến bằng sự thật tương ứng giá trị . Chúng tôi nhận được là thỏa đáng khi và chỉ khi là thỏa đáng (cả hai chỉ chứa các biến ). Rõ ràngφφφX=x˙1,...,x˙nφφφxix˙iφXφXyiφX=(y1y2y3y4). Mỗi mệnh đề của chứa tối đa ba biến, vì vậy chúng tôi có thể chọn một trong số chúng, ví dụ: và sử dụng nó để xây dựng một phép gán thỏa mãn cho : không phải là một nhiệm vụ thỏa mãn cho , dẫn đến a mâu thuẫn.φX(y1¬y2y3)φy1=false,y2=true,y3=false,y4=true,x˙1,...,x˙nφ


Tks cho câu trả lời. Tôi không nhận được : Tôi đã nói rằng nếu thỏa mãn thì , khi đó tương đương với mệnh đề trống (kích thước 0). Đối với ), chỉ cần suy nghĩ nếu , thì tương đương với ...()φφ(φ=(x¬x)(y1y2y3y4)(x¬x)(y1y2x)(y3y4¬x)
Xavier Labouze

@XavierLabouze: có có vẻ tốt hơn. Trong ( tôi giả sử rằng có 3CNF tương đương , và sau đó rút ra một mâu thuẫn từ giả định rằng ban đầu là thỏa đáng. Bạn có nghĩ nó sai không? ())φφ
Marzio De Biasi

Bạn nói đúng - tôi đã sai trong đó nêu có cùng một tập các mô hình như . (y1y2y3y4)(x¬x)(y1y2x)(y3y4¬x)
Xavier Labouze

Bạn có để ý rằng bằng với không? Bạn có thể giải thích điều này không: "Chúng tôi nhận được có thể thỏa đáng khi và chỉ khi là thỏa đáng", hơn là bạn đang thêm "(cả hai chỉ chứa các biến )", làm sao bạn có thể chắc chắn rằng chúng sẽ chỉ chứa ? Ngoài ra tôi không hiểu kết luận, bạn đã chứng minh rằng việc thêm 4 mệnh đề biến vào 3-cnf từ cùng một biến là coNP-Complete? (y1y2y3)(y1y2y4)(y1y2)(y3y4)φXφXyiyi
Ilya Gazman

1
φ1=(y1y2y3)(y1y2y4) không tương đương nhau nhưng chúng không tương đương nhau bộ mô hình): y1 = F, y2 = F, y3 = T, y4 = T là mô hình hợp lệ cho nhưng không phải cho . Trong câu hỏi chúng ta đang nói về các công thức tương đương. Bằng chứng dựa trên thực tế là không thể có cùng một bộ mô hình của bất kỳ công thức 3CNF nào. φ2=(y1y2)(y3y4)φ1φ2(y1y2y3y4)
Marzio De Biasi
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.