ডাইনামিক প্রোগ্রামিং
ডাইনামিক প্রোগ্রামিং হল কম্পিউটারে প্রোগ্রাম লিখার এবং গাণিতিক নিখুঁতীকরণের একটি পদ্ধতি। রিচার্ড বেলম্যান ১৯৬০ এর দশকে এই পদ্ধতিটি উদ্ভাবন করেন এবং বর্তমানে অনেকসংখ্যক কর্মক্ষেত্র, অ্যারোস্পেস প্রকৌশল হতে অর্থনীতিতে এটি ব্যবহৃত হচ্ছে। উভয় প্রসঙ্গে একটি জটিল সমস্যাকে সহজতর এবং ক্ষুদ্রতর সমস্যায় ভাগ করে পুনরাবৃত্তিয় (রিকার্সিভ) ভাবে সমাধান করাকে এটি নির্দেশ করে। যদিও কিছু বাছাইকরণ (ডিসিশন) সমস্যা এ পদ্ধতিতে বিভাজন সম্ভব নয়, যে বাছাইগুলো সময়ের একাধিক বিন্দুতে অবস্থান করে সেগুলিকে পুনরাবৃত্তভাবে ভাগ করা সম্ভব। অনুরূপভাবে কম্পিউটার বিজ্ঞানে, যদি একটি বড় সমস্যাকে ছোট ছোট সমস্যায় বিভক্ত করে সবগুলোকে পুনরাবৃত্তভাবে সমাধানের মাধ্যমে পুরো সমস্যাটির সন্তোষজনকভাবে সমাধান করা সম্ভব, তাহলে এটির অপ্টিমাল সাবস্ট্রাকচার বৈশিষ্ট রয়েছে বলে ধরে নেয়া যায়। যদি উপ-সমস্যাগুলিকে পুনরাবৃত্তিয়ভাবে বৃহৎ সমস্যার মধ্যে আবদ্ধ করা যায় যাতে করে ডাইনামিক প্রোগ্রামিং এর পদ্ধতিগুলি এর ওপর প্রয়োগযোগ্য হয়, তাহলে বৃহত্তর সমস্যার মান ও ক্ষুদ্রতর সমস্যাগুলির মানের মাঝে একটি সম্পর্ক রয়েছে বলে ধরে নেয়া যেতে পারে। গাণিতিক অপ্টিমাইযেশন বিদ্যায় এই সম্পর্ককে বলা হয় বেলম্যান সমীকরণ।