আপনি যদি কেবল আপনার পুনরাবৃত্তির অ্যালগরিদমকে দ্রুত করতে চান তবে স্মৃতিচারণ যথেষ্ট হবে। এটি ফাংশন কলগুলির ফলাফলগুলি সংরক্ষণ করার কৌশলটি যাতে একই পরামিতিগুলির সাথে ভবিষ্যতের কলগুলি ফলাফলটিকে পুনরায় ব্যবহার করতে পারে। আপনার ফাংশনটি (এবং শুধুমাত্র যদি) এটি প্রযোজ্য
- এর পার্শ্ব প্রতিক্রিয়া নেই এবং
- এটি কেবলমাত্র তার পরামিতিগুলির উপর নির্ভর করে (অর্থাত্ কোনও রাজ্যে নয়)।
যদি (এবং কেবলমাত্র) একই পরামিতিগুলির সাথে বারবার কল করা হয় তবে এটি আপনার সময় সাশ্রয় করবে। জনপ্রিয় উদাহরণগুলির মধ্যে ফিবোনাচি সংখ্যাগুলির পুনরাবৃত্ত সংজ্ঞা অন্তর্ভুক্ত রয়েছে, এটি
f(0)f(1)f(n+2)=0=1=f(n+1)+f(n), n≥0
ff(n)f(n+1)
মনে রাখবেন যে, বিপরীতে, স্মৃতিচিহ্নটি মার্জ সাজানোর মতো অ্যালগরিদমের জন্য অকেজো হওয়ার পরে রয়েছে: সাধারণত কয়েকটি (যদি থাকে) আংশিক তালিকাগুলি অভিন্ন এবং সমতা পরীক্ষাগুলি ব্যয়বহুল (বাছাই করা কেবল কিছুটা ব্যয়বহুল!)।
ব্যবহারিক বাস্তবায়নে, আপনি কীভাবে ফলাফলগুলি সঞ্চয় করবেন তা কার্য সম্পাদনের ক্ষেত্রে দুর্দান্ত আমদানি। হ্যাশ টেবিল ব্যবহার করা সুস্পষ্ট পছন্দ হতে পারে তবে স্থানীয়তাটি ভেঙে দিতে পারে। যদি আপনার প্যারামিটারগুলি অ-নেতিবাচক পূর্ণসংখ্যার হয় তবে অ্যারেগুলি প্রাকৃতিক পছন্দ তবে যদি আপনি কেবল কয়েকটি এন্ট্রি ব্যবহার করেন তবে মেমরির ওভারহেডের কারণ হতে পারে। অতএব, স্মৃতিকথা প্রভাব এবং ব্যয়ের মধ্যে একটি বাণিজ্য; এটি পরিশোধ করে কিনা তা আপনার নির্দিষ্ট দৃশ্যের উপর নির্ভর করে।
ডায়নামিক প্রোগ্রামিং সম্পূর্ণ অন্য একটি জন্তু। সম্পত্তি যে সমস্যা সঙ্গে এটি প্রযোজ্য
- এটি সাব-সমস্যায় বিভক্ত হতে পারে (সম্ভবত একাধিক উপায়ে),
- এই সাব-সমস্যাগুলি স্বাধীনভাবে সমাধান করা যেতে পারে,
- (সর্বোত্তম) সমাধানগুলিকে মূল সমস্যাটির সমাধান (সর্বোত্তম) এবং একত্রিত করা যেতে পারে
- সাব-সমস্যাগুলির একই সম্পত্তি রয়েছে (বা তুচ্ছ)।
বেলম্যানের অনুকূলতার নীতিটি লোকেদের ডাকলে এটি সাধারণত (স্পষ্টভাবে) বোঝানো হয় ।
এখন, এটি কেবলমাত্র এক ধরণের সমস্যার বর্ণনা দেয় যা একটি নির্দিষ্ট ধরণের পুনরাবৃত্তি দ্বারা প্রকাশ করা যেতে পারে। এগুলির মূল্যায়ন (প্রায়শই) দক্ষ কারণ স্মৃতিকথা দুর্দান্ত প্রভাবের জন্য প্রয়োগ করা যেতে পারে (উপরে দেখুন); সাধারণত, ছোট ছোট subproblems অনেক বড় সমস্যার অংশ হিসাবে দেখা দেয়। জনপ্রিয় উদাহরণগুলির মধ্যে সম্পাদনার দূরত্ব এবং বেলম্যান-ফোর্ড অ্যালগরিদম অন্তর্ভুক্ত রয়েছে ।