Giảm bìa chính xác để tập hợp con


7

Chỉ ra rằng bài toán tổng hợp tập hợp con (Cho một chuỗi các số nguyên S=i1,i2,,in và một số nguyên k, có một phần sau của S tổng hợp chính xác k?) là NP hoàn chỉnh.

Gợi ý: Sử dụng các vấn đề bìa chính xác.

Vấn đề bao gồm chính xác là như sau: Cho một họ các bộ S1,S2,,Sn có tồn tại một tập hợp bao gồm một phân họ của các tập hợp tách rời nhau không?

Trước hết, để chỉ ra rằng vấn đề này nằm ở NP chúng ta phải làm như sau?

Một máy Turing không xác định trước tiên có thể đoán được phần tiếp theo mà chúng ta đang tìm kiếm là gì và sau đó xác minh rằng nó tính tổng chính xác k trong thời gian tuyến tính. Điều này có đúng không?

Để chỉ ra rằng nó đã hoàn thành NP, làm thế nào chúng ta có thể giảm vấn đề che phủ chính xác thành tập hợp con? Có phải như sau?

Vấn đề che phủ chính xác có một giải pháp nếu mọi yếu tố nằm trong chính xác một bộ.

Chúng tôi xem xét các bộ S và số k sao cho mỗi số tương ứng với một tập hợp các phần tử và ktương ứng với toàn bộ. Giả sử cón các yếu tố và k bộ khác nhau.

Chúng tôi thay thế mỗi bộ S bằng một số đó là 1 ở vị trí thứ i nếu tôi ở S và có một 0 ở vị trí thứ i của nó khác.

Chúng tôi đặt k thành một số đó là n bản sao của số 1.


1
Hãy thử chứng minh rằng giảm của bạn hoạt động. Nếu bạn thành công, bạn sẽ biết rằng nó làm. Nếu không, trở lại bảng vẽ.
Yuval Filmus

Câu trả lời:


5

Ý tưởng cơ bản : Trong bài toán bìa chính xác, mỗi phần tử được giảm xuống một con số. Sau đó, mỗi bộ được giảm xuống tổng của các số mà nó bao gồm. Cuối cùng, thiết lậpk là tổng của tất cả các số.

Việc giảm này luôn hoạt động theo một cách: Nếu một giải pháp tồn tại cho vấn đề che phủ chính xác, thì một giải pháp cũng tồn tại cho vấn đề tổng tập hợp con.

Phần khó là để chứng minh theo cách khác. Những con số tầm thường không hoạt động. Giả sử các phần tử được giảm xuống1,2,3,4và các bộ

  • S1={3,4}
  • S2={3}

Việc giảm tổng số tập hợp con là các số 7,3k=10, trả về CÓ nhưng không có giải pháp nào cho vấn đề chính xác!

Chúng ta cần phải thông minh hơn trong việc lựa chọn các con số. Nhận thấy lỗ hổng trong các số trước đó là3có thể thay thế 1,2. Chúng tôi không muốn bất kỳ số nào được thay thế. Do đó, chúng tôi muốn các con số có khoảng trống đủ lớn. Giả sử trong một vấn đề bao gồm chính xác củan các phần tử, phần tử đầu tiên được giảm xuống 1. Số thứ hai nên lớn bao nhiêu? Có2n1bộ có thể bao gồm số đầu tiên. Vì vậy, phần tử thứ hai nên được giảm xuống một số lớn hơn2n1 như vậy cho dù bao nhiêu lần 1xuất hiện, nó không thể thay thế số thứ hai. Chúng ta hãy giảm phần tử thứ hai xuống2n. Đối số tương tự áp dụng cho đối số thứ ba, vì vậy chúng tôi giảm nó xuống2n×2n=4n.

Tóm lại, iphần tử thứ trong bài toán bìa chính xác có giá trị là 2in. Mỗi bộ được giảm xuống tổng số mà nó bao gồm.

Bây giờ chúng tôi đã chỉ ra rằng bìa chính xác là trong NP-Hard. Chúng ta cần chứng minh rằng nó cũng nằm trong NP để cho thấy rằng đó là NP-Complete. Tôi nghĩ điều đó tương đối đơn giản. Nếu bạn cần giúp đỡ về điều đó, tôi sẽ cung cấp một số gợi ý cho bạn.


4

Tổng tập hợp con có thể dễ dàng chuyển đổi từ vấn đề phân vùng. Bằng chứng về việc giảm Exact Cover cho nó tương tự như bằng cách kết hợp 3 chiều, và bạn có thể tìm thấy nó trong sách giáo khoa của Garey và Johnson. Bằng chứng có phần phức tạp.

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.