Un'altra variante di PARTITION


13

Ho una riduzione del seguente problema di partizione a un certo problema di pianificazione:

Input: un elenco di numeri interi positivi in ​​ordine non decrescente.a1⩽⋯⩽an

Domanda: esiste un vettore tale che(x1,…,xn)∈{−1,1}n

k ∑ i = 1 a i x i ⩾ 0

∑i=1naixi=0and
Σio=1Kun'ioXio⩾0per tutti K∈{1,...,n}

Senza la seconda condizione è solo PARTITION, quindi NP-hard. Ma la seconda condizione sembra fornire molte informazioni aggiuntive. Mi chiedo se esiste un modo efficace per decidere questa variante. O è ancora difficile?

Risposte:


15

Ecco una riduzione da PARTITION a questo problema. Sia un'istanza di PARTITION. Supponiamo che .a 1 ≤ a 2 ≤ ⋯ ≤ a n(un'1,...,un'n)un'1≤un'2≤⋯≤un'n

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=(Σio=1n|un'io|)+1

N,...,N⏟5n volte,N+un'1,...,N+un'n,4N,...,4N⏟n volte
  1. 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,...,1⏟4n volte,-X1,...,-Xn,X1,...,Xn,-1,...,-1⏟n volte
  2. 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,...,X5n,y1,...,yn,z1,...,zn)Σio=1nun'ioyio≡0(modN)

    Σio=1nun'ioyio=0.
    (y1,...,yn)

Grazie Yury. Nella mia applicazione è essenziale che l'elenco di input sia ordinato in modo non decrescente, e che l'input non lo sia. Modificherò la domanda per rendere più esplicito il requisito dell'ordine. (N,un'1,...,un'n,N)
— Thomas Kalinowski il

@thomas: non me ne sono accorto. Ora ho aggiornato la mia soluzione.
— Yury
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.