#خوارزميون
@PrograminLovers
مقدمة في أساسيات تصميم الخوارزميات – البرمجة الديناميكية:
البرمجة/التخطيط الديناميكي هي تقنية لتصميم الخوارزمية ابتكرها عالم الرياضيات الأمريكي ريتشارد بيلمان في الخمسينيات من القرن الماضي كطريقة لتحسين عمليات اتخاذ القرار ذات المراحل المتعددة https://t.co/J9MJeRl1OT
وكلمة برمجة هنا تعني التخطيط وليس برمجة الحاسب. وقد تم اعتماد هذه الأسوب في تصميم الخوارزميات لحل المشكلات الفرعية المتداخلة، فبدلاً من حل المشكلات الفرعية مرارا وتكرارا، يتم حل كل مشكلة فرعية مرة واحدة فقط، وتسجيل النتائج في جدول يمكن من خلاله الحصول على حل للمشكلة بدون تكرار. https://t.co/vMbk4ImO8L
يمكن توضيح هذه التقنية من خلال استخدام سلسلة أرقام فيبوناتشي المشهورة كمثال، والتي تأتي بهذه الصيغة 0,1,1,2,3,5,8,13,21
والتي يمكن تحديدها من خلال التكرار البسيط التالي:
F(n) = F(n − 1) + F(n − 2) for n > 1
مع مراعاة الحالتين الاستثنائيتين التاليتين
F(0) = 0
F(1) = 1
وتوضح الصورة الشجرية التالية طريقة حساب العدد الخامس في هذه السلسلة https://t.co/St0vl1ZcbV
ويمكن تطبيق خوارزمية من نوع (فرق تسد) لحل هذه المشكلة كما هو موضح https://t.co/dAfWegBG9N