A soma de subconjuntos permite multisets?


9

No problema de Subconjunto de soma, alguns dos números fornecidos podem a1,a2,a3,,anser o mesmo? Por exemplo, podemos ter[1,1,1,2,3,4] e o alvo é 5? Posso assumir que tenho uma solução específica com números2 e 3 e 1,1,1 e 2 não é?


6
Você diz potayto, eu digo potahto. É bastante comum os cientistas da computação embaçarem a distinção formal entre conjuntos e multisets; a única maneira de ter certeza é ler atentamente a definição . Todas as variantes do problema Subset Sum são NP-complete.
Jeffe

Respostas:


10

Uma pergunta que poderíamos fazer é "Podemos reduzir isso de volta ao problema da soma de subconjuntos?" Nesse caso, a resposta é sim : para cada duplicadoz substituímos por dois números x e y de tal modo que x+y=z.

[1,1,2,3][7,1,2,3,6]

No entanto, precisamos ter cuidado para não apresentar soluções adicionais (aquelas que usam apenas x sem y), o que podemos fazer fazendo x>|Σ(ai)| para ai<0Ae y<|Σ(ai)| para ai>0A. Especificamente, isso impede o uso dex sem y (e vice-versa), fazendo a soma de x e todos os números negativos estritamente acima de zero (e, portanto, não satisfazem o problema tradicional de soma de subconjuntos).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.