Dureté NP d'un cas particulier de partitionnement numérique


12

Considérez le problème suivant,

  • Étant donné un ensemble de nombres positifs { a 1 , , a n } dans lesquels k 3 est une constante, nous voulons partitionner l'ensemble en m sous-ensembles de taille k de sorte que le produit de la somme de chaque sous-ensemble est maximisé.n=km{a1,,an}k3mk

Le problème est assez similaire au partitionnement de numéros -way bien connu, sauf que nous avons une limite sur le nombre de numéros dans chaque partition. Pour k = 2, l'algorithme polynomial simple suivant peut être proposé,mk=2

  • supposons que les nombres sont triés, c'est dire a 1 < a 2 < . . . < a n . Ensuite, pour i m, affectez a i au sous-ensemble i , pour i > m , affectez-le au sous-ensemble n - i + 1 .a1<a2<...<animaiii>mni+1

Il n'est pas difficile de voir pourquoi l'algorithme fonctionne. Choisissez simplement deux bacs arbitraires. Tout échange de chiffres n'augmentera pas la quantité du produit.

Mais pour les plus grands , je me demande si le problème peut être résolu en temps polynomial ou non? Je serais également reconnaissant si quelqu'un pouvait montrer sa dureté np.k

Remarque: J'ai rencontré le problème alors que je travaillais sur un problème de planification dans les réseaux sans fil. J'ai trouvé un bon algorithme heuristique pour résoudre le problème. Mais après un certain temps, j'ai pensé que le problème pourrait être théoriquement intéressant.


2
k=2

2
@Mohsen, merci. Je suggérerais que vous incluiez ces commentaires sur la motivation, les antécédents et ce que vous savez sur le cas k = 2 dans la question. Cela le rendrait probablement plus intéressant pour les autres.
Kaveh

4
Mon intuition est que le produit de la somme de chaque sous-ensemble est maximisé lorsque les sommes sont égales ou que la différence maximale par paire est minimale. Dans cette hypothèse, nous obtenons une réduction facile à partir de 3 partitions qui sont NP-complètes (pour k = 3).
Mohammad Al-Turkistany

3
(J'ai supprimé deux commentaires que j'ai postés il y a quelques heures pour les réécrire plus précisément.) Comme l'a suggéré turkistany, le problème de la partition k est réductible à ce problème, et donc ce problème est NP-difficile pour chaque constante k≥3. La seule propriété pertinente est que le maximum du produit des sommes est au moins (∑a_i / k) ^ m si et seulement si les nombres peuvent être partitionnés en m ensembles chacun de taille k dont les sommes sont toutes égales. Le produit n'est pas toujours maximisé par la partition qui minimise la différence maximale par paire, mais cela n'a pas d'importance tant que nous considérons le problème exact. (plus)
Tsuyoshi Ito

3
(suite) Si vous avez besoin que l'entrée soit un ensemble au lieu d'un multiset , cette réduction fonctionne toujours parce que le problème de la partition k reste NP-complet même avec un ensemble, mais soyez prudent car la preuve standard de l'exhaustivité NP du problème des 3 partitions ne fonctionne que lorsque l'entrée est autorisée à contenir le même entier plus d'une fois. Voir Complexité informatique du problème des 3 partitions avec des nombres distincts (attention: auto-promotion).
Tsuyoshi Ito

Réponses:


11

(Ceci est une version un peu plus détaillée de mes commentaires sur la question.)

Comme la Turquie l'a suggéré dans un commentaire sur la question, ce problème est NP-difficile pour chaque constante k ≥3 par une réduction du problème de la partition k . La réduction ne change pas du tout les instances: il suffit de noter que le maximum du produit des sommes est au moins (∑ a i / k ) m si et seulement si les nombres peuvent être partitionnés en m ensembles chacun de taille k dont les sommes sont Tous égaux.

Notez que l'entrée du problème de partition k est généralement définie comme étant des nombres de km qui peuvent ne pas être tous distincts , et cela est essentiel dans la preuve standard de son exhaustivité NP (comme celle de Garey et Johnson ). Par conséquent, la réduction ci-dessus prouve seulement la dureté NP d'une légère généralisation du problème actuel où l'entrée peut être un multiset au lieu d'un ensemble. Cependant, cet écart peut être comblé car le problème de la partition k reste NP-complet même si les nombres dans l'entrée doivent être tous distincts; voir [HWW08] pour le cas de k = 3 (voir aussi la réponse de Serge Gaspersà une autre question), qui peut être modifiée facilement pour des valeurs plus grandes de k .

De plus, tout ce qui est indiqué ici reste NP-complet / NP-dur même lorsque les nombres dans l'entrée sont donnés en unaire.

[HWW08] Heather Hulett, Todd G. Will, Gerhard J. Woeginger. Réalisations multigraphiques de séquences de degrés: la maximisation est facile, la minimisation est difficile. Lettres de recherche opérationnelle , 36 (5): 594–596, septembre 2008. http://dx.doi.org/10.1016/j.orl.2008.05.004

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.