Hạt nhân đa thức cho -FLIP SAT trên công thức -CNF


10

Vấn đề tham số SAT k-FLIP được định nghĩa là:

Đầu vào: công thức 3-CNF với biến và phép gán đúng Tham số: Câu hỏi: chúng ta có thể chuyển đổi phép gán thành phép gán bão hòa cho lật giá trị thật của tối đa biến?n σ : [ n ] { 0 , 1 }φnσ:[n]{0,1}
k
σ ' φσσφ k

Vấn đề rõ ràng là ở FPT ( Stefan Szeider: Độ phức tạp tham số của k-Flip Tìm kiếm địa phương cho SAT và MAX SAT. Tối ưu hóa rời rạc 8 (1): 139-145 (2011) )

Liệu nó có thừa nhận một hạt nhân đa thức? (theo các giả định phức tạp hợp lý)

Các kỹ thuật thành phần chéo gần đây (xem Hans L. Bodlaender, Bart MP Jansen, Stefan Kratsch, "Kernelization Lower Bound By Cross-Creation" ) có vẻ không đáng tin cho vấn đề này. Và chúng cũng có vẻ không đáng tin cho các vấn đề tương tự hỏi liệu có thể tìm thấy giải pháp nhất định cho vấn đề NP-hard từ một trường hợp cụ thể bằng cách tìm kiếm cục bộ (giới hạn tìm kiếm cho các lân cận của trường hợp cụ thể, theo một số đo khoảng cách tự nhiên).


Thật tuyệt, nhưng tại sao vấn đề này rõ ràng là FPT? Nếu bạn làm cho nó 2-CNF với chính xác k biến lật thay vì nhiều nhất, thì tôi tin rằng vấn đề là tương đương fpt với k-clique. Tôi đã làm việc trên một bài báo bao gồm một số kết quả về các vấn đề chính xác.
Michael Wehar

Tôi nghĩ rằng nói rằng ở FPT có nghĩa là nó có thể giải quyết được trong thời gian . f(k)nO(1)
Michael Wehar

Tôi nghĩ rằng nói rằng nó trong XP có nghĩa là nó có thể giải quyết được trong thời gian . nf(k)
Michael Wehar

Tôi không biết mối quan hệ giữa vấn đề lật chính xác và vấn đề lật tối đa. Ban đầu tôi nghĩ rằng bạn đang nói vấn đề tối đa-k-flip dễ dàng hơn theo nghĩa là tối đa-k-flip là FPT. Tôi nói dễ hơn vì chính xác-k-flip không thể là FPT trừ khi ETH sai. Lý do cho điều này là vì nó tương đương với k-clique và người ta biết rằng thuật toán thời gian cho k-clique ngụ ý ETH là sai. f(k)nO(1)
Michael Wehar

1
@MichaelWehar: ops, bạn nói đúng (Tôi xóa bình luận đánh lừa sai), câu hỏi cần được đánh bóng (Tôi đã xác định vấn đề là "nhiều nhất là FLIPS"). Càng sớm càng tốt FPT cho các mệnh đề có kích thước giới hạn.
Marzio De Biasi

Câu trả lời:


12

Vấn đề không có nhân đa thức trừ khi NP nằm trong coNP / poly. Kỹ thuật thành phần chéo từ bài báo của chúng tôi áp dụng một cách không cần thiết.

