Une autre variante de PARTITION

13

J'ai une réduction du problème de partition suivant à un certain problème de planification:

Entrée: Une liste une1unen d'entiers positifs dans l'ordre non décroissant.

Question: Existe-t-il un vecteur (X1,,Xn){-1,1}n tel que

je=1nunejeXje=0et
je=1kunejeXje0pour tous k{1,,n}

Sans la deuxième condition, c'est juste PARTITION, donc NP-hard. Mais la deuxième condition semble fournir beaucoup d'informations supplémentaires. Je me demande s'il existe un moyen efficace de décider de cette variante. Ou est-ce toujours difficile?

Thomas Kalinowski
la source

Réponses:

15

Voici une réduction de PARTITION à ce problème. Soit (une1,,unen) une instance de PARTITION. Supposons que une1une2unen .

Soit un «très grand nombre», par exemple . Considérez l'instance de notre problème.N = ( n i = 1 | a i | ) + 1 N , , N 5 n  fois , N + a 1 , , N + a n , 4 N , , 4 N n  foisNN=(je=1n|uneje|)+1

N,,N5n fois,N+une1,,N+unen,4N,,4Nn fois
  1. S'il existe une solution à PARTITION alors est une solution à notre problème.1 , , 1 4 n  fois , - x 1 , , - x n , x 1 , , x n , - 1 , , - 1 n  foisX1,,Xn

    1,,14n fois,-X1,,-Xn,X1,,Xn,-1,,-1n fois
  2. S'il existe une solution à l'instance de notre problème (à laquelle nous avons réduit une instance de PARTITION), alors . Ainsi Autrement dit, est une solution à PARTITION.(X1,,X5n,y1,,yn,z1,,zn)je=1nunejeyje0(modN)

    je=1nunejeyje=0.
    (y1,,yn)
Yury
la source
Merci Yury. Dans mon application, il est essentiel que la liste des entrées soit ordonnée de manière non décroissante, et que l'entrée ne l'est pas. Je vais modifier la question pour rendre la commande plus explicite. (N,une1,,unen,N)
Thomas Kalinowski
@thomas: Je ne l'ai pas remarqué. Maintenant, j'ai mis à jour ma solution.
Yury