Một vấn đề phân vùng với các ràng buộc thứ tự


8

Trong OrderedPartitionbài toán, đầu vào là hai chuỗi gồm n số nguyên dương, (ai)i[n](bi)i[n] . Đầu ra là một phân vùng của các chỉ số [n] thành hai tập con khác nhau, IJ , sao cho:

  1. iIai=jJai
  2. Đối với tất cả iI và cho tất cả jJ : bibj .

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 bi tăng yếu, sau đó cắt dòng sao cho tổng của ai ở cả hai bên là như nhau.

Nếu tất cả bi đề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ả bi 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ó n1 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 1dn , vấn đề được giới hạn trong các trường hợp có kích thước n , trong đó tập hợp con lớn nhất của bi -s có kích thước d . Vì vậy, trường hợp dễ dàng, khi tất cả bi -s khác nhau OrderedPartition[n,1], và trường hợp cứng, khi tất cả bi -s giống hệt nhau, là OrderedPartition[n,n].

Tổng quát hơn, với mọi nd , 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à O(n2d) . Do đó, nếu dO(logn) , thì OrderedPartition[n,d]vẫn là đa thức trong n .

Mặt khác, đối với bất kỳ nd , chúng ta có thể giảm từ một Partitionvấn đề với số nguyên d sang OrderedPartition[n,d]. Hãy p1,,pd 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 i{1,,d} , chúng ta hãy ai:=2npibi:=1 .
  • Với mỗi i{d+1,,n} , hãy để ai:=1bi:=i
    [nếu nd là số lẻ, tạo an:=2 sao cho tổng sẽ chẵn] .

Do đó, nếu dΩ(n1/k) , đối với bất kỳ số nguyên k1 , 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 đó d là siêu logarit nhưng đa thức phụ trong n ?

Câu trả lời:


5

Theo trực giác, các trường hợp trung gian không phải là P, cũng không phải NP-hard. Có lẽ nó phụ thuộc chính xác vào những gì chúng ta có nghĩa là "trường hợp trung gian". Đây là một cách giải thích mà chúng ta có thể chứng minh một cái gì đó.

ϵ>02nϵ

cdlogcnn2d1/cc

cc

ccfcnf(c)n[2nb/c,nb]bc>0nc2nb/c2f(c)nb/ccϵ>0c=2b/ϵ2cnϵ/22nϵn    

22n

cc

ccncO(nb)b[nb,d]dlogc(nb)nO(1)2d=nO(1)2logc(nb)    

d(n)nd(n)d[n,d(n)]d(n)ndp(n)p(n)p(n)

ps Xem thêm Hậu quả của bằng chứng / thuật toán theo cấp số nhân cho SAT .


Rất thú vị, cảm ơn!
Erel Segal-Halevi
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.