simulation 5 - گروه کامپیوتر

Download Report

Transcript simulation 5 - گروه کامپیوتر

‫شبیه سازی کامپیوتری‬
‫‪Computer simulation‬‬
‫بخش ‪ 5‬ام‬
‫مدرس ‪ :‬زهره زرین قلمی‬
‫پاییز ‪93‬‬
‫‪1‬‬
‫‪Prepared By Zarringhalami‬‬
Prepared By Zarringhalami
2
‫اعداد تصادفی‬
‫اعداد تصادفی به صورت یکنواخت و تصادفی در فاصله (‪1‬و‪ )0‬توزیع می شود‪.‬‬‫ ارقام تصادفی به صورت یکنواخت روی مجموعه { ‪ }1 , … ,9‬توزیع می شود‪.‬‬‫ اعداد تصادفی با چینش ارقام تصادفی به تعداد الزم و درج ممیز با توجه به دقت تعیین شده تعریف می گردد‪.‬‬‫اگر توزیع ورودیها مقادیری با دو رقم اعشار داشته باشد‪ ،‬از جدول ارقام تصادفی دو رقم می گیریم و برای ایجاد عدد‬‫تصادفی در سمت چپ آن ممیز می گذاریم‪.‬‬
‫می توان اعداد تصادفی را تولید کرد‪.‬‬‫ هرگاه اعداد با استفاده از روش ی از قبل تعیین شده تولید شوند‪ ،‬به آنها اعداد شبه تصادفی گویند‪ .‬چون روش معلوم‬‫است‪ ،‬همواره می توان پیش از شبیه سازی دانست که دنباله این تعداد کدام است‪.‬‬
‫شبیه سازی سیستمهای صف‪ ،‬طبق فهرستی از پیشامدها در طول زمان‬
‫انجام می شود‪ .‬وقوع پیشامدها با گذشت زمان سنجیده می شود‬
‫‪3‬‬
‫‪Prepared By Zarringhalami‬‬
‫ارقام تصادفی‬
‫فرض را بر این بگیرید که ارقام تصادفی یکنواخت با استفاده از رویههای مشخص ی قابل تولید شدن هستند‪ .‬به‬
‫عنوان مثال جدول زیر را به عنوان جدول ارقام تصادفی یکنواخت یک رقمی در نظر بگیرید‪.‬‬
‫جدول ارقام تصادفی یکنواخت یک رقمی‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪4‬‬
‫‪8‬‬
‫‪6‬‬
‫‪5‬‬
‫‪1‬‬
‫‪9‬‬
‫‪5‬‬
‫‪6‬‬
‫‪7‬‬
‫‪1‬‬
‫‪3‬‬
‫‪2‬‬
‫‪7‬‬
‫‪1‬‬
‫‪8‬‬
‫‪6‬‬
‫‪2‬‬
‫‪9‬‬
‫‪4‬‬
‫‪1‬‬
‫‪4‬‬
‫‪7‬‬
‫‪5‬‬
‫‪6‬‬
‫‪3‬‬
‫‪1‬‬
‫‪8‬‬
‫‪3‬‬
‫‪9‬‬
‫‪3‬‬
‫‪5‬‬
‫‪4‬‬
‫‪2‬‬
‫‪6‬‬
‫‪7‬‬
‫‪4‬‬
‫‪1‬‬
‫‪6‬‬
‫‪1‬‬
‫‪7‬‬
‫‪1‬‬
‫‪2‬‬
‫‪5‬‬
‫‪4‬‬
‫‪2‬‬
‫‪5‬‬
‫‪3‬‬
‫‪Prepared By Zarringhalami‬‬
‫ارقام تصادفی‬
‫جدول ارقام تصادفی یکنواخت دو رقمی‬
‫‪5‬‬
‫‪Prepared By Zarringhalami‬‬
‫مثال سیستم صف تک ورودی یا تک مجرایی‪ :‬فروشگاه مواد غذایی‬
‫فرضیات مسئله‪:‬‬
‫ فروشگاه یک صندوق دارد‪.‬‬‫ مشتریان بطور تصادفی با فواصل زمانی ‪ 1-8‬دقیقه و با احتمال یکسان وارد می شوند(جدول ‪.)1‬‬‫ مدت خدمت دهی از ‪ 1‬تا ‪ 6‬دقیقه و طبق احتماالت جدول ‪ 2‬تغییر می کند‪.‬‬‫‪ -‬شبیه سازی برای خرید ‪ 20‬مشتری اجرا می شود‪ .‬اولین مشتری در زمان صفر وارد می شود‪.‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪6‬‬
‫مثال سیستم صف تک ورودی‪ :‬فروشگاه مواد غذایی‬
‫‪7‬‬
‫‪Prepared By Zarringhalami‬‬
‫مثال سیستم صف تک ورودی‪ :‬فروشگاه مواد غذایی‬
‫ارقام تصادفی سه رقمی با استفاده از جدول ارقام تصادفی تولید شده است‪.‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪8‬‬
‫مثال سیستم صف تک ورودی‪ :‬فروشگاه مواد غذایی‬
‫ارقام تصادفی دو رقمی با استفاده از جدول ارقام تصادفی تولید شده است‪.‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪9‬‬
‫مثال سیستم صف تک ورودی‪ :‬فروشگاه مواد غذایی‬
‫پیشامدها‪:‬‬
‫ورود مشتری‬
‫خدمت دهی (ترک مشتری)‬
‫‪Prepared By Zarringhalami‬‬
‫‪10‬‬
‫نتایج شبیه سازی سیستم صف تک ورودی فروشگاه مواد غذایی‬
‫مجموع تعداد مشتریان ‪ :‬مجموع مدت انتظار مشتریان در صف = متوسط مدت انتظار هر مشتری‬
‫‪= 56 : 20 = 2/8‬‬
‫مجموع تعداد مشتریان ‪ :‬مجموع تعداد مشتریان منتظر در صف = احتمال انتظار هر مشتری‬
‫‪= 13 : 20 = 0/65‬‬
‫مجموع مدت شبیه سازی ‪ :‬مجموع مدت بیکاری خدمت دهنده = احتمال بیکاری خدمت دهنده‬
‫‪= 18 : 86 = 0/21‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪11‬‬
‫نتایج شبیه سازی سیستم صف تک ورودی فروشگاه مواد غذایی‬
‫تعداد ورودها منهای یک ‪ :‬مجموع تمام مدتهای بین دو ورود = متوسط مدت بین دو ورود‬
‫‪= 82 : 19 = 4/3‬‬
‫‪ = )1 + 8 ( : 2 = 4/5‬میانگین توزیع احتمال یکسان گسسته ‪ 1‬تا ‪ 8‬یا امید ریاض ی‬
‫امید ریاض ی مدت ورودها کمی بیشتر از مقدار متوسط است (‪ .)4/5 <4/3‬اما در شبیه سازیهای طوالنیتر مقدار متوسط این‬
‫ورودها باید به میانگین تئوریک‪ ،E(A) ،‬میل کند‪.‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪12‬‬
‫نتایج شبیه سازی سیستم صف تک ورودی فروشگاه مواد غذایی‬
‫مجموع تعداد مشتریان ‪ :‬مجموع مدت خدمت دهی = متوسط مدت خدمت دهی‬
‫‪= 68 : 20 = 3/4‬‬
‫می توان این نتیجه را با یافتن میانگین توزیع مدت خدمتدهی با بکارگیری معادله امید ریاضی‬
‫با متوسط مدت خدمتدهی مقایسه کرد‪.‬با بکارگیری معادله امید ریاضی در مورد توزیع احتمال غیر یکسان‬
‫گسسته موجود در جدول ‪ 2‬به نتیجه زیر دست می یابیم‪:‬‬
‫(‪ = 1)0/10( + 2)0/20( + 3)0/30( + 4)0/25( + 5)0/10( + 6)0/05‬امید ریاضی مدت خدمت دهی‬
‫‪=3/2‬‬
‫امید ریاضی مدت خدمتدهی اندکی کمتر از متوسط مدت خدمتدهی در شبیه سازی است‪ .‬هر چه شبیه سازی‬
‫طوالنیتر باشد این متوسط به )‪ E(S‬نزدیکتر می شود‪.‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪13‬‬
‫نتایج شبیه سازی سیستم صف تک ورودی فروشگاه مواد غذایی‬
‫مجموع تعداد مشتریان منتظر‪ :‬مجموع مدت انتظار مشتریان = متوسط مدت انتظار مشتریان منتظر‬
‫‪= 56 :13 = 4/3‬‬
‫مجموع تعداد مشتریان ‪ :‬مجموع مدت حضور مشتریان = متوسط مدت حضور هر مشتری در سیستم‬
‫‪= 124 : 20 = 6/2‬‬
‫متوسط مدت خدمت دهی‪ +‬متوسط مدت انتظار مشتریان منتظر= متوسط مدت حضور هرمشتری در سیستم‬
‫‪=2/8 + 3/4 =6/2‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪14‬‬
‫ادامه نتایج‬
‫‪ ‬اکثر مشتریان ناچار به انتظار در صف هستند‪.‬‬
‫‪ ‬مدت زمان بیکاری زیاد نیست‪.‬‬
‫‪15‬‬
‫‪Prepared By Zarringhalami‬‬
‫مطالعه آزاد‬
‫نوع دوم‪ :‬چند صف و یک سرویس دهنده‬
‫‪16‬‬
‫‪Prepared By Zarringhalami‬‬
‫مطالعه آزاد‬
‫نوع دوم‪ :‬چند صف و یک سرویس دهنده‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪17‬‬
‫مثال یک سیستم کامپیوتری تک برنامه‬
‫برنامه ها ‪ 3‬دسته اند‪A, B, C :‬‬
‫برنامه های گروه ‪ A‬بر گروه ‪ B‬و گروه ‪ B‬نیز بر ‪ C‬تقدم دارند‪.‬‬
‫برنامه های هر دسته تشکیل یک صف جداگانه را می دهند‪.‬‬
‫چنانچه در صفها برنامه ای منتظر اجرا باشد‪ ،‬واحد پردازش کامپیوتر (سرویس دهنده)‬
‫اجرای آنرا شروع و به پایان می رساند‪.‬‬
‫اما چنانچه صف ‪ A‬خالی باشد به سراغ برنامه های گروه ‪ B‬و اگر هر دو صف خالی باشد‬
‫به اجرای برنامه های گروه ‪ C‬می پردازد‪.‬‬
‫بعد از اجرای هر برنامه (سرویس دهی) به ترتیب صفهای‪A‬و ‪ B‬و ‪ C‬را بررس ی می کند‪،‬‬
‫چنانچه سرویس دهنده در موقع ورود برنامه ای آزاد باشد‪ ،‬بدون توجه به دسته آن‪،‬‬
‫بالفاصله اجرای آنرا آغاز می کند‪.‬‬
‫اجرای هیچ برنامه ای قبل از پایان یافتن آن قطع نمی شود‪.‬‬
‫‪Prepared By Zarringhalami‬‬
‫مطالعه آزاد‬
‫نوع دوم‪ :‬چند صف و یک سرویس دهنده‬
‫‪ ‬پیشامدهای اصلی سیستم‪:‬‬
‫‪ -1‬ورود یک برنامه به سیستم‬
‫‪ -2‬پایان اجرای یک برنامه‬
‫‪ ‬استفاده از روش افزایش با مقدار ثابت‬
‫دو متغیر وجود دارد‪:‬‬
‫‪ -1‬زمان ورود برنامه بعدی به سیستم)‪(T1‬‬
‫‪ -2‬زمان پایان سرویس فعلی)‪(T2‬‬
‫‪18‬‬
‫‪Prepared By Zarringhalami‬‬
‫مطالعه آزاد‬
‫متغیرهای سیستم و مقدار اولیه آنها‬
‫‪19‬‬
‫متغیر‬
‫شرح‬
‫مقدار اولیه‬
‫‪Clock‬‬
‫ساعت شبیه سازی‬
‫‪0‬‬
‫‪T1 ,T2‬‬
‫کد تعیین شده و نوع پیشامد‬
‫‪ : T1‬پیشامد ورود برنامه بعدی به سیستم‬
‫‪ : T2‬پیشامد پایان اجرای سرویس فعلی‬
‫‪---‬‬
‫)‪Q (I‬‬
‫طول صف ‪I‬ام )‪(I=1 ,2,3‬‬
‫‪0‬‬
‫)‪SR (Server‬‬
‫کد یا وضعیت سرویس دهنده‬
‫کد ‪ :0‬آزاد بودن‬
‫کد ‪ :1‬مشغول بودن‬
‫‪0‬‬
‫)‪ST (System Time‬‬
‫مدت شبیه سازی‬
‫دلخواه‬
‫‪Prepared By Zarringhalami‬‬
‫مطالعه آزاد‬
‫شروع‬
‫فلوچارت شبیه سازی سیستم‬
‫چند صف و یک سرویس دهنده‬
‫تعیین مقدار اولیه متغیرها‬
‫‪Q(I)=0, I=1 ,2 ,3‬‬
‫‪Clock= 0 , SR=0‬‬
‫افزایش ساعت شبیه سازی )‪ (Clock‬باا افزایش یک‬
‫گام زمانی ‪Clock=1‬‬
‫‪1‬‬
‫پایان‬
‫‪yes‬‬
‫‪Clock >= ST‬‬
‫‪No‬‬
‫زمان ورود‬
‫یک برنامه‬
‫هست یا نه؟‬
‫‪No‬‬
‫‪yes‬‬
‫پیشامد ورود یک‬
‫برنامه‬
‫پیشامد پایان سرویس‬
‫‪20‬‬
‫‪Prepared By Zarringhalami‬‬
‫مطالعه آزاد‬
‫فلوچارت پیشامد ورود یک‬
‫برنامه شبیه سازی سیستم‬
‫چند صف و یک سرویس دهنده‬
‫‪1‬‬
‫تعیین زمان ورود بعدی و قرار دادن‬
‫در متغیر ‪T1‬‬
‫تعیین شماره گروه این برنامه‬
‫‪SR=0‬‬
‫‪yes‬‬
‫‪SR=1‬‬
‫‪No‬‬
‫پیوستن به صف ‪I‬ام‬
‫‪Q(I)=Q(I) + 1‬‬
‫تعیین زمان پایان سرویس‬
‫و قرار دادن در متغیر ‪T2‬‬
‫‪Clock = Clock +1‬‬
‫پیشامد پایان سرویس‬
‫‪21‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪2‬‬
‫مطالعه آزاد‬
‫‪1‬‬
‫فلوچارت پیشامد پایان سرویس‬
‫شبیه سازی سیستم‬
‫چند صف و یک سرویس دهنده‬
‫زمان پایان‬
‫یک سرویس‬
‫هست یا نه؟‬
‫‪No‬‬
‫‪Clock = Clock +1‬‬
‫‪yes‬‬
‫‪I=1‬‬
‫‪I>3‬‬
‫‪yes‬‬
‫‪SR=0‬‬
‫‪No‬‬
‫‪I=I+1‬‬
‫‪22‬‬
‫‪yes‬‬
‫‪Q(I) =0‬‬
‫‪No‬‬
‫‪Q(I) = Q(I) - 1‬‬
‫‪Prepared By Zarringhalami‬‬
‫‪2‬‬
‫مطالعه آزاد‬
‫‪ ‬تمرین جهت پیاده سازی‬
‫‪‬‬
‫سیستم کامپیوتری تک برنامه را با مشخصات ذیل شبیه سازی کنید‪.‬‬
‫ـ دو دسته برنامه ‪ A ,B‬وجود دارند که برنامه های دسته ‪ A‬بر برنامه های دسته ‪ B‬تقدم دارند‪.‬‬
‫ـ برنامه های هر دسته تشکیل یک صف جداگانه را می دهند‪.‬‬
‫‪ -‬چنانچه در صفها برنامه ای منتظر اجرا باشد‪ ،‬واحد پردازش کامپیوتر اجرای آنرا شروع و به پایان می رساند‪.‬‬
‫‪‬‬
‫ اما چنانچه صف ‪ A‬خالی باشد به سراغ برنامه های گروه ‪ B‬می رود‪.‬‬‫ بعد از اجرای هر برنامه به ترتیب صفهای‪A‬و ‪ B‬را بررس ی می کند‪ ،‬چنانچه سرویس دهنده در موقع ورود برنامه ای آزاد باشد‪،‬‬‫بدون توجه‬
‫به دسته آن‪ ،‬بالفاصله اجرای آنرا آغاز می کند‪.‬‬
‫اجرای هیچ برنامه ای قبل از پایان یافتن آن قطع نمی شود‪.‬‬‫مدت سرویس دهی از ‪ 1‬تا ‪ 8‬دقیقه با توجه به جدول زیر می باشد‪.‬‬
‫ـ ورود برنامه ها بطور تصادفي و طبق احتماالت ذيل رخ مي دهد‪.‬‬
‫ـ شبيـه سازي بـراي ‪ 1‬ساعت اجـرا مي شود و اولین برنامه در زمان صفر وارد مي شود‪.‬‬
‫از روش فاصله گرا جهت افزایش ساعت شبیه سازی استفاده می گردد و ‪ TS=5‬دقیقه می باشد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‬‫‬‫‬‫‪-‬‬
‫‪23‬‬
‫‪Prepared By Zarringhalami‬‬
‫مطالعه آزاد‬
‫ مدت سرویس دهی از ‪ 1‬تا ‪ 8‬دقیقه با توجه به جدول زیر می باشد‪.‬‬‫مدت سرويس دهي كامپيوتر‬
‫‪1‬‬
‫احتمال‬
‫‪2‬‬
‫‪4‬‬
‫‪3‬‬
‫‪%9 %7 %16 %4 %10 %8 %25 %21‬‬
‫ـ ورود برنامه ها بطور تصادفي و طبق احتماالت ذيل رخ مي دهد‪.‬‬
‫ـ مدت زمان بین دو ورود برنامه های گروه ‪A‬‬
‫مدت زمان بین دو ورود‬
‫‪1‬‬
‫‪2‬‬
‫احتمال‬
‫‪%30‬‬
‫‪%15‬‬
‫‪3‬‬
‫‪4‬‬
‫‪%35‬‬
‫‪%20‬‬
‫ـ مدت زمان بین دو ورود برنامه های گروه ‪B‬‬
‫مدت زمان بین دو ورود‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫احتمال‬
‫‪%55‬‬
‫‪%30‬‬
‫‪%15‬‬
‫تعيین پيشامدها‪ ،‬جدول شبيه سازي و تجزيه و تحليل نتايج الزامي است‪.‬‬
‫‪24‬‬
‫‪5‬‬
‫‪6‬‬
‫‪7‬‬
‫‪8‬‬
‫‪Prepared By Zarringhalami‬‬
‫تمرین (سری ‪ 4‬ام)‪:‬‬
‫‪ -1‬مسئله صف يك عابر بانك با مشخصات ذيل را شبيه سازي كنيد‬
‫ـ مشتريان بطور تصادفي با فواصل زماني بین ‪ 3‬تا ‪ 7‬و با احتمال يكسان وارد مي شوند‪.‬‬
‫ـ شبيـه سازي بـراي ‪ 15‬مشتري اجـرا مي شود و اولین مشتري در زمان ‪ 3‬وارد مي شود‬
‫ـ مدت پاسخگويي از يك تا ‪ 4‬دقيقه طبق احتماالت ذيل رخ مي دهد ‪.‬‬
‫مدت خدمت دهي (دقيقه)‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫احتمال‬
‫‪%15‬‬
‫‪%25‬‬
‫‪%10‬‬
‫‪4‬‬
‫‪%50‬‬
‫تعيین پيشامدها‪ ،‬جدول شبيه سازي و تجزيه و تحليل نتايج الزامي است‪.‬‬
‫‪25‬‬
‫‪Prepared By Zarringhalami‬‬