Download presentation
Presentation is loading. Please wait.
Published byΆρκτοφόνος Ζάππας Modified over 6 years ago
1
الگوریتم BA ارائه دهنده: سمیه عبدی فیروزه قادری پاییز 94
2
مقدمه BA «وان فِرِش» در سال 1973 جایزه نوبل را به دلیل تحقیق در زمینه رفتار و ارتباط زنبورها دریافت کرد. زنبوربعد از کشف هر باغ یا گل جدید به کندو برمی گردد و زنبوران دیگر را با انجام حرکاتی خاص از جهت و محل دقیق منبع شهد جدید آگاه می کند. این کار آنها به عنوان رقص زنبور شناخته شده است. معنای حرکات زنبور که به قصد انتقال اطلاعات،بین زنبورهای کارگر است،با استفاده از عکس و روش های دیگر کشف شده است.
3
زنبورها در طبیعت گلها با گردافشانی و شهد کمتر که باتلاش کمتری قابل جمع آوری هستند توسط زنبورهای بیشتری بازدید می شوند در حالی که گلها با شهد کمتر تعداد زنبور کمتری در اطراف خود جمع می کنند.
4
زنبورها در طبیعت زنبورهای دیده بان به صورت رندوم از گلزاری به گلزار دیگر حرکت می کنند.
5
زنبورها در طبیعت زنبورهایی که به کندو بازمی گردند براساس معیار مشخصی گلزارهای مختلف را ارزیابی می کنند.(ارزیابی بر اساس ترکیبی از معیارها از قبیل میزان شکر و ...)
6
زنبورها در طبیعت هر کندو دارای مکانی به نام سالن رقص می باشد
7
زنبورها در طبیعت زنبورها از طریق این رقص پیام های زیر را دریافت می کنند : مسیر گلزارها فاصله از کندو رتبه بندی کیفیت برازندگی این اطلاعات زنبورهای پیرو را به سمت گلزار می فرستد.
8
زنبورها در طبیعت بیشتر زنبورهای پیرو به دنبال زنبور رقصنده به سمت گلزارهایی می روند که امید بیشتری برlی یافتن نکتار در گروه انها وجود دارد. وقتی زنبورها به سمت ناحیه ای مشابه بروند دوباره به صورت رندوم در گلزار پراکنده می شوند و دوباره به هنگام بازگشت به کندو رقص چرخشی انجام می دهند وبدین ترتیب زنبورهای بیشتری را با خود همراه می کنند. بیشتر زنبورها به گلزارهایی با میزان نکتار بیشتر می روند.
9
زنبورها در طبیعت بنابراین بر اساس برازندگی گلزار می تواند مملو از زنبور یا متروک گردد.
10
الگویتم زنبورها(BA) (Lousich and Teodorovich)
الگوریتم زنبورها الهام گرفته از زنبورها در طبیعت است. )
11
مراحل الگوریتم مقداردهی اولیه جمعیت ارزیابی برازندگی جمعیت
while (هنگامی که به شرط توقف نرسیده ایم) شکل دهی جمعیت جدید انتخاب مکان هایی جهت جستجوی همسایگی فرستادن زنبورها به سمت مکان های انتخاب شده و ارزیابی برازندگی انتخاب شایسته ترین زنبور هر گلزار فرستادن زنبورهای باقیمانده جهت جستجوی تصادفی وارزیابی برازندگی انها End while
12
پارامترهای الگوریتم BA
تعداد زنبورهای دیده بان n تعداد مکان های انتخاب شده m تعداد مکان های برگزیده e تعداد زنبورهای فرستاده شده به بهترین مکانnep یاn2 تعداد زنبورهای فرستاده شده به m-e مکان دیگرnsp یاn1 اندازه اولیه گلزارها ngh که شامل مکان و همسایگی ان است تعداد تکرار مراحل الگوریتمi max
13
پارامترهای الگوریتم BA
Parameters Population b Number of selected sites m Number of elite sites e Initial patch size ngh Number of bees around elite points nep Number of bees around other selected points nsp
14
فلوچارت الگوریتم زنبورها
Initialise a Population of n Scout Bees Evaluate the Fitness of the Population Select m Sites for Neighbourhood Search Determine the Size of Neighbourhood (Patch Size ngh) Neighbourhood Search Recruit Bees for Selected Sites (more Bees for the Best e Sites) Select the Fittest Bee from Each Site Assign the (n–m) Remaining Bees to Random Search New Population of Scout Bees
15
توصیف مراحل الگوریتم 1- الگوریتم با n زنبور دیده بان که به طور تصادفی در فضای جستجو قرار می گیرند شروع می شود (برای مثالn=100) 2- برازندگی مکان های دیده شده به وسیله زنبورهای دیده بان بعد از برگشت در مرحله 2 ارزیابی می شود ارزیابی 100زنبور دیده بان در جدولی همانند جدول زیر ذخیره می شود. سپس جدول براساس ارزیابی از مقدار بزرگتر به کوچکتر مرتب می شود. 1 2 3 4 5 6 … ... 99 100 20% 50% 60% 30% 80% 10% 35% 72%
16
توصیف مراحل الگوریتم 3- m مکان بهترین انتخاب می شوند(ارزش گذاری به m زنبور دیده بان ازn تا) (برای مثالm=10 ) سپس ما e مکان بهترین را به صورت تصادفی انتخاب می کنیم (زنبور دیده بان) از میان m تابه صورت تصادفی انتخاب می شوند. برای مثال e=2 پس m-e=10-2=8 1 2 3 4 5 6 7 8 9 10 80% 78% 75% 72% 69% 66% 65% 60% 59% 58%
17
توصیف مراحل الگوریتم 4- یک همسایگی مکان جستجو به وسعتngh انتخاب می شود،که برای update کردن m زنبور اظهار شده در مرحله قبل لازم است.
18
توصیف مراحل الگوریتم 5-فرستادن زنبورها به مکان های انتخاب شده و ارزیابی برازندگی مکان ها تعداد n2 زنبور به صورت تصادفی انتخاب شده و به e مکان فرستاده می شوند.(n2=40 ( تعداد n1 زنبور به صورت تصادفی انتخاب شده که تعداد انها از n2 کمتر است که به m-e مکان فرستاده شوند(n1=20)
19
توصیف مراحل الگوریتم 6- انتخاب بهترین زنبور از هر مکان (بیشترین برازندگی)برای شکل دهی جمعیت بعدی این موضوع در طبیعت وجود ندارد . بهترین زنبور هر مکان ازm مکان به صورت زیر انتخاب می شود. اولین مکان انتخاب خواهد شد (برای مثال یک مکان از e مکان( جدول شامل n2=40 زنبور ساخته خواهد شد که ارزش هر زنبور مساوی ارزش زنبور دیده بان اصلی است با مقدار کمی تعدیل بسته به همسایگی ngh.
20
توصیف مراحل الگوریتم اطلاعات از 40 زنبور گرفته شده و با تابع برازندگی ارزیابی می شود. نتایج در جدولی موقتی ذخیره خواهند شد . جدول مرتب شده و بهترین مقدار انتخاب می شود. مرحله6 برای m مکان تکرار می شود. در اخر ما بهترین زنبورها m=10 را خواهیم گرفت که در ابتدای جدول قرار می گیرند.(n=100) 1 2 3 … 40 82% 81.2% 79.9% 79.2% 1 2 3 4 5 6 … 10 11 99 100 82% 79% 77% 73% 70% 67% 58.2%
21
توصیف مراحل الگوریتم 7- جمعیت آغازین جدید:
زنبورهای باقیمانده در جمعیت باید به طور تصادفی به اطراف فضای جستجو فرستاده شوند (مقادیر از 11 تا100 در جدول قبلی) جمعیت جدید به صورت زیر است. 1 2 3 4 5 6 … 10 11 99 100 82% 79% 77% 73% 70% 67% 58.2% Random values
22
توصیف مراحل الگوریتم 8- شمارنده حلقه افزایش می یابد مراحل 2 تا7 تا رسیدن به شرط توقف تکرار می شوند (انتهای شماره تکرارهاimax)(برای مثالimax=1000) در انتهای هر تکرار ،جمعیت 2 قسمت خواهد شد . نمایندگان هر جمعیت جدید از هر گلزار انتخاب شده و زنبورهای دیده بان دیگر برای انجام جستجوهای تصادفی ماموریت می یابند.
23
مثالی ساده مثال استفاده ازBA رابرای بدست اوردن بیشترین مقدار یک تابع ریاضی نشان می دهد.(بهینه تابعی) که این تابع از شبیه سازی بدست آمده است.
24
مثالی ساده 1- اولین قدم شکلدهی جمعیت با10زنبور دیده بان با جستجوی تصادفی و ارزیابی مقدار برازندگی است.(n=10) x y * * * * * * * * * * Graph 1. Initialise a Population of (n=10) Scout Bees with random Search and evaluate the fitness.
25
مثالی ساده 2- ارزیابی برازندگی جمعیت جدولی از 10 مقدار ساخته می شود وبه صورت نزولی از بیشترین مقدارy به کمترین مقدار مرتب می شوند.
26
مثالی ساده 3- m مکان بهترین انتخاب می شود (بهترین براورد m مکان از n مکان)(m=5,e=2,m-e=3) x y ▪ e ▪ m ▫ ▫ ▫ * * * * * Graph 2. Select best (m=5) Sites for Neighbourhood Search: (e=2) elite bees “▪” and (m-e=3) other selected bees“▫”
27
Graph 3. Determine the Size of Neighbourhood (Patch Size ngh)
مثالی ساده 4- انتخاب یک همسایگی مکان جستجو بسته به اندازهngh x y ▪ ▪ ▫ ▫ ▫ Graph 3. Determine the Size of Neighbourhood (Patch Size ngh)
28
مثالی ساده 5- فرستادن تعداد بیشتری زنبور به مکانهای انتخاب شده و ارزیابی برازندگی مکان ها فرستادن زنبورها به مکان های e (مکان های مرغوب)و مکان های m-e (مکان های نامرغوب) n2=4 (مرغوب) n1=2 (نامرغوب) * * * * * ▪ * * * ▪ * * ▫ * * * * ▫ * ▫ * * * Graph 4. Recruit Bees for Selected Sites (more Bees for the e=2 Elite Sites)
29
Graph 5. Select the Fittest Bee * from Each Site
مثالی ساده 6- انتخاب بهترین زنبورها از هر مکان (بیشترین برازندگی)برای شکل دهی جمعیت جدید x y * ▪ * ▪ * * * * ▫ * * * * ▫ * ▫ * * * Graph 5. Select the Fittest Bee * from Each Site
30
Graph 6. Assign the (n–m) Remaining Bees to Random Search
مثالی ساده 7- شکلدهی جمعیت جدید انتخاب 5 مقدار قدیمی و تخصیص مقادیر تصادفی به n-m مقدار باقی مانده x y e o * * * m o * * o o o Graph 6. Assign the (n–m) Remaining Bees to Random Search
31
Graph 7. Find The Global Best point
مثالی ساده 8- شمارنده حلقه افزایش می یابد ومراحل2 تا 7 تکرار می شود،تا زمانی که به شرط توقف برسیم (شماره تکرار پایانیimax ) x y * * * * * Graph 7. Find The Global Best point
32
الگوریتم SOA در مواردی نیز از این الگوریتم به صورت ترکیبی با دیگر الگوریتم ها برای رسیدن به روشی کامل تر استفاده می شود که می توان از Swarm-based Optimization Algorithm یاد کرد که بر گرفته از موارد زیر است: الگوریتم بهینه سازی کلونی مورچه ها (ACO) اگوریتم ژنتیک (GA) بهینه ساز دسته ذرات (PSO) الگوریتم زنبور عسل (BA)
33
الگوریتم SOA این الگوریتم ها متدهایی الهام گرفته از طبیعت هستند که ما را به سمت جواب های بهینه می کشانند . تفاوت میان این الگوریتم ها و الگورتم های جستجوی مستقیم مانند بالارفتن از تپه در این است که SOA ها به جای یک حل منفرد مجموعه ای از حل ها را در نظر میگیرند. همانطور که یک جمعیتی از جوابها در هر تکرار بررسی می شود ،خروجی هر تکرار نیز یک جمعیت از جواب هاست.
34
SOAبرخی کاربردهای الگوریتم
ارتشUS از این الگوریتم ها در کنترل ماشین های ارتش استفاده می کند. NASA برای نقشه های نجومی از این روش استفاده می کند. برخی محققان استفاده از این متدها را جهت داده کاوی پیشنهاد می کنند.
35
از مزایا و معایب این روش می توان به موارد زیر اشاره کرد:
مزایا: کارآمدی بسیار در پیدا کردن جوابی بهینه قادر به حل مسائل با جواب موضعی معایب: از تعداد هماهنگی از متغیرها استفاده می کند پارامتر های وابسته ی کمی می توان تعریف کرد
36
برخی کاربردهای الگوریتم BA
آموزش شبکه عصبی برای الگو شناسی زمان بندی کارها برای ماشین های تولیدی دسته بندی اطلاعات بهینه سازی طراحی اجزای مکانیکی بهینه سازی چند گانه میزان کردن کنترل کننده های منطق فازی برای ربات های ورزشکار
37
Thanks for your attention
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.