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 , xGTôivtôi , 1, vtôi , 2, ... , vtôi , nbạnTôitôi ∈ [ t ]GTôi của đồ thị G i , thêm mệnh đề ( v i , x ∨ v 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, vi , y}GTôi( vtôi , x∨ vi , y∨ ¬ uTô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à y và z . 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.( ¬ x ∨ y∨ z)( x → ( y∨ z) )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'( nhật ký k +t + 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 đennhật ký k +t + 1bạnTôibạnTôi1 + nhật kýtbạ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.¬ uTôiGTôi1 + nhật kýtkkGTôi