برای پیاده سازی الگوریتم N2TC از زبان برنامه نویسی متلب استفاده شده است و در محیط Matlab 2014 این پیاده سازی صورت گرفته است.تعداد ۲۵۸ داده به منظور آموزش شبکه عصبی در نظر گرفته شده است تا شبکه بخوبی آموزش داده شود و تعداد کارهای ورودی به شبکه عصبی به منظور تعیین اولویت آنها و ارسال کارهای با اولویت بالا به GaTa برابر ۱۴۵کار می باشد.برای پیاده سازی الگوریتم GaTa از زبان C# استفاده شده است و از ابزار Visual studio 2013 برای پیاده سازی الگوریتم بهره برده شده است.
ارزیابی راهکار پیشنهادی
در ابتدا به بررسی داده های بخش آموزش شبکه عصبی می پردازیم.
در شکل ۲۱ توزیع مربوط به داده های آموزش را مشاهده می کنید.
شکل ۲۱- توزیع داده ها
همانطور که در شکل ۲۱ می بینید حالت قرار گرفتن داده ها مانند S می باشد که نشان دهنده توزیع خوب و مناسب داده ها است توزیع مناسب داده ها باعث می شود آموزش شبکه عصبی بصورت کامل و مناسب انجام گیرد.
در این شکل ۲۲ پراکندگی مربوط به داده های آموزش را مشاهده می کنید.
شکل ۲۲- پراکندگی داده ها
این نمودار نیز نشان دهنده تمرکز داده ها می باشد و اینکه داده هایی در هر سه گروه وجود دارند که پرت هستند که نشان دهنده مناسب بودن داده های آموزش می باشد با این کار دامنه یادگیری شبکه افزایش یافته و حدود بیشتری از ورودی ها را می تواند تحت پوشش خود قرار دهد.
در شکل ۲۳ هیستوگرام مربوط به تعداد عناصر موجود را به تفکیک گروه آنها نشان داده شده است
شکل ۲۳ - هیستوگرام
به این دلیل گزینه اول وسعت بیشتری را پوشش می دهد که تعداد عناصر آن بیشتر است تا آموزش بخوبی انجام گیرد.
مدل کلی شبکه عصبی مورد استفاده بصورت شکل ۲۴ می باشد
شکل ۲۴-شبکه عصبی
ورودی ها ۳ پارامتر هستند با ۲۰ عدد لایه پنهانی و خروجی نیز به ۳ دسته تقسیم می شوند. حال شبکه را آموزش می دهیم و نمودار اغتشاش آن را در شکل ۲۵ می بینید بررسی شبکه در هنگام آموزش آن نشان داده شده است که برای هرقسمت نمودار جدا نشان داده شده است.خانه هایی که با قرمز نمایش داده شده است خطاهای موجود است و خانه های سبز نشان دهنده موارد صحیح می باشد و در انتها هم خانه ی آبی نشان دهنده دقت کلی شبکه می باشد.
شکل ۲۵- نمودار اغتشاش
همانطور که در شکل ۲۵ می بینید دقت کلی شبکه در تست ۹۷٫۷% می باشد که عدد مناسبی است و نشان دهنده این است که آموزش شبکه بخوبی انجام شده است. در این بخش به بررسی کارایی شبکه در مرحله آموزش آن می پردازیم شکل ۲۶ نشان دهنده این پارامتر مهم در شبکه است
شکل ۲۶-کارایی
با توجه به شکل می بینید که انحنای نمودار اعتبارسنجی و تست تقریبا شبیه یکدیگر هستند که در صورتیکه انحنای نمودار تست بیشتر باشد باعث overfitting در شبکه می شود.بهترین کار در مرحله ۲۱ رخ داده است و شبکه ۶ مرحله دیگر به کار خود ادامه داده است.نزولی بودن این نمودار در هر سه مرحله نیز نشانگر مناسب بودن شبکه می باشد.
شکل ۲۷ نمودار کیفیت کلاس بندی داده ها در شبکه عصبی می باشد که در زمینه کارایی شبکه و ارزیابی داده ها در شبکه می باشد
شکل ۲۷- کیفیت کلاس بندی
بهترین مدل در تشخیص الگو و دسته بندی بدین شکل است که از گوشه پایین سمت چپ شروع شده وتا قسمت بالا سمت چپ برود و از چپ به راست منتقل شود که همانطور که در شکل ۲۷ می بینید نمودارها در همه حالات بدین شکل جابجایی داشته اند.
در این شکل ۲۸ هیستوگرام مربوط به خطا را می بینید که باز هم تایید کننده کارایی مناسب در آموزش شبکه می باشد.
شکل ۲۸- هیستوگرام خطا
شکل ۲۹ نیز نشان دهنده حالت شبکه در حین آموزش می باشد
شکل۲۹-وضعیت آموزش
همانطور که در شکل ۲۹ دیده می شود شیب گرادیان در حین آموزش نزولی است که باعث آموزش هرچه بهتر شبکه شده و نشان دهنده این است که خطای جمعی در شبکه در حال کاهش است. حال به بررسی نتایج بدست آمده از الگوریتم GaTa می پردازیم
مهم ترین بخش الگوریتم ژنتیک تابع شایستگی است در شکل ۳۰ دو نمودار در حالت های مختلف از شایستگی تولید شده توسط GaTa را می بینیم
شکل ۳۰-تابع شایستگی
در شکل ۳۰ می بینید که شایستگی کروموزوم ها به سمت بهینگی (کمینه) شدن می روند و همچنین تعدادی نقطه مشاهده می شود که از سیر اصلی تابع شایستگی خارج شده اند بخاطر وجود جهش در الگوریتم می باشد.
در شکل ۳۱ تعداد اتخاب هر کدام از کارها را در طول اجرای GaTa می بینیم
شکل ۳۱- تعدا انتخاب مولفه ها
که همانطور که دیده می شود یک سری از کارها به تعداد بیشتری انتخاب شده اند که به احتمال زیاد جزء کارهای مناسب می باشد که در مراحل مختلف انتخاب شده اند.
در مرحله آخر در شکل ۳۲ زمان اجرای الگوریتم GaTa را نشان داده ایم که بیانگر زمان مناسب این الگوریتم در اجرا می باشد.
شکل ۳۲- زمان اجرای الگوریتم
مقایسه با کارهای مشابه
حال به مقایسه الگوریتم پیشنهادی با کارهای ارائه شده ]۵۱[ ]۵۲[و دو تا از الگوریتم های پرکاربرد در این زمینه که Fifo وSjf می باشند می پردازیم. شکل ۳۳ میزان هزینه انجام شده برای کارهای انتخابی در هر الگوریتم را نشان می دهد
شکل ۳۳-هزینه اجرایی
الگوریتم پیشنهادی دارای زمان اجرای مناسبی نسبت به سایر الگوریتم های ارائه شده می باشد.
در شکل۳۴ زمان پاسخگویی را با مورد بررسی قرار می دهیم
شکل ۳۴- زمان پاسخگویی
همانطور که انتظار می رفت الگوریتم ارائه شده دارای کمترین میزان در زمان پاسخگویی در بین الگوریتم های مطرح شده می باشد.
شکل ۳۵ به منظور مقایسه حالت های مختلف بهره وری در نظر گرفته شده است
شکل ۳۵-بهره وری سیستم
بهره وری سیستم در الگریتم ارائه شده در حد مطلوبی می باشد.