আমি কিছুদিন ধরে ডায়নামিক প্রোগ্রামিংয়ে কাজ করছি। গতিশীল প্রোগ্রামিং পুনরাবৃত্তির মূল্যায়ন করার ক্যানোনিকাল পদ্ধতিটি হ'ল সমস্ত প্রয়োজনীয় মানের একটি সারণী তৈরি করে এবং একে একে সারিবদ্ধভাবে পূরণ করা। উদাহরণস্বরূপ Cormen, Leiserson et al দেখুন: একটি পরিচিতির জন্য "অ্যালগরিদমের ভূমিকা" ।
আমি দুটি মাত্রায় টেবিল-ভিত্তিক কম্পিউটিং স্কিমটিতে ফোকাস করি (সারি-সারি সারি ফিলিং) এবং সেল নির্ভরতাগুলির কাঠামোটি তদন্ত করি, অর্থাৎ অন্য কোষগুলি গণনা করার আগে কোন কোষগুলি করা দরকার। আমরা কোষের সূচকগুলির সেট । এর উপর নির্ভর করেনোট করুন চক্র মুক্ত থাকতে হবে।
আমি প্রকৃত ফাংশনটি বিমূর্ত করি যা গণনা করা হয় এবং এর পুনরাবৃত্ত কাঠামোর দিকে মনোনিবেশ করে। আনুষ্ঠানিকভাবে, আমি একটি recurrrence বিবেচনা হতে গতিশীল প্রোগ্রামিং যদি এটা ফর্ম আছে
0 , এবং কিছু (গণনাযোগ্য) ফাংশন যা মাধ্যমে ব্যবহার করে না ।
এর গ্রানুলারিটিটি রুক্ষ অঞ্চলগুলিতে (বামদিকে, উপরে-বাম দিকে, শীর্ষে, উপরের ডানদিকে ... বর্তমান সেলটিতে) সীমাবদ্ধ করার সময় একজন পর্যবেক্ষণ করে যে বৈধতার জন্য মূলত তিনটি কেস (প্রতিসাম্য এবং আবর্তন পর্যন্ত) রয়েছে গতিশীল প্রোগ্রামিং পুনরাবৃত্তি যা টেবিলটি পূরণ করা যায় তা জানিয়ে দেয়:
লাল এলাকাসমূহ (overapproximations এর) বোঝাতে । কেস এক এবং দুটি সাবটেট স্বীকার করে, কেস তিনটি সবচেয়ে খারাপ ক্ষেত্রে (সূচী রূপান্তর পর্যন্ত)। নোট করুন যে পুরো লাল অঞ্চলগুলি দ্বারা আচ্ছাদিত করা দরকার তা কঠোরভাবে প্রয়োজন হয় না ; টেবিলের প্রতিটি লাল অংশের কিছু কোষ এটিকে লাল রঙ করার জন্য যথেষ্ট। সাদা অঞ্চলগুলি স্পষ্টভাবে কোনও প্রয়োজনীয় কোষ না রাখার জন্য প্রয়োজনীয় ।
ক্ষেত্রে একের উদাহরণগুলি হ'ল দূরত্ব সম্পাদনা এবং দীর্ঘতম সাধারণ অনুচ্ছেদ , দুটি ক্ষেত্রে বেলম্যান এবং ফোর্ড এবং সিওয়াইকে প্রয়োগ হয় । কম স্পষ্ট উদাহরণগুলির মধ্যে যেমন সারিগুলি (বা কলামগুলি) পরিবর্তে ত্রিভুজগুলিতে কাজ করা হয় কারণ প্রস্তাবিত কেসগুলি ফিট করতে তারা ঘোরানো যেতে পারে; জো উদাহরণস্বরূপ উত্তর দেখুন ।
তিনটি কেসের জন্য আমার কাছে (প্রাকৃতিক) উদাহরণ নেই, যদিও! সুতরাং আমার প্রশ্নটি: তিনটি ক্ষেত্রে গতিশীল প্রোগ্রামিং পুনরাবৃত্তি / সমস্যাগুলির উদাহরণ কী?