کامپیوتربرنامه نویسی

برنامه نویسی پویا، اصول اساسی

برای انتخاب راه حل بهینه در هنگام انجام وظایف برنامه نویسی گاهی اوقات نیاز به مرتب کردن مقادیر زیادی از ترکیب داده است که بارهای حافظه از کامپیوتر شخصی. این روش ها شامل، برای مثال، روش برنامه نویسی «تفرقه بینداز و حکومت کن». در این مورد الگوریتم مسئله گسست به کارهای فرعی کوچکتر جداگانه فراهم می کند. این روش فقط در مواردی که کارهای فرعی کوچک مستقل هستند قابل اجرا است. برای جلوگیری از انجام کار غیر ضروری است اگر وابسته زیر وظایف، با استفاده از روش برنامه نویسی پویا آمریکا R.Bellmanom پیشنهاد در 50S.

روش

برنامه نویسی پویا برای تعیین راه حل بهینه مشکل n بعدی، به اشتراک گذاری N مرحله جداگانه او است. هر یک از آنها زیر کار را با توجه به یک متغیر است.

مزیت اصلی این روش می تواند در نظر گرفته شود که توسعه دهندگان درگیر در مسئله بهینه سازی یک بعدی کارهای فرعی به جای یک مشکل n بعدی، و هدف اصلی ما این است که "پایین به بالا".

بهتر است برای اعمال برنامه نویسی پویا در آن مواردی که وظایف فرعی مرتبط هستند، به عنوان مثال به اشتراک گذاشتن ماژول رایج است. الگوریتم تصمیم هر یک از کارهای فرعی فراهم می کند یک بار، و پاسخ های صرفه جویی در است در یک جدول خاص انجام شده است. این باعث می شود این امکان را به محاسبه نیست جواب هنگامی که آنها دوباره با همان زیر کار ملاقات کرد.

کار برنامه نویسی پویا حل مشکل از بهینه سازی. نویسنده این روش توسط R. بلمن اصل بهینگی فرموله شد: هر چه حالت اولیه هر یک از مراحل و راه حل های تعریف شده در این مرحله، همه از موارد زیر را انتخاب کنید بهینه در رابطه با دولت، دریافت که سیستم در پایان مرحله.

روش عملکرد از وظایف حل با استفاده از مدل ها، و یا بازگشت را بهبود می بخشد.

الگوریتم کار ساختمان

الگوریتم برنامه نویسی پویا شامل ساخت چنین وظایف که این کار به طوری است که به دو یا چند کارهای فرعی برای راه حل آن تقسیم شده است یک راه حل بهینه برای تمامی کارهای فرعی تشکیل شده است، آن را شامل. علاوه بر این، آن را به ارسال یک رابطه بازگشتی، و محاسبه مقادیر پارامتر بهینه برای این کار به عنوان یک کل است.

گاهی اوقات، در مرحله 3 است که به حفظ برخی از اطلاعات پس زمینه های اضافی در پیشرفت هر وظیفه. این سکته مغزی بازگشت نامیده می شود.

روش کاربرد

برنامه نویسی پویا اعمال می شود که دو ویژگی مشخصه وجود دارد:

  • بهینه برای کارهای فرعی؛
  • حضور در مشکل با هم تداخل دارند زیر مسئله.

حل مشکل بهینه سازی شده توسط برنامه نویسی پویا، شما ابتدا نیاز به توصیف ساختار از راه حل. وظیفه را به بهینه اگر راه حل است از بهترین تصمیمات از کارهای فرعی آن تشکیل شده است. در این مورد، بهتر است آن را به استفاده از برنامه نویسی پویا.

اموال دوم از این مشکل، در این روش ضروری است، - تعداد کمی از زیر وظایف. راه حل بازگشتی از مشکل با استفاده از همان با هم تداخل دارند زیر مساله که تعدادی از آن بستگی به اندازه از اطلاعات اولیه. پاسخ این است که در یک جدول خاص ذخیره می شود، برنامه موجب صرفه جویی در زمان با استفاده از این داده ها.

به خصوص موثر استفاده از برنامه نویسی پویا زمانی که کار است که اساسا مورد نیاز برای تصمیم گیری در مراحل است. به عنوان مثال، یک مثال ساده از مشکل جایگزینی و تعمیر تجهیزات در نظر بگیرید. بیایید در کارخانه ماشین ریخته گری برای تولید لاستیک در همان زمان می گویند را تایر در دو فرم مختلف. در صورتی که یکی از اشکال می افتد، به پیاده کردن دستگاه لازم است. این قابل درک است که گاهی اوقات سود آور تر به جای و فرم دوم به منظور پیاده کردن دستگاه در مورد و این فرم را غیر در مرحله بعدی خواهد بود. به خصوص از آن را آسان تر به جای هر دو شکل کار قبل از شروع به شکست است. روش برنامه نویسی پویا تعیین بهترین استراتژی در این موضوع از جایگزین کردن این فرم ها، در نظر گرفتن تمام عوامل: مزایای اشکال ادامه استثمار، از دست دادن خرابی ماشین، هزینه لاستیک دور انداخته و بیشتر.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fa.delachieve.com. Theme powered by WordPress.