چکیده : الگوریتم [1]PSO یک الگوریتم جستجوی اجتماعی است که از روی رفتار اجتماعی دستههای پرندگان مدل شده است. در ابتدا این الگوریتم به منظور کشف الگوهای حاکم بر پرواز همزمان پرندگان و تغییر ناگهانی مسیر آنها و تغییر شکل بهینهی دسته به کار گرفته شد . در PSO، ذرات[2] در فضای جستجو جاری میشوند. تغییر مکان ذرات در فضای جستجو تحت تأثیر تجربه و دانش خودشان و همسایگانشان است. بنابراین موقعیت دیگر توده[3] ذرات روی چگونگی جستجوی یک ذره اثر میگذارد . نتیجهی مدلسازی این رفتار اجتماعی فرایند جستجویی است که ذرات به سمت نواحی موفق میل میکنند. ذرات از یکدیگر میآموزند و بر مبنای دانش بدست آمده به سمت بهترین همسایگان خود میروند اساس کار PSO بر این اصل استوار است که در هر لحظه هر ذره مکان خود را در فضای جستجو با توجه به بهترین مکانی که تاکنون در آن قرار گرفته است و بهترین مکانی که در کل همسایگیاش وجود دارد، تنظیم میکند.
کلمات کلیدی : بهینه سازی توده ذرات - هوش جمعی – اتوماتای یادگیر سلولی - CLA-PSO
هوش جمعی[4]:
هوش جمعی خاصیتی است سیستماتیک که در این سیستم، عامل هابه طور محلی با هم همکاری می نمایند و رفتار جمعی تمام عامل هاباعث یک همگرایی در نقطه ای نزدیک به جواب بهینه سراسری میشود نقطه قوت این الگوریتم عدم نیاز به یک کنترل سراسری میباشد. هر ذره) عامل) در این الگوریتم ها خود مختاری نسبی داردکه می تواند در سراسر فضای جواب ها حرکت کند و می بایست با سایرذرات )عامل ها( همکاری داشته باشد . دو الگوریتم مشهور هوش جمعی، بهینه سازی جرگه مورچگان و بهینه سازی توده ذرات می باشند. از هر دو این الگوریتم ها می توان برای تعلیم شبکه های عصبی بهره برد.
شبکه عصبی :
شبکه های عصبی مصنوعی دارای ویژگی های فراوانی از جمله انطباق پذیری، قابلیت یادگیری و تعمیم می باشد .در حوزه تطابق الگو ها،شبکه های عصبی مصنوعی قادرند که الگو های جدید را بر اساس تعالیم قبلی خود به کلاس های مرتبط طبقه بندی نمایند .
استفاده از ایده جدید هوش جمعی در ترکیب با شبکه هایعصبی مصنوعی می باشد تا راهکاری برای غلبه بر چالش موجو د درشبکه های عصبی باشد.
الگوریتم بهینه سازی توده ذرات:
در سال 1995 به Eberhart و Kennedy برای اولین بار توسط PSO عنوان یک روش جستجوی غیر قطعی برای بهینه سازی تابعی مطرح گشت این الگوریتم از حرکت دسته جمعی پرندگانی که به دنبال غذا می باشند الهام گرفته شده است.
گروهی از پرندگان در فضا یی به صورت تصادفی دنبال غذا می گردند. تنها یک تکه غذا در فضا ی مورد بحث وجود دارد. هیچ یک از پرندگان محل غذا را نمی دانند. یکی از بهتر ین استراتژیها می تواند دنبال کردن پرنده ا ی باشد که کمتر ین فاصله را تا غذا داشته باشد . این استراتژ ی در واقع جانما یه الگور یتم است.هر راه حل که به آن یک ذره گفته میشود، ،PSO در الگوریتم معادل یک پرنده در الگور ی حرکت جمع ی پرندگان م یباشد. هر ذره یک مقدارشا یستگی دارد که توسط یک تابع شا ی ستگی محاسبهمیشود. هر چه ذره در فضا ی جستجو به هدف - غذا در مدل حرکت پرندگان- نزدکتر باشد، شا یستگی بیشتری دارد .. همچن ین هر ذره دارای یک سرعت است که هدا یت حرکت ذره را بر عهده دارد . هرذره با دنبال کردن ذرات به ینه در حالت فعل ی، به حرکت خود د رفضای مساله ادامه میدهد. به ا ین شکل است که گروه ی از ذرات PSO آغاز کاربه صورت تصادفی به وجود می آیند و با به روز کردن نسلها سعی در یافتن راه حل بهینه مینمایند. در هر گام، هر ذره با استفاده از دو بهتر ین مقدار به روز میشود. اولین مورد، بهترین موقعیتی است که تا کنون ذره موفق به رسیدن به آن شده است . موقعیت مذکورشناخته و نگهدار ی میشود. بهترین مقدار د یگر
ی که pbest با نام توسط الگور یتم مورد استفاده قرار م یگیرد، بهتر ین موقعیتی است که تا کنون توسط جمعیت ذرات بدست آمده است.این موقعیت با gbest نمایش داده می شود .
پس از یافتن بهتر ین مقاد یر، سرعت و مکان هر ذره با استفاده از معادلات ( 1) و ( 2) به روز میشود.
(1)
v[] = v[] +
c1 * rand() * (pbest[] - position []) +
c2 * rand() * (gbest[] - position[])
(2)
position[] = position[] + v[]
سمت راست معادله ( 1) از سه قسمت تشکیل شده است که قسمت اول، سرعت فعلی ذره است و قسمتهای دوم و سوم تغییر سرعت ذره و چرخش آن به سمت بهترین تجربه شخصی و بهترین تجربه گروه را به عهده دارند. اگر قسمت اول را در این معادله درنظر نگیریم، آنگاه سرعت ذرات تنها با توجه به موقعیت فعلی و بهترین تجربه ذره و بهترین تجربه جمع تعیین میشود. به این ترتیب، بهترین ذره جمع، در جای خود ثابت میماند و سایرین به سمت آن ذره حرکت میکنند. در واقع حرکت دسته جمعی ذرات بدون قسمت اول معادله( 1)، پروسه ای خواهد بود که طی آن فضای جستجو به تدریج کوچک میشود و جستجویی محلی حول بهترین ذره شکل میگیرد. در مقابل اگر فقط قسمت اول معادله( ( 1را در نظر بگیریم، ذرات راه عادی خود را میروند تا به دیواره محدوده برسند و به نوعی جستجویی سراسری را انجام میدهند.