هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

سلام به همه بچه‌های علاقمند به کامپیوتر و برنامه‌نویسی و هوش مصنوعی. همانطور که میدونین روز به روز دنیای هوش مصنوعی داره وسیعتر میشه و به حوزه مختلف از علوم راه یافته است. ما تصمیم داریم هر هفته با یک مقاله در این حوزه، شمارو با رویداد های دنیای هوش مصنوعی آشنا کنیم و مهمتر اینکه ریاضیات این حوزه رو با ساده سازی به شما دانش آموزان عزیز کانونی توضیح بدیم. در نهایت بتونیم قدم به قدم به کد نویسی در محیط پایتون برای مسئله های جذاب هوش مصنوعی برسیم. پیشنهاد میکنم هر هفته مارو با یک مقاله در این حوزه دنبال کنید. 

الگوریتم کلونی زنبور عسل : قسمت دوم

چند هفته ای هست که به سراغ الگوریتم های بهینه سازی رفتیم و داریم معروف ترین الگوریتم های بهینه سازی رو با همدیگه بررسی می کنیم . این الگوریتم ها نه تنها در هوش مصنوعی، بلکه در بسیاری از حوزه های علمی دیگه هم کاربرد داره و از همه مهم تر اینکه در درصدی از این الگوریتم ها، از پدیده های زیستی الگوبرداری شده و همین عامل باعث میشه که علاقمندان به پدیده های زیستی هم جذب یادگرفتن این دنیای زیبا و جذاب بشن. پس با ما همراه باشید ...  

در جلسه قبل، مقدمه ای در مورد الگوریتم کلونی زنبور عسل داشتیم و این موضوع باعث شد که گریزی داشته باشیم به دنیای پیچیده زنبور عسل ها . در این جلسه، بیشتر می خوایم حول محور خود الگوریتم و فرمول های ریاضی اون صحبت کنیم . همونطور که گفتیم، الگوریتم کلونی زنبور عسل مصنوعی یا artificial bee colony که به صورت مخفف با الگوریتم ABC  نشون داده میشه، یک تکنیک بهینه سازی هست که رفتار جستجوی منابع غذایی زنبور عسل رو شبیه سازی میکنه . این روش با موفقیت تونسته در مسائل عملی مختلف تاثیر گذار باشه. از کاربردهای عملی این الگوریتم میشه به زمان بندی کارها برای ماشین‌های تولیدی، دسته بندی اطلاعات، بهینه سازی چندگانه و میزان کردن کنترل کننده های منطق فازی برای ربات های ورزشکار اشاره کرد.  این الگوریتم نخستین بار توسط   Dervis Karagoba در سال 2005 ابداع شد. 

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

در این الگوریتم مجموعه ای از زنبورهای عسل ، وظایف خود را در راستای پیدا کردن منابع غذایی انجام میدهند. در مدل مصنوعی، منابع غذایی، به معنای بهترین جواب ممکن برای حل مسئله بهینه سازی می باشد و برای مثال در مسئله زمان بندی کارها برای ماشین‌های تولیدی، پاسخ مسئله پیدا کردن بهینه ترین زمان بندی برای این دسته از ماشین ها بود که توسط این مدل سازی پاسخ مناسبی براش پیدا شد. در این الگوریتم، سه نوع زنبور عسل وجود داره : زنبورهای کارمند یا شاغل ، زنبورهای دیده بان و زنبورهای کاوشگر. زنبور های شاغل، در حافظه خود منابع غذایی رو در اطراف خود جستجو می کنند . در همین حال، اونها اطلاعات این منابع غذایی رو با زنبور های دیده بان به اشتراک میزاند. این کار توسط رفتار و رقص خاصی که در جلسه قبل اشاره شد، انجام میگیره. 

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

