تحقیق رایگان درمورد الگوریتم ازدحام ذرات و ازدحام ذرات

این خاصیت یکی از امتیازات کنترل فازی محسوب می شود. اما همین ویژگی دامنه کاربرد کنترل فازی را به سیستمهایی که در مورد آنها تجربه کافی کسب شده باشد محدود میکند. در حقیقت برای این نوع طراحی لازم است که یک شخص هوشمند مدتها با یک سیستم کار کرده باشد تا در مورد آن اطلاعات کافی بدست آورد و میتوان به نوعی گفت که شخص هوشمند مدل سیستم را بدست آورده است و بر اساس آن کنترل مطلوب را ابراز میدارد، از طرفی دیگر در مواردی اطلاعات شخص مجرب کافی نیست و بنابراین داشتن یک تصویر کلی از مدل سیستم میتواند کمک بزرگی در تعیین کنترل مطلوب فازی بکند. از این رو در بعضی موارد با استفاده از کنترل کیفی یک کنترل کننده طراحی شده بر اساس مدل نه چندان واقعی از سیستم، مدل سیستم شناسایی میشود یا در مورد سیستمهایی که خاصیت غیر خطی شدید دارند طراحی کنترل کننده خطی چندان مناسب نیست چرا که برای بدست آوردن پاسخ مطلوب در نقطه کار معین بدون از دست دادن پایداری (داشتن مقاومت مطلوب)درجه کنترل کننده بسیار بالا میرود. شباهت کنترل کنندههای فازی و کلاسیک آن است که هردو دنبال حل مساله یکسانی یعنی کنترل یک فرآیند میباشد و دیگر آن که ابزارهای ریاضی جهت تحلیل سیستمهای طراحی شده برای هردو یکسان میباشد. تفاوت عمدهای که بین این دو کنترلکننده وجود دارد این است که کنترل کننده کلاسیک برای طراحی کنترلکننده از مدل ریاضی فرآیند به عنوان پایه و اساس استفاده میکند. در حالی که اساس منطق فازی برای طراحی کنترل کننده تجربیات فرد خبره میباشد [73] , [75] .
به طور کل استفاده از کنترل کنندههای فازی در سیستم های کنترل، به علت عدم قطعیت بزرگ یا تغییرات نامعلوم در پارامترها و ساختار سیستم میباشد، که با استفاده از یک کنترل تطبیقی در کنار آن کارایی سیستم ثابت نگه داشته میشود.
2-16 الگوریتم بهینهسازی ازدحام ذرات
Widget not in any sidebars

برای برخی از حیوانات که به صورت گروهی زندگی میکنند از جمله دستههای ماهی رفتارهای پیچیدهای به هنگام حرکت قابل مشاهده هستند. این در حالی است که هر کدام که از اعضای جمع به اطلاعات محدودی دسترسی دارند و فقط از موقعیت عدهای اندکی از همسایگانشان خبر دارد. به عنوان مثال یک دسته از ماهیها همان طور که در شکل(2-12) دیده میشود، میتوانند خطر یک شکارچی را دفع کنند. در ابتدا گروه به دو قسمت تقسیم میشود و سپس از نو ساخته میشود. اما در حالتی، نزدیکی و فشردگی کل جمع از طرف همه ماهیها کنترل میشوند[91].
شکل 2-12: یک گروه از ماهیها که خطر یک شکارچی را پشت سر میگذارند
در چنین مجموعهای هر کدام از حیوانات فقط از چند قانون ساده تبعیت میکنند و رفتار پیچیده که در کل جمع قابل مشاهده هستند، چیزی جز ترکیب این قوانین ساده نیستند. هر کدام از ماهیها در یک دسته، از موقعیت، جهت حرکت و سرعت ماهیهای نزدیکش خبر دارد و با استفاده از این اطلاعات و پیروی از چند قانون ساده، خود را با جمع تطبیق میدهد [92-93].
در شکل(2-13) چهار نمونه از الگوهای موجود در طبیعت مشاهده میشود. نمونه (الف) طرح پوست یک زرافه را نشان میدهد. طرز چینش و تقسیمبندی در پوست زرافه، با چند قانون ساده قابل بیان است. نمونه(ب) نظم موجود در بخش مرکزی گل آفتابگردان را نشان میدهد. مارپیچی که دانههای گل آفتاب گردان تشکیل میدهند، با یک سری فیبوناچی قابل توصیف است. نمونههای (پ) و(ت) نیز مربوط به عملکرد جمعی پرندگان و ماهیها هستند که با وجود تمام پیچیدگیهایشان از ترکیب و تکرار چند قانون ساده ساخته شدهاند. در تمام این مثالها ترکیب و تکرار چند قانون ساده باعث ایجاد یک نظم پیچیده شده است. در نمونههای (پ) و (ت) قوانینی برای حرکت وجود دارند. اما در دو نمونه اول فقط قوانین برای طرز چینش قابل توصیف هستند.

