এটা এখনও NPঅসম্পূর্ণ, এমনকি জন্য k=2। সাবসেটের যোগফলের উদাহরণ দেওয়া, আমরা সংখ্যাগুলি বিভক্ত করে এবং কিছু অতিরিক্ত বিট যোগ করে এই রূপটিতে রূপান্তর করতে পারি।
প্রথমত, সমস্যায় সমস্ত সংখ্যার যোগফল কম হবে 2m কিছু মূল্য জন্য m।
এখন, একটি নম্বর নেওয়া যাক n মূল সমস্যা যা আছে kবিট সেট। আমরা এই সংখ্যাটি বিভক্ত করবk ঠিক 2 বিট সহ সংখ্যাগুলি এমন সেট করে যা সেই সংখ্যার যোগফল n+2k+m। আমরা এটি পুনরুক্তি করে অনুসন্ধান করে করতে পারি do⌈k⌉ প্রথম পর্যন্ত যোগফলগুলি ⌈k⌉ বিট প্লাস 2k+m−1 এবং ⌊k⌋ শেষ পর্যন্ত সংখ্যার যোগফল ⌊k⌋ বিট প্লাস 2k+m−1।
এই সংখ্যাটি ছাড়াও আমরা সংখ্যাটি যুক্ত করব 2k+mসমস্যা একটি সমাধানে অবশ্যই এই সংখ্যাটি বা সমস্তটি থাকা উচিতkপূর্বে নির্মিত সংখ্যা। যদি মূল টার্গেট মান ছিলt নতুন লক্ষ্য মান হবে t+2k+m।
যদি মূল সমস্যাটির একাধিক নম্বর থাকে তবে আমরা এই প্রক্রিয়াটি পুনরাবৃত্তি করতে পারি k+m+1 নতুন মান জন্য m।
বিট পজিশনে কেবল দুটি উপায় রয়েছে k+m সেট করা যেতে পারে: উত্তরে নম্বর থাকতে পারে 2k+m বা সমস্ত k সংখ্যার উপরে n+2k+m। সুতরাং আমরা আপনার সাবসেটের যোগফলের সাবসেটের যোগফল হ্রাস করেছি।
উদাহরণ হিসাবে, নেওয়া যাক {2,3,5} লক্ষ্য মান সহ 7। নিম্নলিখিত বাইনারি সংখ্যা গ্রহণ করে এখানে উপসেট যোগফলের বৈকল্পিক হিসাবে এই সমস্যাটি এনকোড করা যেতে পারে:
2 ম্যাপ করা হয় 0100 1 এবং 0000 1। (অতিরিক্ত বিট ব্যবহার এখানে কঠোরভাবে প্রয়োজন হয় না))
3 ম্যাপ করা হয় 1000 00 1,0100 00 1 এবং 0000 00 01
5 এ ম্যাপ করা যায় 1000 00 000 1,0010 00 000 1 এবং 0000 00 000 01।
নতুন লক্ষ্য মান হয়ে যাবে 1110 10 010 01।
যদি মূল সমস্যাটি প্রতিনিধিত্ব করা হয় n বিটস, তারপরে রূপান্তরিত সমস্যাটি সর্বাধিক রয়েছে O(n4)বিট। মূল সমস্যাটি সর্বাধিক থাকবেO(n) সর্বাধিক সহ প্রতিটি সংখ্যা O(n)বিটস, সুতরাং তাদের সকলের যোগফল ও (এন)। পরিবর্তিত সমস্যা হবেO(n2) সংখ্যা (প্রতিটি থেকে nবিট নম্বর বিভক্ত হয় n+1 2বিট সংখ্যা, যার দৈর্ঘ্য সর্বাধিক রয়েছে O(n2) যেহেতু আমরা ব্যবহার করি nপ্রতিটি সংখ্যার জন্য অতিরিক্ত বিট সুতরাং রূপান্তরিত সমস্যার মোট আকার sizeO(n4) বিট।