نمايش پست تنها
قديمي ۱۰-۲۷-۱۳۸۸, ۰۵:۳۰ بعد از ظهر   #3 (لینک دائم)
quantomquery
عضو جدید
 
آواتار quantomquery
 
تاريخ عضويت: آذر ۱۳۸۸
پست ها: 9
تشكرها: 5
16 تشكر در 5 پست
پيش فرض

سلام
با تشکر از دوست عزیز برای راهنمایی تون
من هم یه جواب پیدا کردم که شرحش اینه :



دقیقاً این ضرایب بستگی به نوع مسئله شما دارد و شما به عنوان کسی که از مسئله آگاه هست تصمیم میگیرید که این ضرایب چه مقداری داشته باشند. حتی میتونند متغیر هم باشند و بسته به شرایط زمانی و مکانی ذرات تغییر کنند.


مثلاً اگر ضریب الفا رو بیشتر از بتا درنظر بگیرید، ذرات (پرندگان) شبیه الگوریتم Hill Climbing عمل می کنند. و یا اگر ضریب بتا را که با تجربه جمعی ذرات در ارتباط هست بیش از حد افزایش بدید ممکن هست دچار همگرایی زودرس بشید.

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

در کل هرچه A بیشتر باشه ذرات به صورت خودمختار به جستجو می پردازند و پراکنده می شوند. و هرچه B بیشتر باشه ذرات حالت جمعی خودشون رو حفظ می کنند. باید سعی کنید یک توازن بین این دو ایجاد کنید.

موفق باشید/
quantomquery آفلاين است   پاسخ با نقل قول
از quantomquery تشكر كرده اند:
afshin barani (۰۳-۳۱-۱۳۸۹), Astaraki (۱۰-۲۷-۱۳۸۸), civilhagh (۰۲-۷-۱۳۹۱)