Le problème de sous-ensemble est un problème classique NP-complet:
Étant donné une liste de nombres et un cible , y a-t-il un sous-ensemble de nombres de qui se résume à ?L k
Un étudiant m'a demandé si cette variante du problème appelé problème de "produit de sous-ensemble" est NP-complète:
Étant donné une liste de nombres et une cible , existe-t-il un sous-ensemble de nombres de dont le produit est ?k L k
J'ai fait quelques recherches et je n'ai pas trouvé de ressources qui parlaient de ce problème, bien que peut-être je les ai manquées.
Le problème de produit du sous-ensemble est-il NP-complet?
complexity-theory
np-complete
reductions
templatetypedef
la source
la source
Réponses:
Un commentaire mentionne une réduction du X3C au PRODUIT SOUS-ENSEMBLE attribué à Yao. Étant donné l'objectif de la réduction, il n'était pas difficile de deviner quelle aurait été la réduction.
Définitions:
Pour réduire une instance X3C en une instance SUBSET PRODUCT:
Etablir une cartographie bijective entre les membres deX et le premier nombres premiers. Remplacez les membres de X et des sous-ensembles C par les nombres premiers mappés.|X| X C
Pour chaque sous-ensemble en , multipliez ses membres ensemble; la liste de produits résultante est L pour l'instance SUBSET PRODUCT. Étant donné que les nombres premiers sont utilisés pour le mappage à l'étape 1, les produits sont garantis équivalents si les sous-ensembles sont équivalents par le théorème de factorisation unique .C L
Multipliez les membres de ensemble; le produit résultant est la valeur k de l'instance SUBSET PRODUCT.X k
Les principaux facteurs de sont exactement les membres de X . Les facteurs premiers des nombres enk X correspondent exactement aux membres dessous-ensembles C. Par conséquenttoute solution à la nouvelle instance de produit de SUBSET peut être transformé en une solution de X3c en mappant les éléments desolution de L vers les sousensembles en C .L C L C
Chacune des 3 étapes de transformation implique des opérations polynomiales à la taille de l'entrée ou la taille d'un élément de X . Le premier | X | les nombres premiers peuvent être générés dans le temps O ( | X | ) à l'aide du tamis d'Ératosthène et sont garantis pour s'insérer dans O ( | X | 2 ln| X| X | X| | X| espace | X | ) par lethéorème des nombres premiers.O ( | X|2ln| X| )
la source
Selon [ 1 ]: Oui c'est
Je cite également la même référence: Commentaires: Il y a une distinction technique subtile entre ceci et le problème 42: le premier cas a un algorithme pseudo-efficace obtenu en permettant aux nombres d'être représentés en unaire; sauf si tous les problèmes NP-complets peuvent être résolus par des algorithmes rapides, cependant, le problème de produit de sous-ensemble ne peut pas être résolu par des méthodes «efficaces» utilisant même cette représentation d'entrée déraisonnable.
jetez un oeil sur [2] pour une réduction. [2]: Fellows, Michael et Neal Koblitz. "Complexité et cryptographie à paramètres fixes." Algèbre appliquée, algorithmes algébriques et codes de correction d'erreur (1993): 121-131.
la source