(الف) (ب)

(پ) (ت)
شکل 2-13 : چند مثال از الگوهای موجود در طبیعت
نحوه ارتباط میان عناصر یک سیستم، نکات جالبی را به دل خود دارد. برای عملکرد جمعی ،وجود داشتن یک سیال اطلاعاتی ضروری است. برای ایجاد اطلاعات بهتر از روی اطلاعات فعلی میبایست بخشهای مهم و مفید از میان اطلاعات موجود انتخاب و سپس تقویت شوند. این تقویت در سیستمهای طبیعی به طور معمول به صورت یک پسخورد مثبت میباشد. به دلیل خواص ناپایدار کننده پسخورد مثبت، الگوهای طبیعی دارای پسخورد منفی نیز میباشند تا به این وسیله از نظر پایداری دچار مشکل نشوند[92].
2-17 تاریخچه الگوریتم بهینهسازی ازدحام ذرات
جیمز کندی، روانشناس اجتماعی و راسل ابرهارت، مهندس برق، صاحبان اصلی ایدهی الگوریتم بهینهسازی ازدحام ذرات میباشند. آنها در ابتدا قصد داشتند که با بهرهگیری از مدلهای اجتماعی و روابط موجود اجتماعی، نوعی از هوش محاسباتی را به وجود بیاورند که به تواناییهای فردی ویژه نیازی نداشته باشد. اولین شبیهسازی آنها که در سال 1995 انجام گردید، آنها را به سمت شبیهسازی رفتار پرندگان برای یافتن دانه رهنمون کرد [95-96]. این کار تحت تاثیر هینرو گرناندر بود که در سال 1990 برای شبیهسازی رفتار پرندگان به صورت یک سیستم غیر خطی انجام گرفته بود. کار کندی و ابرهارت منجر به ایجاد الگوریتمی قوی برای بهینهسازی، به نام الگوریتم بهینهسازی انبوه ذرات یا pso شد[93]،[91]،[97] .
در الگوریتم بهینهسازی انبوه ذرات تعدادی از موجودات وجود دارند که به آنها ذره گفته میشود و هر ذره مقدار تابع هدف را در موقعیتی از فضا که در آن قرار گرفته است، محاسبه میکند. سپس با استفاده از ترکیب اطلاعات، محل فعلیاش و بهترین محلی که در گذشته در آن بوده است و همچنین با بدست آوردن اطلاعات یک یا چند ذره از بهترین ذرات موجود در جمع، جهتی را برای حرکت انتخاب میکند. همه ذرات جهتی برای حرکت انتخاب میکنند و پس از انجام حرکت یک مرحله از الگوریتم به پایان میرسد. این مرحله چندین بار تکرار میشود تا آن که جواب مورد نظر به دست بیاید. در واقع انبوه ذرات که مقدار کمینهی یک تابع را جستجو میکنند همانند دستههایی از پرندگان عمل میکنند که به دنبال غذا میگردند[93]،[98]،[95]،[97] .
الگوریتم بهینهسازی ازدحام ذرات یک الگوریتم جستجوی اجتماعی است که از روی رفتار اجتماعی دستههای پرندگان مدل شده است. در ابتدا این الگوریتم به منظور کشف الگوهای حاکم بر پرواز همزمان پرندگان و تغییر ناگهانی مسیر آنها و تغییر شکل بهینه آنها به کار گرفته شد. در الگوریتم بهینهسازی انبوه ذرات، ذرات در فضای جستجو جاری میشوند. تغییر مکان ذرات در فضای جستجو تحت تاثیر تجربه و دانش خودشان و همسایگانشان است. بنابراین موقعیت دیگر توده ذرات روی چگونگی جستجوی یک ذره اثر میگذارد. نتیجه مدل سازی این رفتار اجتماعی فرآیند جستجویی است که ذرات به سمت نواحی موفق میل میکنند. ذرات از یکدیگر میآموزند و بر مبنای بدست آمده به سمت بهترین همسایگان خود میروند. اساس کار الگوریتم بهینهسازی ازدحام ذرات بر این اصل استوار است که در هر لحظه هر ذره مکان خود را در فضای جستجو با توجه به بهترین مکانی که تاکنون در آن قرار گرفته است و بهترین مکانی که در کل همسایگیاش وجود دارد تنظیم میکند.
2-18 هوش جمعی
هوش جمعی خاصیتی است سیستماتیک که در این سیستم، عاملها به طور محلی با هم همکاری مینمایند و رفتار جمعی تمام عامل ها باعث یک همگرایی در نقطهای نزدیک به جواب بهینه سراسری میباشد. نقطهی قوت این الگوریتم عدم نیاز به یک کنترل سراسری میباشد. هر ذره (عامل) در این الگوریتمها ، خود مختاری نسبی دارند، که میتواند در سراسر فضای جواب حرکت کند و میبایست با سایر ذرات (عاملها) همکاری داشته باشد. دو الگوریتم مشهور هوش جمعی، بهینهسازی مورچگان و بهینه سازی انبوه ذرات میباشند. از هردو این الگوریتمها میتوان برای تعلیم شبکههای عصبی بهره برد.
هر ذره در الگوریتم ازدحام ذرات از سه بردار d بعدی تشکیل شده است که d بعد فضای جستجو میباشد. ذره iام این سه بردار عبارتند از: xi موقعیت فعلی ذره، vi سرعت حرکت ذره و xbest بهترین موقعیتی که ذره تا به حال تجربه کرده است. xi مجموعهای از مختصات است که موقعیت فعلی ذره را نمایش میدهد. در هر مرحلهای که الگوریتم تکرار میشود، xi به عنوان یک جواب برای مساله محاسبه میشود. اگر این موقعیت بهتر از جوابهای پیشین باشد در xi,best ذخیره میشود. fi مقدار تابع هدف در xi و fi,best مقدار تابع هدف در xi,best است که هر دو از عناصر تشکیل دهنده هر ذره به حساب میآیند. ذخیره کردن مقدار fi,best برای انجام مقایسههای بعدی ضروری است. اما ذخیره کردن مقدار fi ضروری نمیباشد. درهر تکرار xiو vi جدیدی بدست میآیند و منظور از اجرای الگوریتم بهتر کردن xi,best و به احتمال xi است. الگوریتم بهینهسازی ازذحام ذرات چیزی فراتر از یک مجموعه ذرات است. هیچ کدام از ذرات قدرت حل هیچ مسالهای را ندارند. بلکه هنگامی میتوان به حل مساله امیدوار شد که آنها با همدیگر ارتباط و تعامل داشته باشند. در واقع برای انبوه ذرات حل مساله یک مفهوم اجتماعی است که که از رفتار تک تک ذرات و تعامل میان آنها به وجود میآیند. بهترین موقعیتی که به وسیله همهی ذرات پیدا شده است به صورت xg,best نشان داده میشود که با مقایسه مقادیر fi,best به ازای همهی ذرات و از میان xi,best انتخاب میشود.
مقدار تابع هدف در xg,best به صورت fg,best نشان داده میشود. اگر تعداد ذرات موجود در جمعیت n باشد،آنگاه میتوان روابط زیر را نوشت :
(2-1)
(2-2)
(2-3)