Tôi sử dụng công thức tương đương user17410:
Input: vectơ X = { x 1 , ... , x m } trên { 0 , 1 } n , n là một phần của đầu vào
Câu hỏi: Có hai tập con khác nhau Một , B ⊆ X mà
Σ x ∈ A x = Σ x ∈ B xnX= { x1, Lọ , xm}{ 0 , 1 }nn
Một , B ⊆ X
Σx ∈ Ax = Σx ∈ Bx
Bằng chứng độ cứng liên quan đến nhiều mức giảm trung gian tuân theo cùng một "chuỗi" được sử dụng để chứng minh độ cứng của bài toán SUMS SUBSET SUM tiêu chuẩn:
X3C SUBSET SUM ≤ PARTITION ≤ NGAY CẢ-ODD PARTITION ≤ EQUAL SUBSET SUM≤≤≤≤
(Tôi vẫn đang kiểm tra nó nên có thể sai :)
BƯỚC 1
Vấn đề sau ( 0-1 YAMOR SUBSET SUM ) là NP-đầy đủ: đã cho các vectơ , x i trên { 0 , 1 } n và một vectơ tổng mục tiêu t , quyết định xem có A ⊆ X sao cho
∑ x ∈ A x = t Chứng minh : Giảm trực tiếp từ EXACT COVER BY 3-SETS (X3C): cho một tập hợp n phần tử Y = { yX= { x1, Lọ , xm}xtôi{ 0 , 1 }ntA ⊆ X
Σx ∈ Ax = t
n và tập hợp
C gồm
m ba phần tử con
C = { C 1 , . . . , C m } chúng tôi xây dựng cài đặt phiên bản 0-1 YAMOR SUM tương ứng
x i [ j ] = 1 khi và chỉ khi phần tử
j được bao gồm trong
C i ;
t = [ 1 , 1 , . . .1Y= { y1, . . . , yn}CmC= { C1, . . . , Cm}xtôi[ j ] = 1jCtôi .
t = [ 1 , 1 , . . .1 ]
BƯỚC 2
Tìm hai tập con tổng bằng nhau trong số các vectơ m 0-1 trên { 0 , 1 } n , tương đương với việc tìm hai tập con tổng bằng nhau A , B của vectơ có phần tử có kích thước giới hạn x 1 . . . x m trong đó m a x { x i } = O ( ( m n ) k ) cho k cố định .A , Bm{ 0 , 1 }nA , Bx1. . . xmm a x { xtôi} = O ( ( m n )k)k
Ví dụ: tập hợp các vectơ:
x1 2 1 0 1
x2 1 2 3 1
Tương đương với các vectơ 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
Một cách không chính thức các vectơ 0-1 được nhóm lại (nếu bạn chọn một vectơ của nhóm x2 và thêm nó vào tập con , thì bạn buộc phải đưa vào A hai phần còn lại và đặt phần cuối vào tập con B ) và các tổng được thực hiện trong unary (đây là lý do tại sao các vectơ không nhị phân tương ứng phải chứa các phần tử bị ràng buộc đa thức đối với m n ).MộtMộtBm n
Vì vậy, vấn đề sau đây là NP-đầy đủ.
BƯỚC 3
Vấn đề sau ( 0-1 PHẦN MỀM SỐ 0 ) là NP-đầy đủ: được đưa ra , x i vectơ trên { 0 , 1 } n quyết định xem X có thể được phân vùng trong hai tập con B 1 không , B 2 sao cho
∑ x ∈ B 1 x = ∑ x ∈ B 2 xB = { x1, Lọ , xm}xtôi{ 0 , 1 }nXB1, B2
Σx ∈ B1x = Σx ∈ B2x
Bằng chứng : Giảm 0-1 VECTOR SUM: cho
và mục tiêu vector tổng t ; Đặt S = ∑ x i , ta thêm vào X các vectơ sau: b ′ = - t + 2 S và b ″ = t + SX= { x1, Lọ , xm}tS= ∑ xtôiXb'=−t+2Sb′′=t+S: .B=X∪{b′,b′′}
( ) Giả sử tồn tại A ⊆ X sao cho ∑ x ∈ A x = t ; chúng tôi đặt B 1 = A ∪ { b ' } và B 2 = B ∖ B 1 = X ∖ { Một } ∪ { b " } ; chúng ta có
Σ 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
( ) Giả sử B 1 và B 2 có tổng bằng nhau. b ' , b " có thể không phải cả hai thuộc về cùng một tập (nếu không số tiền của họ là ≥ 3 S và không thể "cân" bởi các yếu tố trong các thiết lập khác). Giả sử rằng b ' = - t + 2 S ∈ B 1 ; chúng ta có:⇐B1B2b′,b′′≥ 3 Sb'= - t + 2 S∈ B1
- t + 2 S+ Σx ∈ B1∖ { b'}x = t + S+ Σx ∈ B2∖ { b′ ′}x
Do đó chúng ta phải có và B 1 ∖ { b ' } là một giải pháp hợp lệ cho 0-1 VECTOR SUM.Σx ∈ B1∖ { b'}x = tB1∖ { b'}
Chúng tôi chỉ cho phép 0-1 vectơ trong tập , vì vậy vectơ b ' , b " phải được "đại diện trong unary" như trong Bước 2.Bb', b′ ′
BƯỚC 3
Vấn đề vẫn là NP-đầy đủ nếu các vectơ được đánh số từ và hai tập con X 1 , X 2 phải có kích thước bằng nhau và chúng tôi yêu cầu X 1 chứa chính xác một trong x 2 i - 1 , x 2 i cho 1 ≤ i ≤ n (do đó, bằng ràng buộc kích thước bằng nhau , phần tử khác của cặp phải được bao gồm trong X 2 ) ( 0-1 PHẦN MỀM NGAY LẬP TỨC ).x1, . . . , x2nX1, X2X1x2 tôi - 1, x2 tôi1 ≤ i ≤ nX2
Bằng chứng :: Mức giảm là từ 0-1 PHẦN THAM GIA VÀ tương tự như việc giảm từ PHẦN THAM GIA sang PHẦN THAM GIA NGAY LẬP TỨC. Nếu là các vectơ m trên { 0 , 1 } n thay thế mỗi vectơ bằng hai vectơ trên { 0 , 1 } 2 n + 2 m :X= { x1, . . . , xm}m{ 0 , 1 }n{ 0 , 1 }2 n + 2 m
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
Do phần tử , các vectơ x ′ 2 i - 1 và x ′ 2 i không thể được chứa trong cùng một tập hợp con; và một giải pháp hợp lệ cho PHẦN MỀM 0-1 YAMOR EVEN-ODD tương ứng với một giải pháp hợp lệ của PHẦN MỀM 0-1 gốc (chỉ chọn các phần tử 2m + 1..2m + n của mỗi vectơ của vectơ loại bỏ giải pháp có chứa tất cả số không ở những vị trí đó).2 tôix'2 tôi - 1x'2 tôi
BƯỚC 4
0-1 SUMS SUBALET SUBSET SUM (vấn đề trong câu hỏi) là NP-đầy đủ: giảm từ 0-1 PHẦN MỀM EVOR -ODD tương tự như việc giảm từ PHẦN MỀM EVEN-ODD sang SUBSET SUMAL, như đã được chứng minh trong Gerhard J. Woeginger , Zhongliang Yu, Về bài toán tổng hợp con bằng nhau : được đặt một tập hợp có thứ tự của 2 m vectơ trên { 0 , 1 } n , chúng ta xây dựng một bộ Y của 3 m vectơ trên { 0 ,A = { x1, . . . , x2 m}2 m{ 0 , 1 }nY3 m .{ 0 , 1 }2 m + n
Với mọi vectơ chúng ta xây dựng một vectơ y 2 i - 1 trên { 0 , 1 } 2 m + n theo cách này:x2 tôi - 1, 1 ≤ i ≤ my2 tôi - 1{ 0 , 1 }2 m + n
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}
Với mọi vectơ ta xây dựng một vectơ y 2 i trên { 0 , 1 } 2 m + n theo cách này:x2 tôi, 1 ≤ i ≤ m - 1y2 tôi{ 0 , 1 }2 m + 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}
Chúng tôi ánh xạ phần tử đếnx2 m
1 2 ... ... m m+1 m+2 ... . 2m 2m+1 ... 2m+n
------------------------------------------------------
2 0 ... ... 0 0 0 1 x_{2m}
Cuối cùng chúng ta thêm giả yếu tố: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
Một lần nữa lưu ý rằng các vectơ chứa giá trị có thể được biểu diễn trong "unary" bằng cách sử dụng một nhóm các vectơ 0-1 như được hiển thị trong BƯỚC 2.> 1
có hai tập con Y 1 , Y 2 khác nhau có tổng bằng nhau khi và chỉ khi X có phân vùng chẵn. YY1, Y2X