Trong OrderedPartition
bài toán, đầu vào là hai chuỗi gồm số nguyên dương, và . Đầu ra là một phân vùng của các chỉ số thành hai tập con khác nhau, và , sao cho:
- Đối với tất cả và cho tất cả : .
Nói cách khác, trước tiên chúng ta phải sắp xếp các chỉ số trên một dòng sao cho tăng yếu, sau đó cắt dòng sao cho tổng của ở cả hai bên là như nhau.
Nếu tất cả đều giống nhau, thì điều kiện 2 là không liên quan và chúng ta có một ví dụ của bài toán NP-hard Partition
. Mặt khác, nếu tất cả khác nhau, thì điều kiện 2 áp đặt một thứ tự duy nhất trên các chỉ số, do đó chỉ có tùy chọn để kiểm tra và vấn đề trở thành đa thức. Điều gì xảy ra ở giữa những trường hợp này?
Để chính thức hóa câu hỏi, hãy xác định bởi OrderedPartition[n,d]
, trong , vấn đề được giới hạn trong các trường hợp có kích thước , trong đó tập hợp con lớn nhất của -s có kích thước . Vì vậy, trường hợp dễ dàng, khi tất cả -s khác nhau OrderedPartition[n,1]
, và trường hợp cứng, khi tất cả -s giống hệt nhau, là OrderedPartition[n,n]
.
Tổng quát hơn, với mọi và , trong mọi OrderedPartition[n,d]
trường hợp, số lượng phân vùng có thể tuân theo điều kiện 2 là . Do đó, nếu , thì OrderedPartition[n,d]
vẫn là đa thức trong .
Mặt khác, đối với bất kỳ và , chúng ta có thể giảm từ một Partition
vấn đề với số nguyên sang OrderedPartition[n,d]
. Hãy là một thể hiện của Partition
. Xác định một thể hiện của OrderedPartition[n,d]
:
- Đối với mỗi , chúng ta hãy và .
- Với mỗi , hãy để và
[nếu là số lẻ, tạo sao cho tổng sẽ chẵn] .
Do đó, nếu , đối với bất kỳ số nguyên , sau đó OrderedPartition[n,d]
là NP-hard.
HỎI: Điều gì xảy ra trong các trường hợp trung gian, trong đó là siêu logarit nhưng đa thức phụ trong ?