O que isto significa é que a mochila unária está em P. Isso não significa que a mochila (com números codificados em binário) está em P.
Sabe-se que a mochila é NP-completa. Se você mostrasse que a mochila está em P, isso mostraria que P = NP.
Mas você não mostrou que a mochila está em P. Você mostrou que a mochila unária está em P. No entanto, a mochila unária não é conhecida por ser NP-completa (na verdade, a suspeita padrão é que ela provavelmente não é NP-completa ) Portanto, colocar mochila unária em P não implica que P = NP.
Então, com qual problema devemos nos preocupar mais, mochila ou mochila unária? Se sua motivação é baseada em preocupações práticas, a resposta dependerá do tamanho dos números para os quais você deseja resolver o problema da mochila: se eles forem grandes, certamente você se preocupa mais com a mochila do que com a mochila unária. Se sua motivação é baseada em preocupações teóricas, a mochila é sem dúvida mais interessante, porque nos permite uma compreensão mais profunda - nos permite fazer a distinção entre tamanho e magnitude - enquanto a mochila unária nos impede de fazer essa distinção.
Para responder à pergunta de acompanhamento sobre o algoritmo de programação dinâmica para o problema da mochila:
Sim, o mesmo algoritmo de programação dinâmica pode ser aplicado às mochilas e à mochila unária. Seu tempo de execução é polinomial na magnitude dos números, mas exponencial (não polinomial) no comprimento dos números quando codificado em binário. Assim, seu tempo de execução é polinomial no comprimento da entrada quando a entrada é codificada em unária, mas não é polinomial no comprimento da entrada quando a entrada é codificada em binário. É por isso que consideramos esse algoritmo de programação dinâmica um algoritmo de tempo polinomial para mochila unária, mas não consideramos que seja um algoritmo de tempo polinomial para mochila (codificada em binário).
Lembre-se de que dizemos que um algoritmo é executado em tempo polinomial se seu tempo de execução é no máximo algum polinômio do comprimento da entrada, em bits .