J'espérais que quelqu'un pourrait m'expliquer pourquoi exactement le problème de produit de sous-ensemble est fortement NP-difficile alors que le problème de somme de sous-ensemble est faiblement NP-difficile.
Somme Sous - ensemble: Étant donné et , est - il existe un sous - ensemble de telle sorte que .X ′ ∑ i ∈ X ′ x i = T
Produit Subset: Étant donné et , ce qu'il existe un sous - ensemble tel que .T X ′ ∏ i ∈ X ′ x i = T
J'ai toujours pensé que les deux problèmes étaient équivalents - une instance de SS pouvait être transformée en une instance de SP via l'exponentiation et une instance de SP en SS via des logarithmes. Cela m'a amené à conclure qu'ils appartenaient tous deux à la même classe de NP-dur - c'est-à-dire qu'ils étaient tous deux faiblement NP-durs.
De plus, il semble que la même récurrence pourrait être utilisée pour résoudre les deux problèmes en utilisant la programmation dynamique avec un très petit changement (en remplaçant la soustraction en SS par la division en SP).
C'était jusqu'à ce que je lise le chapitre 8 de "Theory of Computation" de Bernard Moret (pour ceux qui n'ont pas le livre, il a une preuve de la dureté du produit du sous-ensemble via X3C - un problème fortement NP-difficile).
Je comprends la réduction, mais je ne peux pas comprendre ce qui n'allait pas avec ma conclusion précédente (équivalence des deux problèmes).
MISE À JOUR : Il s'avère que le produit du sous-ensemble n'est que faiblement NP-complet (le produit cible est exponentiel dans ). Gary et Johnson ont publié cela dans leur colonne NP-exhausteness en 1981 , mais je suppose que c'était moins visible que leur affirmation précédente dans leur livre.