هوش مصنوعی -شبکه‌های عصبی-چکه‌های آب هوشمند 3-ابراهیم خلیلی

هوش مصنوعی -شبکه‌های عصبی-چکه‌های آب هوشمند 3-ابراهیم خلیلی هوش مصنوعی -شبکه‌های عصبی-چکه‌های آب هوشمند 3-ابراهیم خلیلی

هوش مصنوعی -شبکه‌های عصبی-چکه‌های آب هوشمند 3-ابراهیم خلیلی

هوش مصنوعی -شبکه‌های عصبی-چکه‌های آب هوشمند 3-ابراهیم خلیلی

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

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

خاک موجود در  IWD(که با soilIWD نشونش میدیم) به میزان soil(i , j) افزایش پیدا میکنه، به فرمول پایین توجه کنید:

 

سازوکار دیگری که در رفتار یک چکه آب هوشمند (IWD) وجود داره اینه که بیشتر تمایل داره در مسیری حرکت کنه که خاک کمتری در اون وجود داره تا اینکه به سمت یک مسیر پر از خاک بره. برای عملی کردن این رفتار مسیرگزینی، در مسیرهای مختلف به طور تصادفی خاک پخش میکنیم و در نتیجه میبینیم که احتمال حرکت IWD از نقطه i به نقطه j  (p(i,j;IWD)) تناسب معکوسی داره با میزان خاکی که در مسیرهای در دسترس وجود داره. 

هر چقدر مقدار خاک بین مسیر i و j کمتر باشه، شانس انتخاب شدنش از طرف IWD ای که در نقطه i قرار داره بیشتر میشه. فرمولی که بر مبنای فرمول بالا مورد استفاده قرار میگیره و در اون احتمال انتخاب کردن نقطه j داده میشه به ترتیب زیر است:

که f(soil(i , j)) برابر است با .  مقدار εs برابر است با یک عدد کوچک مثبت تا از امکان تقسیم شدن بر صفر توسط f(.) جلوگیری شود. مجموعه vc(IWD) به منحنی‌هایی اشاره داره که  IWD نباید به اونا برسه تا از این طریق محدوده‌های مسئله حفظ بشه.

کارکرد g(soil(i , j)) اینه که soil(i , j) رو از مسیری که منحنی i به j میرسه برگردونن و به سمت ارزش‌های عددی مثبت هدایتش بکنن. اینجوری محاسبه میشه:

که کارکرد min(.) کوچکترین مقدار داخل پرانتز رو به دست میده.

همه IWDها با هم کار میکنن تا راه‌حلی بهینه برای یک مسئله فرضی پیدا کنن. مسئله مورد نظر در فضای IWDها کدبندی شده و راه‌حل همون راهیه که IWDها به اون تمایل دارن. 

خب حالا میریم سراغ خود الگریتم چکه‌های آب هوشمند.

الگریتم IWD یه تعدادی از IWDها رو به کار میگیره تا به کمک اونا بتونه بهینه‌ترین راه برای حل یک مسئله رو پیدا کنه. مسئله رو با یک گراف (N,E) نشون میدن که مجموعه N گره‌های (node) گرافمون محسوب میشه و مجموعه E راس (edge) گراف هستند. این گراف محیطی برای IWDها هستند که از طریق راس‌ها مسیرشون رو ادامه میدن. هر IWD با حرکت بین گره‌های گراف شروع به ساختن راه‌حل خاص خودش میکنه تا نهایتاً IWD بتونه راه‌حل نهایی رو که TIWD نام داره پیدا کنه. هر یک از راه‌حل‌های TIWD با یک راس خاص که IWD از اون گذشته نشون داده میشن. یک دور (iteration) الگریتم IWD وقتی تموم میشه که همه IWDها راه‌حل‌هاشون رو کامل بکنن. بعد از تکمیل همه دورها، راه‌حلی که بهترین دور رو داره به دست میاد. راه‌حل دور-محور یا همون TIB  در به خاطر کارکردی که در مقایسه با راه‌حل‌های دیگه داره بهترین راه‌حل محسوب میشه. TIB برای بروزرسانی راه‌حلی که در مجموع بهترین است (TTB) استفاده میشه. TTB بهترین راه‌حل از زمان آغاز الگریتم IWD است که در همه دورها میشه پیداش کرد.

برای یک مسئله فرضی، یه کارکردی (Function) عملی لازمه تا بتونه تناسب راه‌حلمون رو بسنجه. کارکردی رو در نظر بگیرین که بهش q(.) میگیم. کیفیت یک راه‌حلِ TIWD به وسیله q(TIWD) به دست میاد. بنابراین راه‌حلی که بهترین دور رو در نظر میگیره (TIB) به این صورت در میاد:

ذکر این نکته مهمه که در پایان هر دور، راه‌حلی که در مجموع بهترینه (TTB) به وسیله TIB یا همون راه‌حل بهترین-دور بروزرسانی میشه:

بعلاوه هر دور که تموم میشه، مقدار خاک موجود در رأس‌های راه‌حلِ بهترین-دور بسته به کیفیت راه‌حل کاهش پیدا میکنه! این سازوکار برای بروزرسانی soil(i,j) هر یک از رأس‌های (i , j) که متعلق به راه‌حل بهترین-دور هستند استفاده میشه:

SoilIWDIB خاک موجود در دور رو نشون میده. IWD بهترین-دور  (The iteration-best IWD) یه IWDای است که راه‌حل بهترین-دور رو در دور کنونی میسازه. NIB تعداد گره‌های موجود در راه‌حل رو نشون میده. ΡIWD هم کل خاکیه که پارامترمون رو بروزرسانی میکنه، پارامتری که باید بین [0,1] انتخاب بشه. 

 

منابع

Optimization with the Nature-Inspired Intelligent Water Drops Algorithm, Hamed Shah-Hosseini

واژگان تخصصی

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

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

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


Menu