Saya menggunakan formulasi yang setara dengan user17410:
Input: n vektor X={x1,…,xm} lebih dari {0,1}n , n adalah bagian dari input
Pertanyaan: Apakah ada dua himpunan bagian berbeda , B ⊆ XA,B⊆X sedemikian rupa sehingga
∑x ∈ Ax=∑x∈Bx
Bukti kekerasan melibatkan banyak reduksi tingkat menengah yang mengikuti "rantai" yang sama yang digunakan untuk membuktikan kekerasan dari masalah SUMU SUBSET EQUAL standar:
X3C ≤ SUBSET SUM ≤ PARTITION ≤ BAHKAN-ODD PARTITION ≤ EQUAL SUBSET SUM
(Saya masih memeriksanya jadi mungkin salah :)
LANGKAH 1
Masalah berikut ( 0-1 SUMBER VEKTOR SUMBER ) adalah NP-complete: diberikan , x i vektor lebih dari { 0 , 1 } n dan jumlah vektor target t , putuskan apakah ada A ⊆ X sedemikian rupa sehingga
∑ x ∈ A x = t Bukti : Pengurangan langsung dari SAMBUTAN SAMPAI DENGAN 3-SETS (X3C): diberikan seperangkat elemen n Y = { yX={x1,…,xm}xi{0,1}ntA ⊆ X
∑x ∈ Ax = t
n dan koleksi
C dari
m tiga unsur himpunan
C = { C 1 , . . . , C m } kita build 0-1 VECTOR SUM misalnya pengaturan yang sesuai
x i [ j ] = 1 jika dan hanya jika elemen
j termasuk dalam
C i ;
t = [ 1 , 1 , . . ] .
Y= { y1, . . . , yn}CmC= { C1, . . . , Cm}xsaya[ j ] = 1jCsayat = [ 1 , 1 , . . .1 ]
LANGKAH 2
Menemukan dua himpunan bagian jumlah yang sama antara m 0-1 vektor di atas { 0 , 1 } n , sama dengan menemukan dua himpunan bagian jumlah yang sama A , B dari vektor dengan elemen ukuran terikat x 1 . . . x m di mana m a x { x i } = O ( ( m n ) k ) untuk k tetap .A , Bm{ 0 , 1 }nA , Bx1...xmmax{xi}=O((mn)k)k
Misalnya kumpulan vektor:
x1 2 1 0 1
x2 1 2 3 1
Sama dengan vektor 0-1:
x1 1 1 0 1 1 0 0 0 0
1 0 0 0 0 1 0 0 0
0 0 0 0 1 1 0 0 0
^ ^
+-- 0 elsewhere
x2 1 1 1 1 0 0 1 0 0
0 1 1 0 0 0 0 1 0
0 0 1 0 0 0 0 0 1
0 0 0 0 0 0 1 1 1
^ ^ ^
+-- 0 elsewhere
Secara informal, vektor 0-1 dikelompokkan (jika Anda memilih satu vektor dari grup x2 dan menambahkannya ke subset , maka Anda dipaksa untuk memasukkan dalam A dua lainnya dan meletakkan yang terakhir di subset B ) dan jumlahnya dilakukan dalam unary (ini adalah alasan mengapa yang sesuai vektor non biner harus mengandung unsur-unsur yang polynomially dibatasi sehubungan dengan m n ).AABmn
Jadi masalah berikut ini adalah NP-complete.
LANGKAH 3
Masalah berikut ( 0-1 PARTEKSI VEKTOR ) adalah NP-lengkap: diberikan , x i vektor lebih dari { 0 , 1 } n memutuskan apakah X dapat dipartisi dalam dua himpunan bagian B 1 , B 2 sedemikian rupa sehingga
∑ x ∈ B 1 x = ∑ x ∈ B 2 xB={x1,…,xm}xi{0,1}nXB1,B2
∑x∈B1x=∑x∈B2x
Bukti : Pengurangan dari 0-1 SUMBER VEKTOR: diberikan
dan vektor jumlah target t ; misalkan S = ∑ x i , kita tambahkan ke X vektor-vektor berikut: b ′ = - t + 2 S dan b ″ = t + SX={x1,…,xm}tS=∑xiXb′=−t+2Sb′′=t+S: B=X∪{b′,b′′} .
( ) Misalkan terdapat A ⊆ X sehingga Σ x ∈ A x = t ; kita menetapkan B 1 = A ∪ { b ′ } dan B 2 = B ∖ B 1 = X ∖ { A } ∪ { b ″ } ; kita memiliki
∑ x ∈ B 1 = b ′ + ∑ x ∈ A⇒A⊆X∑x∈Ax=tB1=A∪{b′}B2=B∖B1=X∖{A}∪{b′′}∑ x ∈ B 2 = b ″ + ∑ x ∈ X ∖ A x = b ″ + S - ∑ x ∈ A x = 2 S
∑x∈B1=b′+∑x∈Ax=t−t+S=2S
∑x∈B2=b′′+∑x∈X∖Ax=b′′+S−∑x∈Ax=2S
( ) Misalkan B 1 dan B 2 memiliki jumlah yang sama. b ′ , b ″ tidak bisa keduanya memiliki himpunan yang sama (jika jumlah mereka ≥ 3 S dan tidak dapat "seimbang" dengan unsur-unsur di himpunan lainnya). Misalkan b ′ = - t + 2 S ∈ B 1 ; kita punya:⇐B1B2b′,b′′≥3Sb′=−t+2S∈B1
−t+2S+∑x∈B1∖{b′}x=t+S+∑x∈B2∖{b′′}x
Karenanya kita harus memiliki dan B 1 ∖ { b ′ }∑x∈B1∖{b′}x=tB1∖{b′} adalah solusi yang valid untuk 0-1 VEKTOR SUM.
Kami hanya mengizinkan 0-1 vektor di set , jadi vektor b ′ , b ″ harus "diwakili secara unary" seperti yang ditunjukkan pada LANGKAH 2.Bb′,b′′
LANGKAH 3
Masalahnya adalah masih NP-lengkap jika vektor diberi nomor dari dan dua himpunan bagian X 1 , X 2 harus memiliki ukuran yang sama dan kami mensyaratkan bahwa X 1 mengandung tepat satu dari x 2 i - 1 , x 2 i untuk 1 ≤ i ≤ n (jadi, dengan batasan ukuran yang sama , elemen lain dari pasangan harus dimasukkan dalam X 2 ) ( 0-1 VECTOR EVEN-ODD PARTITION ).x1,...,x2nX1,X2X1x2i−1,x2i1≤i≤nX2
Bukti:: Pengurangannya dari 0-1 PARTISI VEKTOR dan mirip dengan pengurangan dari PARTISI menjadi PARTISIPAN GENAP. Jika adalah vektor m di atas { 0 , 1 } n ganti setiap vektor dengan dua vektor di atas { 0 , 1 } 2 n + 2 m :X={x1,...,xm}m{0,1}n{0,1}2n+2m
1 2 n
--------------------
x_i b_1 b_2 ... b_n
becomes:
1 2 ... 2i ... 2m
--------------------------
x'_2i-1 0 0 ... 1 ... 0 b_1 b_2 ... b_n 0 0 ... 0
x'_2i 0 0 ... 1 ... 0 0 0 ... 0 b_1 b_2 ... b_n
Karena elemen , vektor x ′ 2 i - 1 dan x ′ 2 i tidak dapat dimuat dalam subset yang sama; dan solusi yang valid untuk PARTISI 0-1 VEKTOR EVEN-ODD sesuai dengan solusi yang valid dari PARTISI 0-1 VEKTOR asli (cukup pilih elemen 2m + 1..2m + n dari masing-masing vektor larutan yang membuang vektor yang berisi semua nol di posisi itu).2ix′2i−1x′2i
LANGKAH 4
0-1 SUMBER SUMBER BAGIAN VEKTOR (masalah dalam pertanyaan) adalah NP-complete: pengurangan dari 0-1 VECTOR EVEN-ODD PARTITION mirip dengan pengurangan dari SUMBER SUMBER ODD menjadi SUMBER SUMBER SUMBER, seperti yang dibuktikan dalam Gerhard J. Woeginger , Zhongliang Yu, Di sama-bagian-sum masalah : diberi memerintahkan set dari 2 m vektor di atas { 0 , 1 } n , kami membangun satu set Y dari 3 m vektor di atas { 0 ,A={x1,...,x2m}2m{0,1}nY3m{0,1}2m+n.
For every vector x2i−1,1≤i≤m we build a vector y2i−1 over {0,1}2m+n in this way:
1 2 ... i i+1 ... m m+1 m+2 ... m+i ... 2m 2m+1 ... 2m+n
------------------------------------------------------
0 0 ... 2 0 ... 0 0 0 1 0 x_{2i-1}
x2i,1≤i≤m−1y2i{0,1}2m+n
1 2 ... i i+1 ... m m+1 m+2 ... m+i ... 2m 2m+1 ... 2m+n
------------------------------------------------------
0 0 ... 0 2 ... 0 0 0 1 0 x_{2i}
x2m
1 2 ... ... m m+1 m+2 ... . 2m 2m+1 ... 2m+n
------------------------------------------------------
2 0 ... ... 0 0 0 1 x_{2m}
m
1 2 ... ... m m+1 m+2 ... ... 2m 2m+1 ... 2m+n
------------------------------------------------------
4 0 ... ... 0 0 0 0 0 ... 0
0 4 ... ... 0 0 0 0 0 ... 0
...
0 0 ... ... 4 0 0 0 0 ... 0
>1
YY1,Y2 subsets having equal sum if and only if X has an even-odd partition.