Hãy để tôi chỉ cho bạn vấn đề Vertex Cover cổ điển HOẶC chéo kết hợp thành vấn đề k-FLIP-SAT; bởi các kết quả trong bài báo được trích dẫn, điều này là đủ. Cụ thể, chúng tôi xây dựng một thuật toán đa thức thời gian có đầu vào là một chuỗi các trường hợp Vertex Cover mà tất cả đều có chung giá trị của k và tất cả có chính xác n đỉnh. Đầu ra là một thể hiện của k -FLIP SAT với giá trị tham số là O ( k +(G1,k),(G2,k),,(Gt,k)knk , đủ nhỏ cho một thành phần chéo, sao choví dụ SAT k -FLIP có câu trả lời đúng nếu một trong các đồ thị đầu vào có nắp có kích thước k . Bằng cách sao chép một đầu vào (không thay đổi giá trị của OR), chúng tôi có thể đảm bảo rằng số lượng đầu vào t làlũythừa của hai.O(k+logt)kkt

Các thành phần tiến hành như sau. Số các đỉnh trong đồ thị dưới mỗi đồ thị đầu vào như v i , 1 , v i , 2 , ... , v i , n . Tạo một biến tương ứng trong ví dụ FLIP-SAT cho mỗi đỉnh của mỗi biểu đồ đầu vào. Ngoài ra, tạo một biến chọn u i cho mỗi số thể hiện đầu vào i [ t ] . Đối với mỗi đồ thị đầu vào G i , chúng tôi thêm một số mệnh đề vào công thức. Với mỗi cạnh { v i , xGivTôi,1,vTôi,2,Giáo dục,vTôi,nbạnTôiTôi[t]GTôi của đồ thị G i , thêm mệnh đề ( v i , xv i , y¬ u i ) công thức, mà sẽ mã hóa "hoặc là một trong những điểm cuối của cạnh này được thiết lập là true, hoặc ví dụ tôi không hoạt động ". Trong bài tập ban đầu, tất cả các biến đỉnh được đặt thành false và tất cả các biến chọn u i{vTôi,x,vTôi,y}GTôi(vTôi,xvTôi,y¬bạnTôi)TôibạnTôiđược đặt thành false, để các mệnh đề này được thỏa mãn. Để xây dựng hành vi OR vào thành phần, chúng tôi sẽ tăng công thức để đảm bảo rằng phép gán thỏa mãn đặt ít nhất một bộ chọn thành đúng và sau đó cũng phải tạo thành một đỉnh của đồ thị đã chọn.

Để đảm bảo chúng ta có thể thực hiện lựa chọn này trong khi vẫn giữ khoảng cách lật nhỏ so với số lượng đầu vào , chúng ta sử dụng cấu trúc của cây nhị phân hoàn chỉnh với các lá t , có chiều cao log t . Đánh số các lá từ 1 đến t và liên kết lá thứ i với biến u i điều khiển nếu đầu vào i có hoạt động hay không. Tạo một biến mới cho mỗi nút nội bộ của cây nhị phân. Đối với mỗi nút bên trong, hãy để biến tương ứng của nó là x và các biến của hai con của nó là yz . Thêm mệnh đề (ttđăng nhậpt1tTôibạnTôiTôixyz theo công thức nắm bắt hàm ý ( x ( y z ) ) , cho rằng x chỉ có thể đúng nếu một trong các con của nó là đúng. Để hoàn thành công thức, thêm một mệnh đề singleton nói rằng biến của nút gốc của cây nhị phân phải đúng. Trong phép gán chân lý ban đầu, các giá trị của tất cả các biến cho các nút bên trong được đặt thành false, thỏa mãn tất cả các mệnh đề của công thức ngoại trừ mệnh đề singleton yêu cầu nút gốc của cây phải có biến đúng.(¬xyz)(x(yz))x

Điều này hoàn thành mô tả của công thức và phân công sự thật. Cài đặt thông số của vấn đề FLIP khoảng cách đến bằng ( k + log t + 1 ) , mà là phù hợp bao bọc cho một cross-phần. Nó vẫn còn để chứng tỏ rằng chúng ta có thể lật k ' biến để pha sữa đúng khi và chỉ khi một số đầu vào đồ thị G i có nắp đỉnh của kích thước k .k'(k+đăng nhậpt+1)k'GTôik

Theo hướng ngược lại, giả sử rằng có nắp đỉnh kích thước- k . Đặt các biến k tương ứng với các đỉnh k trong bìa thành true bằng cách lật chúng. Đặt biến chọn u i thành true để mã hóa đầu vào i được kích hoạt và lật các biến của các nút cây nhị phân bên trong log t trên đường dẫn của lá i đến gốc thành true. Nó rất dễ dàng để xác minh rằng đây là một nhiệm vụ đáp ứng: những tác động trong cây nhị phân đều hài lòng, giá trị nút gốc được thiết lập là true, các điều khoản mà cạnh kiểm tra của G i ' cho tôiGTôikkkbạnTôiTôiđăng nhậptTôiGTôi' vẫn hài lòng vì u i ' vẫn sai, trong khi các điều khoản cho đồ thị G i được hài lòng bởi vì đối với mỗi cạnh chúng tôi đặt ít nhất một thiết bị đầu cuối là true.Tôi'TôibạnTôi'GTôi

Đối với hướng chuyển tiếp, giả sử rằng công thức có thể được thỏa mãn bằng cách lật tối đa các biến . Sau đó, chúng ta phải lật biến của nút gốc thành đúng. Hàm ý trong cây nhị phân thực thi rằng ít nhất một biến chọn của lá được đặt thành đúng, giả sử u i . Để đáp ứng các hàm ý được mã hóa trong cây nhị phân, tất cả các nút bên trong trên đường dẫn từ u i đến gốc được đặt thành true, chiếm 1 + log t lật. Vì u i được đặt thành true, các mệnh đề được tạo cho biểu đồ G i không được thỏa mãn theo nghĩa đenk+đăng nhậpt+1bạnTôibạnTôi1+đăng nhậptbạnTôiGTôi , vì vậy họ hài lòng vì một trong những điểm cuối của mỗi cạnh của G i được đặt thành đúng. Vì ít nhất 1 + log t biến của cây nhị phân đã được lật, nên hầu hếtcác biến đỉnh k được lật thành đúng trong giải pháp này. Điều này mã hóa một đỉnh đỉnh có kích thước k trong G i và chứng minh rằng một trong những đầu vào là một thể hiện CÓ. Điều này hoàn thành bằng chứng.¬bạnTôiGTôi1+đăng nhậptkkGTôi


1
Bài viết này cho hậu quả mạnh mẽ hơn từ nén như vậy.

Cảm ơn!!! (Tôi ngay lập tức xóa "et al." Khỏi tham chiếu ;-). Bằng chứng tốt đẹp (IMO bạn nên xuất bản nó trong một bài báo).
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.