شنبه 27 آبان 1396 | Saturday 18 th of November 2017 صفحه اصلی گروه الکترونیکی کامپیوتر
ساختار اموزش الگوریتم کوله پشتی صفر و یک در نرم افزار swish max

ساختار الگوریتم کوله پشتی صفر و یک را نیز مانند الگوریتم کوله پشتی فصل " الگوریتمهای حریصانه"  کردیم . به این ترتیب که تصویر کوله پشتی را به طور نمادین در صفحه قرار داده ، و اشیاء کوله پشتی به صورت جعبه در نظر گرفته ایم . بعد از پایان بردن مراحل الگوریتم و تصمیم گیری در مورد انتخاب اشیاء ، جعبه های مورد نظر را به صورت انیمیشن در کوله پشتی می اندازیم.

جعبه ها را در نرم افزار photoimpact   مانند جعبه های الگوریتم کوله پشتی فصل " الگوریتمهای حریصانه" طراحی کردیم. در دو وجه هر جعبه نیز وزن (Wi)و ارزش (Pi)ان را قرار دادیم. سپس جعبه ها از طریق پانل insertنرم افزار swishو گزینه ی insert imageبه صفحه می اوریم.

تصویر کوله پشتی و اشیاء ان را  در سمت چپ صفحه کاری (work page)  قرار داده  و در پانل

Timelineبه ان افکت place  می دهیم. در سمت راست صفحه نیز ، مطابق با بقیه الگوریتم ها کادر و جعبه متنی حاوی نام و مشخصات و فرمول کلی الگوریتم قرار داده و در فریم اول به انها افکتplace  می دهیم.

فلش اموزش این الگوریتم را از روی مثالی که در کتاب به صورت مرحله به مرحله حل شده ، ساختیم. فرض می کنیم 3 شئ همراه با وزن و ارزش هایشان موجود است و وزن قابل تحمل     کوله پشتی W=30است.

Witem1=5kg            Witem2=10kg          Witem3=20kg

Pitem1=50kg            Pitem2=60kg          Pitem3=140kg

ارزش و وزن هر شئ را در دو وجه جعبه هایی که در نرم افزار  Photoimpact   طراحی کردیم ، درج می کنیم.

برای این اجناس می خواهیم ، P[n][w]=P[3][30]   را محاسبه می کنیم.

برای تعیین عناصر مرود نیاز در سطح 3 یعنی P[2][30]   باید عناصر سطح دوم محاسبه گردد. یعنی :

        P[3-1][30 - W3]=P[2][10]و  P[3-1][30]=P[2][30]     

و برای تعیین عناصر موجود در سطح 2 یعنی P[2][30]و P[2][10]   باید عناصر موجود در سطح 1 محاسبه گردد .

یعنی برای محاسبه p[2][30]  :

  P[2-1][30-W2]=P[1][20]و P[2-1][30]= P[1][30] 

 و برای  محاسبه P[2][10]  :

             P[2-1][10-W2]=P[1][10]و       P[2-1][10]= P[1][10] 

 نحوه محاسبات هر مرحله را به نحوی که گفته شد ، در جعبه متن های نوشته و در صفحه         می گذاریم . سپس دو  اکولاد را توسط ابزار های  پانل ابزار  رسم می کنیم. با استفاده از ابزار درج خطوط و تغییر شکل انها با استفاده از ابزار  transform  اکولاد را رسم کردیم. سپس عناصر هر سطح را یک اکولاد قرار  می دهیم. سپس این سه اکولاد را به صورت درختی و پشت سر هم قرار داده و در مرحله اول place  می کنیم. جعبه متنی را نیز در مرحله اول درج و توضیحات مربوط به این مرحله را در ان می نویسیم.

مرحله بندی این الگوریتم نیز مانند بسیاری از الگوریتم های این پروژه به صورت فریم های 5 تایی دسته بندی شده است. هر 5 فریم را در خط زمان پانل timelineسکانس اصلی یک مرحله در نظر گرفته و بعد از ان افکت توقف یا همان stop  را قرار می دهیم.  سپس در رویداد  on press()کلید های "مرحله بعد" و "مرحله قبل" با استفاده از دستور gotoandplay(fram)بین این مراحل پیمایش می کنیم .

سپس در مراحل بعدی ، ارزش عناصر هر مرحله را به ترتیب محاسبه می کنیم. به این ترتیب فرمول محاسبه هر عنصر را در یک جعبه متن نوشته و در زیر کادر توضیحات الگوریتم ، قرار می دهیم.  نتیجه محاسبه هر عنصر را نیز که همان ارزش ان می باشد را در یک جعبه متن می نویسیم و ان را درون یک دایره قرار داده و در کنار همان عنصر در ساختار درختی که سطوح مراحل را قرار دادیم  می گذاریم. سپس اشیاء مربوط به محاسبه این عنصر و با کلیک بر روی انها و انتخاب گزینه یgroup as spriteان را به  movie clipتبدیل میکنیم. و در مرحله بعد از نشان دادن سطوح عناصر place  می کنیم. همچنین در مراحل دیگر نیز محاسبات مربوط به عناصر دیگر را به ترتیب سطوح عناصر الگوریتم به صورت movie clip  سلخته و در فریم مربوط به ان مرحله قرار      می دهیم.

در اخرین مرحله ، ارزش عناصر همه سطوح بررسی شده و بیشترین ارزش کوله پشتی محاسبه می شود.ترکیب اشیائی  که با انتخاب انها و قرار دادن انها در کوله پشتی ، ارزش کوله پشتی ماکزیمم می شود ، در این مرحله مشخص می شود.

مانند الگوریتم کوله پشتی فصل " الگوریتمهای حریصانه" جعبه متن های مربوط به این اشیاء را انتخاب و انها را درون یک movie clipقرار  می دهیم. سپس movie clip  را باز و در خط زمان ان به شئ انتخاب شده افکت حرکت (motion)داده و از محلی که قرار داشت به سمت کوله پشتی منتقل می کنیم و در پایان این افکت نیز ، افکت  removeرا قرار داده تا به طور نمادین شئ پس از قرار گرفتن در کوله پشتی حذف شود

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26