الگوریتم امروز

وبلاگ تخصصی الگوریتم

الگوریتم امروز

وبلاگ تخصصی الگوریتم

وبلاگ علمی و مخصوص مباحث الگوریتمی است.
نظر خصوصی نگذارید چون جواب نمی‌دهم نظر عمومی بگذارید بدون نام هم که باشد همانجا جواب می‌دهم.

بایگانی

جواب سوال ۷ تمرین الگوریتم تقریبی

پنجشنبه, ۲۸ فروردين ۱۳۹۳، ۰۸:۰۸ ق.ظ

گراف جهت‌داری داده شده است که یالهای آن علاوه بر طول، وزن هم دارند. می‌خواهیم به ازای دو رأس مشخص s و t مسیر با کمترین هزینه از s به t را پیدا کنیم که طول آن از L بیشتر نباشد.

ما حل مسأله را در حالتی که طول همه‌ی یالها برابر باشند بلدیم: کوتاهترین مسیر را روی وزن یالها اجرا می‌کنیم. پس اگر اختلاف کوتاهترین مسیر و طولانی‌ترین مسیر کم باشد می‌توانیم آن را تقریبی حل کنیم. اگر بتوانیم با عملی مانند جستجوی دودویی کرانهای بالا و پایین را به هم نزدیک کنیم به نتیجه مورد نظر می‌رسیم. برای این کار طول مسیر را بر (n-1) تقسیم می‌کنیم و برای یالها کران به دست می‌آوریم بعد با تقسیم وزن یالها به این مقدار تعداد وزن‌های متمایز را محدود می‌کنیم و می‌توانیم با dynamic programming مسأله را حل کنیم. هر بار طول مسیر را یکی زیاد می‌کنیم و در صورتی که جواب بهتر شد آن را جایگزین جواب قبلی می‌کنیم.

؟؟ در مقاله اصلی گفته شده که رأسها را طوری شماره‌گذاری می‌کنیم که اگر بین دو رأس یال باشد رأس اول شماره کمتری از رأس دوم دارد. این topological sort است که نیاز به شرط نبودن دور در گراف دارد.

دو الگوریتم بر حسب طول مسیر و وزن مسیر داده است که اولی از مرتبه‌ی تعداد یالهای * حداکثر طول یال و دومی از مرتبه‌ی تعداد یالها * هزینه مسیر بهینه است. (هر دو dp). الگوریتم‌های دقیق هستند برای حالتی از مسأله که ماکسیمم طول مسیر مشخص باشد.

موافقین ۰ مخالفین ۰ ۹۳/۰۱/۲۸
سپیده آقاملائی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی