Varian lain dari PARTISI

13

Saya mengalami pengurangan masalah partisi berikut menjadi masalah penjadwalan tertentu:

Input: Daftar bilangan bulat positif dalam urutan yang tidak berkurang.Sebuah1Sebuahn

Pertanyaan: Apakah ada vektor sedemikian rupa sehingga(x1,...,xn){-1,1}n

k i = 1 a i x i0

saya=1nSebuahsayaxsaya=0dan
saya=1kSebuahsayaxsaya0untuk semua k{1,...,n}

Tanpa kondisi kedua itu hanya PARTISI, maka NP-keras. Namun kondisi kedua sepertinya memberikan banyak informasi tambahan. Saya bertanya-tanya apakah ada cara efisien untuk memutuskan varian ini. Atau masih sulit?

Thomas Kalinowski
sumber

Jawaban:

15

Berikut adalah pengurangan dari PARTISI untuk masalah ini. Biarkan (Sebuah1,...,Sebuahn) menjadi turunan dari PARTITION. Asumsikan Sebuah1Sebuah2Sebuahn .

Biarkan menjadi “angka yang sangat besar”, mis. . Pertimbangkan instance masalah kita.NN=(saya=1n|Sebuahsaya|)+1

N,...,N5n waktu,N+Sebuah1,...,N+Sebuahn,4N,...,4Nn waktu
  1. Jika ada solusi ke PARTITION kemudian adalah solusi untuk masalah kita.x1,...,xn

    1,...,14n waktu,-x1,...,-xn,x1,...,xn,-1,...,-1n waktu
  2. Jika ada solusi untuk turunan masalah kita (yang kita kurangi untuk instance PARTISI menjadi), maka . Jadi Yaitu, adalah solusi untuk PARTITION.(x1,...,x5n,y1,...,yn,z1,...,zn)saya=1nSebuahsayaysaya0(modN)

    saya=1nSebuahsayaysaya=0.
    (y1,...,yn)
Yury
sumber
Terima kasih Yury. Dalam aplikasi saya, sangat penting bahwa daftar input dipesan secara tidak menurun, dan input dalam reduksi Anda tidak. Saya akan memodifikasi pertanyaan untuk membuat persyaratan pesanan lebih eksplisit. (N,Sebuah1,...,Sebuahn,N)
Thomas Kalinowski
@ Thomas: Saya tidak menyadarinya. Sekarang saya memperbarui solusi saya.
Yury