حرکی پروگرامنگ ایک طریقہ ہے جسے پیچیدہ مسائل کو آسان ذیلی ذیلی ذیلی ضلعوں میں حل کرنے کے لیے استعمال کیا جاتا ہے خاص طور پر اس میں استعمال ہونے والے مسائل اور ان پر مشتمل ذیلی تقسیمات کے لیے استعمال کیا جاتا ہے. اس مضمون میں مختلف مسائل کو جانچنے کے لیے مختلف مسائل کو جانچنا ہے

حرکی کیمیائی نظام کو سمجھیں

حرکی پروگرامنگ میں شمارندی حساب سے بچنے کے لیے ذیلی داخلی نتائج کو ذخیرہ کرنا شامل ہے. یہ تکنیک تب ممکن ہے جب کوئی مسئلہ دو خصوصیات ظاہر کرتا ہے: زیادہ سے زیادہ زیریں اور انفنٹری ذیلی تقسیم۔ یہ یا تو اوپری ڈاؤن (mmoization) یا زیریں (tabulation) کے استعمال سے عمل میں لایا جا سکتا ہے۔

کیس کا مطالعہ : فی‌نااسی سی‌ڈی‌ڈی

فیبونوناککی ترتیب (Fibonacciocious) ایک کلاسیکی مثال ہے جس میں متحرک فعال پروگرامنگ کے لیے مخصوص کیا گیا ہے. مقصد Nth Fibnacci نمبر مؤثر طور پر تلاش کرنا ہے۔

اس سے پہلے کی جانے والی غیرمعمولی اقدار کو محفوظ کرنے سے وقت کی پیچیدگیوں کو کم کر دیا جاتا ہے ۔

مثلاً فیبونکسی(10) کو شمار کرنا:

فیبونکسی(10) = فیبونکسی(9) + فیبونکسی(8)۔

فیبونکسی (8) اور فیبونکسی (9) ذخیرہ کرنے سے حسابات کم ہوتے ہیں جس کے نتیجے میں ایک قابلِ عمل عمل اضافہ ہوتا ہے۔

کیس کا مطالعہ : کنگز‌کُن‌ناک مسئلہ

0/1 Knapack مسئلہ میں وزن اور مقدار کے ساتھ دیے گئے عناصر کے ساتھ انتخاب کرنا شامل ہے تاکہ وزنی حد سے تجاوز نہ ہونے کے بغیر مجموعی قدر کو کم کیا جا سکے۔

حرکی پروگرامنگ اسے ایک میز بنانے سے حل کرتا ہے جہاں ہر داخلے میں زیادہ مقدار میں قابلِ‌رسائی چیز اور مخصوص وزنی صلاحیت کی نمائندگی کرتی ہے ۔

اس میں سامان کی مقدار کو بہتر بنانے اور اس کی بنیاد پر میز کو ترتیب دینے کی ضرورت ہے ۔

غیرمتوقع دباؤ

کلیدی طور پر قابل قبول ذیلی ریاستوں میں شامل ہیں، مناسب ڈیٹا ترکیبوں کا انتخاب کریں اور ممکنہ طور پر فضاء کی پیچیدگیوں کا انتخاب کریں۔موشن کو دوبارہ سے حل کرنے کے لیے استعمال کیا جا سکتا ہے جبکہ تب تب تبریز اس کا حل بناتا ہے۔

  • سرِورق کی تصویر
  • اچھی بنیادیں
  • مناسب ڈیٹا ترکیبوں کا استعمال کریں۔
  • فضا اور وقت کی پیچیدگیوں کا جائزہ لیں