Masalah partisi dengan batasan pesanan

8

Dalam OrderedPartitionmasalah, input adalah dua urutan n bilangan bulat positif, (ai)i[n] dan (bi)i[n] . Outputnya adalah partisi dari indeks [n] menjadi dua himpunan bagian terpisah, I dan J , sehingga:

  1. iIai=jJai
  2. Untuk semua iI dan untuk semua jJ : bibj .

Dengan kata lain, kita harus urutan pertama indeks pada baris sehingga bi meningkat lemah, dan kemudian memotong jalur sehingga jumlah dari ai di kedua sisi adalah sama.

Jika semua bi sama, maka kondisi 2 tidak relevan dan kami memiliki contoh masalah NP-hard Partition. Di sisi lain, jika semua bi berbeda, maka kondisi 2 memaksakan urutan tunggal pada indeks, sehingga hanya ada opsi n1 untuk diperiksa, dan masalahnya menjadi polinomial. Apa yang terjadi di antara kasus-kasus ini?

Untuk meresmikan pertanyaan, tentukan oleh OrderedPartition[n,d], untuk 1dn , masalah terbatas pada contoh ukuran n , di mana bagian terbesar dari bi s identik adalah dari ukuran d . Jadi kasus yang mudah, ketika semua bi -s berbeda, adalah OrderedPartition[n,1], dan hard case, ketika semua bi -s identik, adalah OrderedPartition[n,n].

Secara umum, Untuk setiap n dan d , dalam OrderedPartition[n,d]contoh apa pun , jumlah partisi yang memungkinkan dengan kondisi 2 adalah O(n2d) . Oleh karena itu, jika dO(logn) , maka OrderedPartition[n,d]masih polinomial dalam n .

Di sisi lain, untuk setiap n dan d , kita dapat mengurangi dari Partitionmasalah d bilangan bulat untuk OrderedPartition[n,d]. Biarkan p1,,pd menjadi contoh dari Partition. Definisikan instance OrderedPartition[n,d]oleh:

  • Untuk setiap i{1,,d} , biarkan ai:=2npi dan bi:=1 .
  • Untuk setiap i{d+1,,n} , biarkan ai:=1 dan bi:=i
    [jika nd adalah aneh, membuat an:=2 sehingga jumlahnya akan lebih] .

Oleh karena itu, jika dΩ(n1/k) , untuk bilangan bulat k1 , maka OrderedPartition[n,d]NP-hard.

PERTANYAAN: Apa yang terjadi dalam kasus-kasus menengah, di mana d adalah super-logaritmik tetapi sub-polinomial dalam n ?

Erel Segal-Halevi
sumber

Jawaban:

5

Secara intuitif, kasus-kasus antara seharusnya tidak dalam P, atau NP-keras. Mungkin itu tergantung persis pada apa yang kita maksud dengan "kasus menengah". Ini adalah salah satu interpretasi yang dengannya kita dapat membuktikan sesuatu.

Catatan: Hipotesis Eksponensial-Waktu , atau ETH, adalah tidak demikian halnya, untuk setiap konstanta ϵ>0 , SAT memiliki algoritma yang berjalan dalam waktu 2nϵ . Lihat juga diskusi cs.stackexchange ini . Sejauh yang kami tahu, ETH benar.

Definisikan OP c sebagai batasan dari masalah OrderedPartition menjadi instance di mana d log c n . Sama dengan contoh di mana n 2 d 1 / c . Di sini kami bermaksud OP c untuk menangkap apa yang dimaksud postingan dengan "instance perantara". Kami menunjukkan bahwa instance ini tidak mungkin dalam P, atau NP-hard.cdlogcnn2d1/cc

Lemma 1. Jika OP c dalam P untuk semua c , maka ETH gagal.cc

Bukti. Misalkan OP c dalam P untuk semua c . Yaitu, untuk beberapa fungsi f , OP c memiliki algoritme yang berjalan dalam waktu n f ( c ) . Input SAT dari ukuran n mengurangi (melalui Partisi seperti yang dijelaskan dalam posting) ke OrderedPartition [ 2 n b / c , n b ] , untuk beberapa konstanta b dan konstanta apa pun c > 0 . Jadi, input SAT dari ukuran n dikurangi menjadi OP c contoh ukuran 2 nccfcnf(c)n[2nb/c,nb]bc>0nc2nb/c , yang dapat diselesaikan dalam waktu2f(c)nb/c melalui algoritma untuk OPc. Untukϵ>0, dengan mengambil, katakanlah,c=2b/ϵ, SAT dapat diselesaikan dalam waktu2 c n ϵ / 22 n ϵ (untuknbesar), melanggar ETH. cϵ>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 Lihat juga Konsekuensi dari bukti / algoritma sub-eksponensial untuk SAT .

Neal Young
sumber
Sangat menarik, terima kasih!
Erel Segal-Halevi