سلام و عرض ادب خدمت دوستان و همراهان همیشگی وب سایت آموزش برنامه نویسی سورس باران. در این مطلب فیلم آموزش کلاس درس الگوریتم تقریبی – بخش سوم رو برای شما جهت دانلود قرار داده ایم. این دوره از کلاس درس دکتر حمید ضرابی زاده در دانشگاه صنعتی شریف ضبط شده است و توضیحات بیشتر آن در ادامه مطلب موجود می باشد. لطفا با ما همراه باشید…
فیلم آموزش کلاس درس الگوریتم تقریبی – بخش سوم
- آموزش مربع های واحد مستقل در الگوریتم تقریبی
- پیدا کردن بیشترین تعداد مربع هایی که با هم اشتراکی ندارند
- آموزش کوله پشتی در الگوریتم تقریبی
- الگوریتم گریدی برای مساله کوله پشتی در الگوریتم تقریبی
- آموزش داینامیک پروگرمینگ در الگوریتمت تقریبی
- آموزش بسته بندی جعبه ها در الگوریتم تقریبی
- معرفی الگوریتم فرست فیت First Fit in Approximate Algorithm
- آموزش فرونشده دوره گرد اقلیدسی در الگوریتم تقریبی
نکته!!! لطفا توجه داشته باشید که این فیلم در خود کلاس ضبط شده است.
الگوریتم تقریبی
الگوریتم تقریبی چیست؟
الگوریتم تقریبی (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 در مرتبه زمانی نمایی حل میشوند)
شاید برایتان جذاب باشد: آموزش برنامه نویسی برای صفرکیلومترها
[box title=” معرفی مدرس حمید ضرابی زاده”]لیست جلسات قبل دوره الگوریتم تقریبی
تحصیلات :
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- حجم فايل : 571 مگابایت
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۲۱ تیر ۱۳۹۷
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- رپورتاژ
- فروشگاه
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- Go
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس