اهداف درس این جلسه حل مساله کوله پشتی با رویکرد حریصانه مقایسه رویکرد حریصانه با برنامه‌نویسی پویا در حل مساله.

Slides:



Advertisements
Similar presentations
معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
Advertisements

فاکتورهای مهم در ایجاد یک مقاله علمی
الگوریتم ژنتیکی. تعریف  الگوریتم ژنتیکی، رویه ای تکراری است که راه حل های انتخابیش را بصورت رشته ای از ژنها که کروموزوم نامیده می شوند، بازنمایی می کند.
Decision Tree.
Ali Karimpour Associate Professor Ferdowsi University of Mashhad ADVANCED CONTROL Reference: Chi-Tsong Chen, “Linear System Theory and Design”, 1999.
روش تحقیق جلسه چهارم دانشگاه صنعتی اصفهان دانشکده کشاورزی
به نام خدا برنامه سازی سمت سرور (php)
موضوع: دبير مربوطه: آموزشگاه : اجرا : عبارتهای جبری خانم مقصودی
Stepper Motor Configuration
ساختمان داده‌ها پیمایش گراف. مرور °مشکل: چگونه تمام نودهای گراف را مشاهده کنیم؟ °جستجوی اول عمق دنبال کردن مسیرهای بین راسها. °جستجوی اول سطح دیدن تمام.
Arrangements of Lines C omputational Geometry By Samaneh shafi naderi
CS Constraint Satisfaction Constraint Satisfaction Problems Chapter 5 Section 1 – 3 Modified by Vali Derhami.
هدف از مطالب درسی این جلسه
آشنايي با سيستم اعداد.
LINEAR CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad.
AHP فرایند تحلیل سلسله مراتبی. پیشگفتار یکی از کارآمد ترین تکنیک های تصمیم گیری فرایند تحلیل سلسله مراتبی ( Analytical Hierarchy process-AHP ) که اولین.
[c.
راهبرد عقبگرد (Backtracking)
دانشکده جغرافیا گروه سنجش از دور و GIS بهینه سازی مسیریابی مبتنی بر خوشه ‌ بندی با تقاضای تصادفی و ظرفیت محدود …. عنوان پیشنهادی رساله: دانشجو:کیوان باقری.
فصل 4- محاسبات زمانی در شبکه AoA
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
ویژگی های DHCP جلوگیری از Conflict سرعت بخشیدن به کارها مدیریت متمرکز
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
SY800 router mode [AD-14-TB ].
Mobile Robot Kinematics
کوئیز از جلسه قبل) در کامپیوتری برای ضرب استراسن فرایند تقسیم نمونه‌‌ای به اندازه n به نمونه‌های کوچکتر، بارگذاری در پشته، فراخوانی از آن، جمع‌ها و تفریق‌ها.
ساختمان داده ها جداول درهم سازی
ساختمان داده‌ها الگوریتمهای کوتاهترین مسیر
آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server
Odd-even merge sort مرتب سازی.
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 11
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
کنترل پیش بین مقاوم Min-Max
مدیریت مالی و اقتصاد مدیریت موضوع : نقطه سر به سر زمستان 93
فصل دوم جبر بول.
Route configuration for 5400W ADSL Router
برنامه ریزی خطی پیشرفته (21715) Advanced Linear Programming Lecture 3
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
Natural language Understanding James Allen
مقدمه اي بر مهندسي نيازمنديها
1.
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
Similarity transformation
Tree Sort.
کوئیز از جلسه قبل) کارخانه ای در حال خرید قطعه‌ای برای یکی از ماشین‌آلات خود می باشد اگر نرخ بهره 10% برای محاسبات فرض شود، دو مدل از قطعه ماشین در دسترس.
Instructor : Saeed Shiry & Mitchell Ch. 8
بسمه تعالی.
سميرا قانوني زهرا معدني
Bucket sort اكرم منوچهري زهرا منوچهري
Mobile Robot Kinematics
بسم‌الله الرحمن الرحیم
راهنمای استفاده از ابزار Mailings در Ms Word
راهبرد شاخه و حد (Branch and bound)
دکتر سعید شیری قیداری & فصل 5 کتاب
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
IN THE NAME OF GOD MATH SABA KARBALAEI
فصل ششم مدارهای ترتیبی.
ابزارهای جستجوی پایان نامه
توزیع میانگین نمونه سعید موسوی.
Mobile Robot Kinematics
به نام یکتای دانا فصل اول: متدها و قواعد.
مراحل پیش رو : 1- الگوریتم عقبگرد برای مسئله کوله پشتی صفر و یک
نسبت جرم فرمولی ”جرم اتمی و فرمول تجربی
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 7
ساختمان داده ها مرتب سازی درجی
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
ساختمان داده ها گرافها.
Presentation transcript:

