Download presentation
Presentation is loading. Please wait.
Published bySuparman Rachman Modified over 6 years ago
1
مراحل پیش رو : 1- الگوریتم عقبگرد برای مسئله کوله پشتی صفر و یک
2- مقایسه الگوریتم پویا و عقبگرد برای مسئله کوله پشتی صفر و یک
2
مسئله کوله پشتی صفر و یک در این مسئله مجموعه ای از قطعات را داریم که هر یک دارای وزن و ارزش معین است وزن ها و ارزش ها اعداد صحیح مثبت هستند. دزدی قصد دارد قطعاتی را که می دزدد درون یک کوله پشتی قرار دهد و اگر وزن کل قطعات قرار داده شده در کوله پشتی از یک عدد صحیح W فراتر رود کوله پشتی پاره می شود . هدف تعیین مجموعه ای از قطعات است که ارزش کل قطعات را بیشینه می کند به طوری که وزن کل آن ها از W بیشتر نشود.
3
مسئله کوله پشتی صفر و یک به روش عقبگرد
این مسئله را به صورت زیر به صورت یک درخت در می اوریم: هنگامی که از ریشه به سمت چپ می رویم نخستین قطعه در مجموعه قرار می گیرد و اگر از ریشه به سمت راست حرکت کنیم قطعه اول در مجموعه قرار نمی گیرد. در سطح دوم نیز اگر از یک گره به سمت چپ حرکت کنیم قطعه دوم در مجموعه قرار می گیرد و اگر به سمت راست حرکت کنیم این قطعه در مجموعه قرار نمی گیرد. در سایر سطوح نیز به همین صورت می باشد. مثال : فرض کنیم
4
نکته حائز اهمیت در این مساله این است که
تا زمانی که جستجو به پایان نرسد نمی توان دریافت گره ای حاوی یک حل می باشد یا خیر. در مثال بهتر متوجه میشوید .
5
مثال: فرض کنید W=16,n=4 و داشته باشیم :
قطعات از قبل بر اساس مرتب شده اند.
6
:Max profit ارزش کل BEST SET
ابتدا با چند تعریف آشنا می شویم یعنی بهترین مسیری که در درخت پیموده ایم)) :بهترین مجموعه ای که تا به حال انتخاب کرده ایمBEST SET : :Max profit ارزش کل BEST SET include :مجموعه ی انتخابی در هر مرحله (مسیری که الان در نود انتهای آن هستیم). Profit : ارزش کل Include weight : وزن کل مجموعه include bound : فرض می کنیم در گره ای واقع در سطح i قرار داریم و گره ی واقع در سطح k گره ای است که حاصل جمع اوزان را از بیشتر میکند در این صورت : W
7
این فرمول به ما می گوید بهترین سودی که در این مرحله در ذهن ما می گنجد داشته باشیم چقدر است به این صورت که ما نمی توانیم عنصر سطح را برداریم چون در صورت انتخاب ان مجموع وزنها از ما بیشتر میشود ولی فرض میکنیم که ما میتوانیم به اندازه ای که کوله ی ما جا دارد بخشی از ان را برداریم لذا بهترین سود فرضی ما در هر مرحله است . در هر مرحله بایستی انرا محاسبه نماییم در ادامه بهتر متوجه میشوید W K
8
مثال: فرض کنید W=16,n=4 و داشته باشیم :
قطعات از قبل بر اساس مرتب شده اند.
9
اشنایی با درخت کوله پشتی به روش عقب گرد
در هر دایره عدد بالایی است و عدد وسطی جمع اوزان انتخابی و عدد سوم است profit نود شروع، نودی تهی است bound
10
امید بخش بودن یک گره یعنی با توجه به مجموعه ی include،
شرایط امید بخش بودن : امید بخش بودن یک گره یعنی با توجه به مجموعه ی include، بتوانیم شئ دیگری را انتخاب کنیم و ازاین گره عبور کنیم (یعنی امید ملاقات گره های دیگر وجود داشته باشد). weight < w Max profit < bound شرایط انتخاب یک گره به عنوان گره پایانی(یعنی مجموعه ای که انتخاب کرده ایم، بهتر از مجموعه ی bestset است): Weight <= w Profit > max profit
11
Best set :{} Max prcofit : 0 Include : {} Profit : 0 Weight :0
12
توضیحات برای اسلاید قبل
- گره (0,0) را ملاقات می کنیم . - ارزش و وزن آن را محاسبه می کنیم(که برابر است با ارزش و وزن مجموعه ای که فعلا انتخاب کرده ایم (مجموعه include )) ( یعنی ارزش و وزن کل مسیری که منتهی به این گره میشود) : Profit=0 , weight=0 مقدار bound (حد) را محاسبه می کنیم: در سطح k=3 داریم : مجموع وزن های انتخابی از سطح i=0 برابر است با: =17 که > W=16
13
Best set{}به گره (1و1) میرسیم و داریم : با انتخاب شئ اول
Maxprofit : 0 Include { item 1 } Profit : 40 Weight : 2 Bound :115 Profit > max profit , weight<W best set {item 1} ,Maxprofit=40
14
توضیحات برای اسلاید قبل
3- گره (1,1) را ملاقات می کنیم . ارزش و وزن آن را محاسبه می کنیم : profit=$0+$40=$40 weight=0+2=2 مقدار bound (حد) را محاسبه می کنیم: 2+5+10= > k=3 maxprofit= 0
15
Profit > max profit , weight<W
Best set : {item1} Max profit: 40 Include : {item1,item2} Profit : 70 Weight : 7 Bound :115 Profit > max profit , weight<W best set}item1,item2} , Max profit=70
16
توضیحات برای اسلاید قبل
4- گره (2,1) را ملاقات می کنیم . ارزش و وزن آن را محاسبه می کنیم : profit=$40+$30=$70 weight=2+5=7 مقدار bound (حد) را محاسبه می کنیم: maxprofit= $40
17
Include : {item1,item2,item3} Profit : 120 Weight : 17
Best set : {item1,item2} Max profit: 70 Include : {item1,item2,item3} Profit : 120 Weight : 17 Profit > max profit , weight<W=16
18
توضیحات برای اسلاید قبل
5- گره (3,1) را ملاقات می کنیم . ارزش و وزن آن را محاسبه می کنیم : profit=$70+$50=$120 weight=7+10=17 چون 17 از مقدار W یعنی 16 بزرگتر می باشد این گره اصلا نمی تواند اتخاب شود 6- عقبگرد به گره (2,1) maxprofit= $70
19
Profit = max profit best set}item1,item2} Max profit : 70
Include : {item1,item2} Profit : 70 Bound :80 همانطور که ملاحظه می شود چون: لذا گره(2و3) انتخاب نمیشود و در مجموعه اتخابها قرار نمی گیرد ولی این گره شرایط امید بخش بودن را دارد لذا فرزندان این گره را بررسی میکنیم یاداوری شرط انتخاب گره profit > max profit و Weight <=W Profit = max profit
20
توضیحات برای اسلاید قبل
7- گره (3,2) را ملاقات می کنیم . ارزش و وزن آن را محاسبه می کنیم : profit=$70 weight=7 نکته مهم : -چون وزن چهارم باعث نمی شود که حاصل جمع قطعات از W بیشتر شود و فقط 4 قطعه وجود دارد بنابراین :k=5 maxprofit= $70
21
best set}item1,item2} وMax profit : 70 Include : {item1,item2,item4}
Profit : 80 و Bound :80 Profit > max profit , weight<W best set}item1,item2,item4} , Max profit=80 پس این گره انتخاب می شود ولی چون profit = bound ، پس امید بخش نیست . به طور شهودی هم این گره اصلا فرزندی ندارد که ما بخواهیم بررسی کنیم لذا این گره غیر امید بخش است.
22
توضیحات برای اسلاید قبل
8- گره (4,1) را ملاقات می کنیم . profit=$80, weight=12 bound=$80 Bound=maxprofit node is nonpromising maxprofit= $70 profit > maxprofit maxprofit= $80 9- گره (4,2) نیز غیر امیدبخش می باشد. .
23
همانطور که در اسلایدهای اولیه گفتیم جواب نهایی را وقتی معین می کنیم که
توضیح مهم همانطور که در اسلایدهای اولیه گفتیم جواب نهایی را وقتی معین می کنیم که جستجو در در خت پایان بپذیرد. در صورتی که ما تا الآن تنها چند مسیر را پیمودیم. در این مسیرها ما به ماکزیمم ارزشی معادل 80$ دست یافته ایم پس به عقب بر میگردیم و مسیرهای دیگر را بررسی میکنیم اگر مسیرهای دیگر ارزشی بیشتر از 80$ به ما داد ، ما مجموعه را آپدیت میکنیم. یعنی مسیری که سود بیشتری به ما میدهد در قرار میگیرد لذا به گره (1 و1 )عقب گرد می کنیم. best set .
24
به گره (1و1) برمیگردیم و به گره (2و2) می رسیم و داریم :
به گره (1و1) برمیگردیم و به گره (2و2) می رسیم و داریم : best set}item1,item2,item4} Max profit : 80 Include : {item1,item3} Profit : = 90 Bound :98 Profit > max profit , weight<W best set}item1,item3} , Max profit=90
25
در این گونه در خت ها تمام مسیرها را از نود شروع تا برگ میرویم به این صورت که ابتدا یک مسیر تا اخر میرویم و بررسی میکنیم سپس نتیجه را ثبت میکنیم سپس پله به پله بر میگردیم عقب و مسیر دیگری را بررسی میکنیم اگر به ارزش بیشتری رسیدیم مجموعه انتخاب بهتر را برمی گزینیم در این درخت جواب نهایی مسیر ابی است ولی ما باید به همین ترتیب گفته شده کل مسیرها را بررسی میکنیم . .
26
الگوریتم عقبگرد برای مسئله کوله پشتی صفر و یک
27
الگوریتم عقبگرد برای مسئله کوله پشتی صفر و یک
28
الگوریتم عقبگرد برای مسئله کوله پشتی صفر و یک
29
مقایسه الگوریتم پویا و عقبگرد برای مسئله کوله پشتی صفر و یک
زمان اجرای مسئله در بدترین حالت با الگوریتم پویا: O (minimum (2n, nW)). زمان اجرای مسئله در بدترین حالت با الگوریتم عقبگرد: Θ (2n) الگوریتم های عقبگرد در بدترین حالت ،دید خوبی نسبت به کارصرفه جویی شده نمی دهند. هورویتز و شانی در سال 1978با اجرای الگوریتم های عقبگرد و پویا بر روی چندین نمونه نشان دادند که الگوریتم عقبگرد در مقایسه با الگوریتم پویا کارایی بیشتری دارد
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.