মডিউল ১৯_২ঃ সাবসেট সাম Bottom up
Last updated
Last updated
আমরা এখন সাবসেট সাম এর Bottom up এপ্রোচটা দেখবো। ট্যাবুলার ফরম্যাট এ এই জিনিস্টা নিয়ে চিন্তা করব।
প্রথমে ধরি,
A = {1,2,3,6}
S = 7
আমাদের কাছে A একটি সেট ও সাম ৭।
তাহলে
তাহলে এখানে ইনিশিয়ালি ফার্স্ট রো ও কলাম ইনিশিয়ালাইজ করে ফেলি। এখানে প্রথম কলাম অবশ্যই true হবে কেননা যেকোনো এলিমেন্টকে চুজ না করে আমরা ০ বানাইতে পারি। আর প্রথম সারি false হবে কেননা কোনো কিছুকে চুজ না করে আমরা 0 এর বড় সংখ্যা বানাইতে পারি না।
তারপর ১,১ ঘরে true হবে কেননা প্রথম এলিমেন্টকে চুজ করে আমরা ১ বানাইতে পারি। ১,২ থেকে শুরু করে ১,৭ অব্দি false হবে কেননা প্রথম এলিমেন্ট ১ কে চুজ করে ১ এর বেশি বড় সংখ্যা বানানো সম্ভব না।
এবার ২,১ থেকে শুরু করে ২,৩ পর্যন্ত true হবে। কেননা প্রথম দুইটা ভ্যালু চুজ করে আমরা ৩ অব্দি সাম বানাইতে পারবো। তাই ৩ অব্দি সব true| এরপর ২,৪ হতে ২,৭ অব্দি সব false|
এবার ৩,১ থেকে শুরু করে ৩,৬ পর্যন্ত true হবে। কেননা প্রথম তিনটা ভ্যালু চুজ করে আমরা ৬ অব্দি সাম বানাইতে পারবো। তাই ৩ অব্দি সব true| এরপর ৩,৭ false|
এবার ৪,১ থেকে শুরু করে ৪,৭ পর্যন্ত true হবে। কেননা প্রথম ৪টা ভ্যালু চুজ করে ৭ অব্দি বানানো সম্ভব।
ইনিশিয়ালাইজ পার্টঃ
যদি সাম এ্যারে এর কারেন্ট এলিমেন্ট সাম থেকে ছোট বা সমান হয় তাহলে সেই এলিমেন্ট সহ বা সেটা বাদে অপশনকে কন্সিডার করবো। আর নাহলে সেটা বাদে অপশনকে নিব।