اهداف درس این جلسه حل مساله کوله پشتی با رویکرد حریصانه مقایسه رویکرد حریصانه با برنامه‌نویسی پویا در حل مساله

یادآوری مسئله کوله‌پشتی صفر و یک که wi و pi و W همگی اعداد مثبتی هستند. می‌خواهیم زیر مجموعه A از S را به گونه‌ای مشخص کنیم که ...

ه) الگوریتم حریصانه در مسئله کوله پشتی صفر و یک اگر بخواهیم رویکرد brute-force را درنظر بگیریم ... باید تمامی زیرمجموعه‌های S را درنظر بگیریم و ... از اونهایی که مجموع وزنشون از W بیشتر است صرفنظر کنیم و ... از زیرمجموعه‌های باقیمانده اونی که بیشترین مجموع منفعت دارد را به عنوان پاسخ انتخاب کنیم. پیچیدگی محاسباتی این روش بادرنظر گرفتن n آیتم .... 2n می‌باشد

ه) الگوریتم حریصانه در مسئله کوله پشتی صفر و یک اولین راه حل حریصانه که شاید برای این مساله به ذهن برسد آن است که ... تمامی آیتم‌ها را بر اساس منفعتشان به صورت نزولی مرتب کنیم و ... به ترتیب آیتم‌ها را از مجموعه مرتب‌شده برداریم مادامیکه ... مجموع وزنشان از W بیشتر نشود. این استراتژی زمانیکه آیتم‌های با منفعت بالا وزن بیشتری در مقایسه با منفعتشون دارند مناسب نمی‌باشد.

ه) الگوریتم حریصانه در مسئله کوله پشتی صفر و یک احتمالا استراتژی بعدی این می‌تواند باشد که آیتم‌های سبک‌تر را ابتدا برداریم ... این استراتژی هم زمانی که آیتم‌های سبک منفعت کمی داشته باشند به شکست می‌انجامد.

ه) الگوریتم حریصانه در مسئله کوله پشتی صفر و یک راه حل حریصانه مناسب این است که ... آیتم‌ها را بر اساس منفعت واحد وزنشان به صورت نزولی مرتب کنیم و ... آیتم‌ها را تا زمانیکه مجموع وزنشان از W بیشتر نشود برداریم.

ه) الگوریتم حریصانه در مسئله کوله پشتی صفر و یک

ه) الگوریتم حریصانه در مسئله کوله پشتی کسری (Fractional) در مساله کوله‌پشتی کسری چنانچه برداشتن کل آیتم میسر نیست، می‌توان بخشی از آن را نیز برداشت. مثلا در مثال قبل ... بنابراین هیچ فضایی هدر نمی‌رود. پس همواره حل بهینه را خواهیم داشت.

ه) برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک چنانچه بتوانیم ... اصل بهینگی را در مساله کوله‌پشتی صفر و یک نشان دهیم ... بنابراین می‌توانیم آن را با برنامه‌نویسی پویا حل کنیم.

