200 likes | 509 Views
هوش تجمعی. تهیه کننده:سپیده اسماعیلی. استاد راهنما:جناب آقای داورپناه. فهرست:. مقدمه. تاریخچه. الگوریتم PSO. کاربرد PSO. منابع. مقدمه. Swarm Intelligence. هوش دسته جم ع ی.
E N D
هوش تجمعی تهیه کننده:سپیده اسماعیلی استاد راهنما:جناب آقای داورپناه
فهرست: مقدمه تاریخچه الگوریتم PSO کاربرد PSO منابع
مقدمه Swarm Intelligence هوش دسته جمعی این اصطلاح برای اولین بار توسط Gerardo Beni و Joing Wang در سال 1989 در زمینه ی سیستم های رباتی سلولی به کار برده شد. هوش دسته جمعی(SI) زیرشاخه ای از هوش مصنوعی است که بر پایه رفتار جمعی سیستم های غیر متمرکز و خود سازمانده بنا شده .
برای شروع : فرض کنید دنبال گنج می گردید کار گروهی نتیجه بهتر
در (SI) مجموعه ذرات یا عوامل به طور محلی و یا سراسری با یکدیگر در تعامل اند • ساختار کنترلی متمرکز وجود ندارد • برهم کنش محلی بین عوامل منجر به حتمی بودن رفتار سراسری می شود • از یکدیگر می آموزند
رفتار کلی گروه از ترکیب غیر خطی رفتارهای تک تک اجتماع بدست میآید. یا به زبانی دیگر، یک رابطهی بسیار پیچیده میان رفتار گروهی و رفتار فردی یک اجتماع وجود دارد. رفتار گروهی، تنها وابسته به رفتار فردی افراد اجتماع نیست بلکه به چگونگی تعامل میان افراد نیز وابسته است
نمونه های (SI): • Ant colony optimization(ACO) • Imperialist Competitive Algorithm(ICA) • Charged system search (CSS) • Particle Swarm Optimization (PSO) کاربردهای SI: آموزش شبکه های عصبی برای الگوشناسی زمان بندی کارها برای ماشین های تولیدی دسته بندی اطلاعات مسیریابی در شبکه بهینه سازی ترکیبیاتی در رباتیک: بررسی سیستمهای لولهکشی تعمیرات و نگهداری ماهوارهها و کشتیها روبوتهای خود-مونتاژ
PSO algorithm: (Particle Swarm Optimization) الگوریتم PSO الگوریتم PSO یک الگوریتم مبتنی بر جمعیت است که از روی رفتار اجتماعی پرندگان مدل شده هدف استفاده از این الگوریتم کشف الگوهای حاکم بر پرواز همزمان پرندگان و تغییر ناگهانی مسیر آنها است. در این جستجو ذرات از هم می آموزند. تغییر مکان ذرات در فضای جستجو تحت تأثیر تجربه و دانش خودشان و همسایگانشان است. بنابراین موقعیت دیگر توده ذرات روی چگونگی جستجوی یک ذره اثر میگذارد.
اساس کار PSO بر این اصل استوار است که در هر لحظه هر ذره مکان خود را در فضای جستجو با توجه به بهترین مکانی که تاکنون در آن قرار گرفته است و بهترین مکانی که در کل همسایگیاش وجود دارد، تنظیم میکند. ذرات بر اساس یک تابع شایستگی متوجه می شوند موقعیت خود نسبت به هدف کجاست اطلاعات لازم جهت تغییر در مکان و سرعت هر ذره: 1.اطلاع از بهترین همسایگی 2.اطلاع از بهترین تجربه
For each particle Initialize particle End For 1.مقدار دهی اولیه هر ذره Do For each particle Calculate fitness value of the particle fp /*updating particle’s best fitness value so far)*/ 2.Update بهترین ارزش ذره تا کنون 3.Update بهترین ارزش جمعیت تا کنون If fp is better than pBest set current value as the new pBest End For /*updating population’s best fitness value so far)*/ Set gBest to the best fitness value of all particles For each particle 4.محاسبه سرعت ذره بر اساس معادله (1) 5.Update مکان ذره بر اساس معادله (2) Calculate particle velocity according equation (1) Update particle position according equation (2) End For While maximum iterations OR minimum error criteria is not attained
(1) Vnew=Vold+C1*R1*(Plocal best-Pold)+C2*R2*(Pglobal best-Pold) (2) Pnew=Pold+Vnew
فلوچارت Start Initialize particles with random position and velocity vectors. For each particle’s position (p) evaluate fitness Loop until all particles exhaust If fitness(p) better than fitness(pbest) then pbest= p Loop until max iter Set best of pBests as gBest Update particles velocity (eq. 1) and position (eq. 3) Stop: giving gBest, optimal solution.
کاربردی ازPSO در ریاضیات: فرض کنید میخواهیم زوج مرتب (x,y) را طوری بدست آوریم که تابع F(x,y)=x2+y2، مینیمم شود. ابتدا نقاطی را به صورت تصادفی در فضای جستجو، روی صفحهیx-yانتخاب میکنیم. فرض کنید این Swarm را به 3 همسایگی تقسیم کنیم که در هر همسایگی نقاط موجود با یکدیگر تعامل دارند. در هر همسایگی هر یک از نقاط به سمت بهترین نقطه در آن همسایگی و بهترین مکانی که آن نقطه تاکنون در آن قرار داشته است، حرکت میکند. برای حل یک مسئله چند متغیر بهینهسازی میتوان از چند Swarm استفاده کرد که هر یک از Swarmها کار مخصوصی را انجام میدهند.
اتوماتای یادگیر: اتوماتاي يادگير ماشيني است كه ميتواند تعدادي متناهي عمل را انجام دهد. هر عمل انتخاب شده توسط يك محيط احتمالي ارزيابي ميشود و نتيجه ارزيابي در قالب سيگنالي مثبت يا منفي به اتوماتا داده ميشود و اتوماتا از اين پاسخ در انتخاب عمل بعدي تاثير ميگيرد . هدف نهايي اين است كه اتوماتا ياد بگيرد تا ازبين اعمال خود بهترين عمل را انتخاب كند . بهترين عمل، عملي است كه احتمال دريافت پاداش از محيط را به حداكثر برساند.
منابع: http://en.wikipedia.org/wiki/Swarm_intelligence• http://en.wikipedia.org/wiki/Particle_swarm_optimization• http://www.swarmintelligence.org.