Bunun anlamı, tekli sırt çantasının P'de olmasıdır. Bu, sırt çantasının (ikili kodlanmış sayılarla) P'de olduğu anlamına gelmez .
Sırt çantasının NP-tam olduğu bilinmektedir. Sırt çantasının P'de olduğunu gösterirseniz, bu P = NP'yi gösterir.
Ancak sırt çantasının P'de olduğunu göstermediniz. Tekli sırt çantasının P'de olduğunu gösterdiniz. Ancak, tekli sırt çantasının NP-tam olduğu bilinmemektedir (aslında, standart şüphe büyük olasılıkla NP-tam değildir ). Bu nedenle, P'ye tekli sırt çantası koymak, P = NP olduğu anlamına gelmez.
Peki, sırt çantası veya tekli sırt çantası hakkında hangi sorunu daha fazla önemsemeliyiz? Motivasyonunuz pratik kaygılara dayanıyorsa, cevap sırt çantası sorununu çözmek istediğiniz sayıların boyutuna bağlı olacaktır: eğer büyükse, sırt çantasıyla tekli sırt çantasından daha çok ilgilenirsiniz. Motivasyonunuz teorik kaygılara dayanıyorsa, sırt çantası tartışmasız daha ilginçtir, çünkü daha derin bir anlayış elde etmemize izin verir - boyut ile büyüklük arasındaki ayrımı yapmamıza izin verir - oysa sırt çantası bu ayrımı yapmamızı engeller.
Sırt çantası sorununun dinamik programlama algoritması hakkındaki takip sorusunu cevaplamak için:
Evet, aynı dinamik programlama algoritması olabilir hem arka çantalar ve tekli çantaya uygulanabilir. Çalışma süresi sayıların büyüklüğünde polinomdur, ancak ikili olarak kodlandığında sayıların uzunluğunda üsteldir (polinom değil). Bu nedenle, çalışma süresi , giriş tekli olarak kodlandığında giriş uzunluğunda polinomdur, ancak giriş ikili olarak kodlandığında giriş uzunluğunda polinom değildir . Biz neden en Yani do tekli sırt çantası için bir polinom zamanlı algoritması olmak için bu dinamik programlama algoritması düşünün, ama yok o (ikili kodlanmış) knapsack için polinom zamanlı algoritması olarak kabul etmekteyiz.
Bir algoritmanın, çalışma süresi en fazla bit uzunluğundaki giriş uzunluğunun bir polinomuysa, polinom zamanında çalıştığını söylediğimizi hatırlayın .