ه) برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک یادآوری اصل بهینگی (Principle of Optimality) تعریف: مساله‌ای شرایط اصل بهینگی را دارد چنانچه در آن مساله ... زیر راه‌حل‌های یک راه‌‌حل بهینه برای هر نمونه مساله‌ ... خودشان راه‌حل‌های بهینه برای زیرمسائلی متناظر باشند.

ه) برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک فرض کنیم که A، زیرمجموعه بهینه شامل n آیتم باشد ... باید نشان دهیم زیر راه‌حل‌های بهینه این راه حل بهینه خود حل‌های بهینه برای زیر مسائل متناظرشان هستند. در اینجا دو امکان وجود دارد ... یا A شامل itemn است یا نیست.

ه) برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک اگر A شامل itemn نباشد، بنابراین ... A دربرگیرنده پاسخ بهینه (زیر راه حل) برای n-1 آیتم (زیر مساله) می‌باشد. اگر A شامل itemn باشد ... بنابراین مجموع منفعت‌های بدست آمده در A برابر است با pn به اضافه ... منفعت بهینه بدست آمده از انتخاب n-1 آیتم اول ... البته با این محدودیت که ... مجموع وزن n-1 آیتم اول از ... W-wn بیشتر نشود. پس اصل بهینگی برقرار است

ه) برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک برای حل مساله با رویکرد برنامه ‌نویسی پویا همانند گذشته باید ... ویژگی بازگشتی تعریف کنیم که حل مساله از پایین به بالا ایجاد شود. یعنی ... ابتدا راه حل بهینه برای زمانیکه که A دارای 1 آیتم، سپس A دارای ... 2 آیتم، سپس دارای 3 آیتم و ... در نهایت A دارای n آیتم باشد.

ه) برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک ماتریس P را درنظر می‌گیریم که P[i][w] برابر است با ... منفعت بهینه زمانی باشد که ... i آیتم ابتدایی با این شرط که مجموع وزنشان از w تجاوز نکند. توجه: آیتم‌های لیست بر اساس نسبت منفعت به وزن مرتب شده‌اند. پاسخ نهایی ... P[n][W] می‌باشد.

ه) برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک بنابراین ماتریس P باید دارای سطرهایی با اندیس 0 تا n باشد. همچنین ... باید دارای ستون‌هایی با اندیس 0 تا W باشد تا ... بر اساس رابطه بازگشتی تعریف شده، المان‌های ماتریس را محاسبه کنیم تا در نهایت ... P[n][W] محاسبه شود. مقادیر P[0][w] و P[i][0] پیش‌فرض برابر 0 قرارداده می‌شود.

ه) روش بهبود‌یافته برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک با این روش حل، پیچیدگی محاسباتی هم به n و هم به ... W بستگی دارد. اگر مجبور باشیم تمامی المان‌های ماتریس را محاسه کنیم در این صورت باید … nW محاسبه انجام دهیم که روش ما داری مرتبه پیچیدگی محاسباتی Θ(nW) خواهد بود که ... به W وابسته است که اگر W مقادیر بزرگ مثلا n! داشته باشد در این صورت ... مثلا برای n=20، اجرای الگوریتم سال‌ها به طول خواهد کشید. در این حالت ... این الگوریتم از الگوریتم brute force که دارای پیچیدگی ... 2n بود بدتر می‌باشد.

ه) روش بهبود‌یافته برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک الگوریتم را می‌توانیم به گونه‌ای تغییر دهیم که پیچیدگی محاسبات کاهش یابد. چگونه؟ این واقعیت وجود دارد که نیازی نیست که مثلا در سطر i، مقادیر تمامی ستون‌ها از 1 تا W محاسبه شود. مثلا تنها المان‌هایی که نیاز است در سطر n-1 ام محاسبه شود ...

ه) روش بهبود‌یافته برنامه‌نویسی پویا در مسئله کوله پشتی صفر و یک بنابراین تعداد المان‌هایی از ماتریس که نیاز است محاسبه شود برابر می‌شود با ...