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.Sebuah1⩽⋯⩽Sebuahn

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

k ∑ i = 1 a i x i ⩾ 0

∑saya=1nSebuahsayaxsaya=0dan
∑saya=1kSebuahsayaxsaya⩾0untuk 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?

Jawaban:


15

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

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

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

    1,...,1⏟4n waktu,-x1,...,-xn,x1,...,xn,-1,...,-1⏟n 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=1nSebuahsayaysaya≡0(modN)

    ∑saya=1nSebuahsayaysaya=0.
    (y1,...,yn)

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.