Ecco una riduzione da PARTITION a questo problema. Sia un'istanza di PARTITION. Supponiamo che .a 1 ≤ a 2 ≤ ⋯ ≤ a n( a1, ... , unn)un'1≤ a2≤ ⋯ ≤ an
Sia un "numero molto grande", ad esempio . Prendi in considerazione l'istanza
del nostro problema.N = ( ∑ n i = 1 | a i | ) + 1 N , … , N ⏟ 5 n volte , N + a 1 , … , N + a n , 4 N , … , 4 N ⏟NN= ( ∑ni = 1| un'io| )+1
N, ... , N5 n volte, N+ a1, ... , N+ an, 4 N, ... , 4 Nn volte
Se esiste una soluzione a PARTITION, allora
è una soluzione al nostro problema.1 , … , 1 ⏟ 4 n volte , - x 1 , … , - x n , x 1 , … , x n , - 1 , … , - 1 ⏟ n volteX1, ... , xn
1 , … , 14 n volte, - x1, ... , - xn, x1, ... , xn, - 1 , … , - 1n volte
Se esiste una soluzione all'istanza del nostro problema (a cui abbiamo ridotto un'istanza di PARTITION), quindi . Pertanto
Cioè, è una soluzione a PARTITION.( x1, ... , x5 n, y1, ..., yn, z1, ... , zn)Σni = 1un'ioyio≡ 0( modN)
Σi = 1nun'ioyio= 0.
( y1, ... , yn)