زنبورهای دیده بان، تمایل دارند که منابع غذایی که توسط زنبور های کاوشگر پیدا شده رو مورد بررسی و بازبینی قرار بدن و منبع غذایی که کیفیت بالاتری رو داره انتخاب کنند . در مسئله بهینه سازی هم همین اتفاق میوفته. به عبارت دیگه، در مسائل مصنوعی که توسط این الگوریتم حل میشه، ابتدا روش هایی احتمالی توسط کدهای و روش های آماری انتخاب میشن. این روش ها به نوعی همون منابع غذایی ها در کلونی ما هستند. انتخاب منابع غذایی،  به نوعی همون کاری هست که زنبور های کاوشگر انجام میده . سپس بهینه بودن این روش ها توسط کدهایی که در این الگوریتم نوشته شده مورد بررسی قرار میگیره. یا به عبارت دیگه، روش جدید و پاسخ های اون با روش های قبلی مورد مقایسه قرار میگیره و اگه شرایط لازم رو داشت، به عنوان پاسخ بهینه تر انتخاب میشه . این روند انقدر ادامه پیدا میکنه که بهینه ترین پاسخ پیدا بشه . این عمل، مانند کاری هست که زنبورهای دیده بان انجام میدن . این زنبورها ، مانند ناظر کیفی هستند! در مسائل بهینه سازی هم ما یک سری شروط داریم که باید رعایت بشه. مثلا در مسئله زمان بندی کارها برای ماشین‌های تولیدی، شرایط بهینه موقعی هست که کمترین فشار بر روی توان شبکه و یا ماشین ها وارد بشه و با کمترین مصرف انرژی، بشه بیشترین بهره‌وری رو از ماشین ها بدست آورد. 

در الگوریتم ABC، موقعیت یک منبع غذایی یک راه حل ممکن برای مسئله بهینه سازی و شهد را نشان می ده . مقدار یک منبع غذایی با کیفیت (تناسب) محلول مرتبط مطابقت دارد. تعداد زنبورهای شاغل یا زنبورهای تماشاگر برابر است با تعداد محلول‌های موجود در جمعیت. در مرحله اول، ABC یک جمعیت اولیه توزیع شده P(G=0) رو به صورت تصادفی به تعداد SN تولید می کنه، که در آن SN اندازه جمعیت را نشان می دهد.  SN ها به نوعی موقعیت منابغ غذایی هستند. 

هر منبع غذایی به صورت یک بردار D است. در اینجا، D تعداد پارامترهای بهینه سازی است. پس از مقداردهی اولیه، جمعیت موقعیت ها (راه حل ها) در معرض چرخه های مکرر قرار میگیره . از فرآیندهای جستجوی زنبورهای به کار گرفته شده، زنبورهای ناظر و زنبورهای پیشاهنگ شروع به عملیات میکنند. عمل جستجو برای پیدا کردن بهینه ترین پاسخ باید بارها تکرار بشه، برای همین در الگوریتم بهینه سازی ABC، دسته ای از زنبورهای شاغل که منابع غذایی رو با خودشون حمل میکنن، از گروه جدا میشن و به دنبال منابع غذایی با کیفیت تر می گردن . در الگوریتم ABC هم عمل جستجو همواره ادامه داره و حتی با پیدا کردن یک روش جدید متوقف نمیشه و تا زمانی که شرایط مطلوب و بهینه بدست نیومده، این عمل ادامه پیدا میکنه  تا در نهایت به معیار نهایی اتمام الگوریتم برسه . 

مراحل این الگوریتم رو میشه به صورت زیر نیز دسته بندی کرد : 

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

 

اگه بخوایم این الگوریتم رو به صورت ریاضی مدل سازی کنیم، ابتدا باید مجموعه زیر رو در نظر بگیریم : 

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

در این مجموعه هر X ، نقش یک زنبور عسل رو داره و این مجموعه کلونی ما رو نشون میده . هر زنبور عسل X یک راهکار را در V رو جستجو می کنه و فرمول زیر از این جستجو به دست میاد : 

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

در این فرمول، Xi زنبورعسل ، ϕ نشانگر اعداد تصادفی بین منفی یک تا مثبت یک،  یک شاخص از ابعاد تصادفی است که از مجموعه انتخاب شده و Xj  یک نامزد تصادفی از راه حل می باشد .  V  هم به معنای محل جدید در همسایگی موقعیت یافت شده هست. برای کاربرد عملی این الگوریتم، پروژه های در نرم افزار Matlab انجام میگیره . یکی از اون ها، فرایندی برای پیدا کردن نقاط بحرانی در فضاهای چند بعدی هستش که توسط این الگوریتم میشه اون نقاط رو مشخص کرد.

هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

 

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

منابع 

https://www.youtube.com/watch?v=3qQr1eZwz5E

https://www.academia.edu/download/46586013/abc.pdf

https://en.wikipedia.org/wiki/Artificial_bee_colony_algorithm

 

کلید واژه ها 



هوش مصنوعی-الگوریتم کلونی زنبور عسل2-ابراهیم خلیلی

  مقاله بیستم و پنجم هوش مصنوعی  

دوستان عزیزم؛ برای ارتباط با برترها و رزرو پشتیبان ویژه پیج کانون برترها را  دنبال کنید.

همچنین میتوانید با شماره 0218451 داخلی 3123 تماس بگیرید.


Menu