Tôi nghĩ rằng tôi đã tìm thấy một ví dụ hữu ích bản thân mình!
Có lẽ tôi hơi mơ hồ, nhưng tôi đang tìm kiếm một vấn đề đáp ứng các thông số kỹ thuật sau:
- Vấn đề chính nó phải dễ dàng để giải thích cho một người nghiên cứu khoa học xã hội.
- Nó nên có một thuật toán rõ ràng nhưng không hiệu quả.
- Nó nên có một thuật toán tốt hơn cũng dễ giải thích cho ai đó nghiên cứu khoa học xã hội.
Đối với Chu kỳ Euler, thật dễ dàng để giải thích rằng đó là một điều kiện cần thiết mà mọi nút phải có mức độ chẵn, nhưng không dễ để giải thích tại sao đó là điều kiện đủ.
Đây là vấn đề mà tôi nghĩ cho đến nay đáp ứng tốt nhất các đặc điểm kỹ thuật ở trên:
FORM_TARGET_SET_WITH_UNIONS
Bộ sưu tập của bộC={S1,S2,...,Sn}
Bộ mục tiêuT
Câu hỏi: Có thể hình thành tập hợp mục tiêu bằng cách lấy liên kết của một số bộ trong không?TC
Thuật toán rõ ràng nhưng không hiệu quả:
- Thành lập tất cả công đoàn có thể2n
- Xem nếu một trong số chúng tương ứng vớiT
Thuật toán tốt hơn
- Đánh dấu các tập hợp trong có trongCT
- Hình thành liên minh của các bộ nàyS∪
- Nếutrả lời , nếu không thì trả lời|S∪|=|T|YESNO
Ngoài ra còn có vấn đề chị em
FORM_TARGET_SET_WITH_INTERSECTIONS
trong đó thuật toán tốt hơn
- Đánh dấu các tập hợp trong có chứaCT
- Tạo giao điểm của các bộ nàyS∩
- Nếutrả lời , nếu không thì trả lời|S∩|=|T|YESNO
Như bạn có thể thấy tôi đang tìm kiếm thứ gì đó thực sự đơn giản (gần như đơn giản như SUBSET_PRODVEL_IS_ZERO).
Vấn đề cũng có thể tương phản với SUBSET SUM và SUBSET SẢN PHẨM, hoàn thành NP nhưng tương tự trong công thức của chúng. Trong tất cả các vấn đề này, người ta được trình bày với một tập hợp các đối tượng và được hỏi liệu một thao tác trên một lựa chọn các đối tượng này có thể tạo ra một kết quả mong muốn hay không.