فیلم آموزش کلاس درس الگوریتم تقریبی – بخش اول
فیلم آموزش کلاس درس الگوریتم تقریبی – بخش اول

 

سلام خدمت دوستان و همراهان وب سایت آموزش برنامه نویسی سورس دون. در این مطلب فیلم آموزش کلاس درس الگوریتم تقریبی – بخش اول برای شما جهت دانلود قرار داده ایم. این دوره از کلاس درس دکتر حمید ضرابی زاده در دانشگاه صنعتی شریف ضبط شده است و توضیحات بیشتر آن در ادامه مطلب موجود می باشد. لطفا با ما همراه باشید…

فیلم آموزش کلاس درس الگوریتم تقریبی – بخش اول

  • الگوریتم تقریبی یا Approximate Algorithm چیست؟
  • چرا به سراغ الگوریتم تقریبی می رویم؟
  • ورتکس کاور یا Vertex Cover در الگوریتم تقریبی
  • بررسی نسخه وزن داره Vertex Cover
  • Lapping و LP Randing در الگوریتم تقریبی
  • پوشش راس وزن دار در الگوریتم تقریبی
  • پیدا کردن زیر مجموعه راس ها با کمترین وزن که کل یال ها را می پوشاند
  • پوشش مجموعه ای (Set Cover)
  • مساله فروشنده دوره گرد در الگوریتم تقریبی

نکته!!! لطفا توجه داشته باشید که این فیلم در خود کلاس ضبط شده  است.

الگوریتم تقریبی

الگوریتم تقریبی چیست؟

الگوریتم تقریبی (Approximation Algorithms) در علوم رایانه و تحقیق عملیاتی، الگوریتمی برای پیداکردن راه‌حل‌های تقریبی برای مسائل بهینه‌سازی است. این الگوریتم‌ها اغلب برای حل تقریبی مسائل ان‌پی سخت (به انگلیسی: NP-hard) بکار می‌روند زیرا بسیاری از مسائل بهینه‌سازی ان‌پی سخت هستند (در واقع بررسی کردن درستی جواب اینگونه مسائل با حل کلی آنها معادل است) طبق نظریه پیچیدگی محاسباتی تا زمانیکه P ≠ NP، الگوریتم‌های کارامد با زمان چندجمله‌ای برای چنین مسائلی پیدا نخواهد شد مگر اینکه P = NP که چنین فرضی هم خیلی بعید است. برخلاف الگوریتم جستجوی کاشف که راه‌حل‌هایی بهینه، اغلب بدون اثبات و بدون کران برای جواب خود هستند؛ الگوریتم‌های تقریبی راه حلهایی شبه بهینه همراه با ضریبی برای میزان تقریب جواب واقعی ارائه می‌دهند همچنین وجود جواب خود را در بازهٔ خطای اعلام شده تضمین می‌کنند. (مثلاً جواب آنها ۲ برابر جواب بهینه است) منتها جواب خود را در زمان چندجمله‌ای تولید می‌کنند. الگوریتم‌های تقریبی برای مسائل P نیز استفاده می‌شوند ولی به ازای ورودی‌های بزرگ خوب عمل نمی‌کنند.

الگوریتم تقریبی
الگوریتم تقریبی

بسیاری از مسائل بهینه‌سازی در ریاضیات، علوم کامپیوتر، و مهندسی ان‌پی-سخت هستند و بنابراین به دست‌ آوردن جواب‌های بهینه برای این مسائل در زمان چندجمله‌ای غیرمحتمل است. الگوریتم‌های تقریبی این امکان را فراهم می‌آورند که جواب‌هایی نزدیک به جواب‌ بهینه با ضریب تقریب قابل اثبات برای این دسته از مسائل به دست آورد. هدف این درس، آشنایی با مفاهیم و تکنیک‌های متداول در طراحی الگوریتم‌های تقریبی حول محور مسائل بنیادی در بهینه‌سازی ترکیبیاتی، و نیز بررسی روش‌های اثبات سختی تقریب برخی از این مسائل است. یکی از مثال‌های معروف برای الگوریتم‌های تقریبی، مسئله پوشش راسی (به انگلیسی: vertex cover) در گراف است: پیدا کردن یال پوشش داده نشده و اضافه کردن هر دو رأس آن به مجموعه پوشش رأسی تا زمانی که هیچ یال پوشش نیافته نماند.

الگوریتم تقریبی
الگوریتم تقریبی

واضح است که مجموعه جوابهای این الگوریتم دو برابر جواب‌های بهینه یعنی مجموعه کمترین رأس‌ها برای پوشش دادن همه یال‌ها در یک گراف است؛ پس ضریب ثابت این الگوریتم ۲ است. الگوریتم‌های تقریبی موجود برای مسائل ان پی-سخت با هم تفاوت بسیاری دارند؛ مثلاً مسئله بسته‌بندی (به انگلیسی: bin packing problem) را می‌توان به ازای هر ضریب بزرگتر از یک تقریب زد، (اگر بتوانیم الگوریتمی تقریبی با ضریب یک برای چنین مسائلی ارائه دهیم P = NP می‌شود) به این خانواده از مسائل Polynomial time approximation scheme می‌گویند؛ درحالیکه ثابت شده است که برای برخی مسائل دیگر هیچ الگوریتم تقریبی‌ای یافت نمی‌شود مگر آنکه P=NP شود مانند مسئله بزرگترین خوشه (به انگلیسی: maximum clique problem) (پیدا کردن بزرگترین زیرگراف کامل) مسائل ان پی-سخت را می‌توان با برنامه‌ریزی خطی (مسائل برنامه‌ریزی خطی‌ای که x i {\displaystyle x_{i}} x_iهای صحیح دارند) متناظر کرد و در نتیجه آنها را در زمانهای نمایی حل کرد. (مسائل IP در مرتبه زمانی نمایی حل می‌شوند)

دمو دوره (جهت اجرا آنلاین دمو، فلش پلیر نصب نمایید) “”لینک دانلود دمو””