مقاله الگوریتم خفاش (Bat Algorithm)

یک الگوریتم متاهیوریستیکی جدید بر گرفته از الگوریتم خفاش - Bat Algorithm

چکیده

در حال حاضر الگوریتم های متا هیوریستیکی مانند PSO(بهینه سازی ذرات گروه) و الگوریتم کرم های شب تاب و جستجوی هارمونی (توازن و هماهنگی ) اکنون روش های قدرتمندی برای حل بسیاری از مشکلات بهینه سازی شده اند.در این مقاله ، ما یک روش متاهیوریستیکی جدید، الگوریتم خفاش را بر اساس روشهای قرارگیری خفاش ها پیشنهاد نموده ایم : روش الگوریتم خفاش که بر گرفته از رفتار پژواک یا انعکاس صدای خفاش ها است . ما همچنین تمایل به ترکیب مزیت های الگوریتم های موجود بدرورن الگوریتم جدید خفاش داریم . بعد از فرمول بندی دقیق و توضیح پیاده سازی آن ، ما الگوریتم پیشنهاد شده را با الگوریتم های موجود مقایسه خواهیم کرد که شامل الگوریتم های کلی (ژنتیک) و بهینه سازی گروه ذرات می باشد.

شبیه سازی ها نشان می دهد که الگوریتم ارائه شده برتری بیشتری به الگوریتم های دیگر دارد و بررسی های بیشتر همچنین مطرح شده است .

مقدمه

در حال حاضر الگوریتم های متاهیوریستیکی مانند PSO    و بادوام نمودنتشیبه ها اکنونبه روش های قدرتمندی برای حل بسیاری از مشکلات دشوار  بهینه سازی شده اند.بیشتر الگوریتم های یوریستیکی (اکتشافی) و متاهیوریستیکی(خود اکتشافی) ازرفتار سیستم های بیولوژیکی و یاسیستم های فیزیکی در طبیعت مشتق شده اند. به عنوان مثال PSO بر اساس رفتار گروهی پرندگان و ماهی توسعه داده شده بود در حالیکه بادوام کردن تشابهات بر اساس فرآیند بادوام نمودن فلزات می باشد.

الگوریتم های جدید که اخیرا بدست آمده شامل جستجوی هارمونی و الگوریتم کرم شب تاب می باشد . اولی از مرحله بداهه نوازی که در ساخت یک قطعه موسیقی استفاده می شود ، الهام گرفته و دیگری بر اساس رفتار تابش نور که از کرم شب تاب ساتع می شود ، فرمول بندی شده است.هر کدام از این الگوریتم ها دارای مزایا و معایبی هستند

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

این مقاله تلاش دارد تا به بررسی این موضوع بپردازد .

در این مقاله سعی داریم تا یک روش متاهیوریستیک جدید را ارائه دهیم یعنی الگوریتم خفاش که  بر گرفته از رفتار پژواک یا انعکاس صدای خفاش ها است . قابلیت اعکاس صدا در خفاش های کوچک بسیار جالب است ، چرا که این خفاش ها می توانند از این طریق طعمه خود را یافته و حتی در تاریکی کامل نوع حشره را تشخیص داده و ان را شکار نماید .

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

2 . اکولوژی(مکان یابی) خفاش ها

1.2 رفتار خفاش های کوچک

خفاش ها جانوران شگفت انگیزی هستند.آنها تنها پستانداران بالداری هستند که از قابلیت انعکاس صدا برخوردارند (توانایی پیشرفته ای در مکان یابی دارند). بر آورد شده که در حدود ??6 نوع  مختلف از آنها وجود دارد که 20 در صد از گونه های پستانداران را شامل  می شوند .

اندازه آنها از یک  خفاش کوچک (در حدود ?/1 تا 2 گرم ) اغاز شده و تا خفاش های غول پیکر در اندازه 2 متر و وزن 1 کیلو گرم متغیر می باشد . خفاش های کوچک به طور معمول دارای طول 2/2 تا 11 سانتی متر می باشند .

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

2.2 مکان یابی اصوات

اگرچه  هر پالس چند هزارم ثانیه به طول می انجامد (تا حدود ? الی 10 ثانیه )با این حال دارای فرکانس ثابت در حدود 2? تا 1?0 کیلوهرتز می باشد . محدوده استاندارد فرکانس ها در گونه های مختلف خفاش ها در حدود 2? الی 100 کیلو هرتز می باشد ، هر چند برخی از این گونه ها می توانند فرکانس های بالا تری را نیز منتشر کنند مثلا در حدود 1?0 کیلوهرتز .

هر انفجار مافوق صوت ممکن است ? تا 20 هزارم ثانیه طول بکشد و خفاش های کوچک به طور معمول این انفجار صدا را 10 تا 20 بار در هر هزارم ثانیه تکرار می کنند . مثلا در هنگام شکار طعمه میزان پالس آزاد شده می تواند با سرعت حدود 200 پالس در ثانیه تا لحظه نزدیکی به شکار طعمه خود این صدا را تولید کنند . بعضی از پیام های همزمان صوتی کوتاه به توانایی فوق العاده ای در قردت پردازش سیگنال خفاش ها اشاره دارند در حقیقت مطالعات زمان اتحاد گوش خفاش را نشان میدهد که به طور معمول حدود 300 الی  ?00 میکرو ثانیه می باشد

با توجه به اینکه سرعت صوت در هوا به طور معمول m/s  3?0 v =  و طول موج انفجار صوت ??پیام های همزمان فراصوت با فرکانس ثابت f داده ش ده است :

که در محدوده 2 الی 1? میلی متر برای محدوده فرکانس معمولی  2? کیلو هرتز تا 1?0 کیلو هرتزاست.

معمولا این طول موج با اندازه طعمه در ارتباط است .

شگفت آور اینست که پالس ساطع شده می تواند صدای بلندی در حدود 110 دسی بل باشد و خوشبختانه در محدوده ما فوق صوت به حساب می آیند . هنگامیکه خفاشها به دنبال شکار خود هستند کاملا بی صدا هستند  و هیچ صدایی تولید نمی کنند

محدوده مسافت (عبور و مرور ) این پالس ها ی کوتاه عموما چند متر می باشد که البته به فرکانس های واقعی بستگی دارد . خفاش های کوچک می توانند برای اجتناب از موانع به کوچکی ریزی یک تار موی انسان کار خود را انجام دهند.

مطالعات نشان می دهد که خفاش های خیلی کوچک از تاخیر زمانی در پخش و انتشار صدا استفاده میکنند و از تفاوت زمانی بین گوش های انها در شنیدن صدا و تغییرات بلندی انعکاس  صدا برای ساختن سناریو سه بعدی احاطه شده استفاده میکنند. آنها می توانند از راه دور هدف را شناسایی و به سوی ان جهت گیری نمایند و حتی نوع طعمه در حال حرکت را نیز شناسایی کرده و حتی سرعت ان را تخمین می زنند .

در واقع ، مطالعات نشان می دهند که به نظر می رسد خفاش ها می توانند با استفاده از اثر داپلر که از  بال بال زدن حشرات  القا می شود ، می تواندند هدف (شکار ) خود را شناسایی کنند.

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

این انعکاس صدا ی خفاشهای کوچک ، می تواند به گونه ای ساختار بندی شود که با تابع اصلی در بهینه سازی، مرتبط باشد و این امکان را می دهد تا یک الگوریتم بهینه سازی جدید را ساختار بندی کنیم.در ادامه این مقاله ، ما برای اولین باررئوس کلی مطالب را درفرمول اساسی الگوریتم خفاش ها (BA) طرح ریزی نموده ایم و سپس به بحث درباره اجرا و پیاده سازی آن و مقایسه جزییات خواهیم پرداخت .

3 الگوریتم خفاش (AB)

اگر ما برخی از ویژگی های مکان یابی خفاش های کوچک را به صورت ایده ال شناسایی کنیم ، می توانیم الگوریتم های متفاوتی که برگرفته از خفاش است را ارائه دهیم . اکنون ما به سادگی از قواعد مشخص شده و تقریبی استفاده می کنیم :

1.  تمام خفاش ها از مکان یاب برای جهت و مسافت استفاده می کنند و همچنین تقریبا تفاوت بین طعمه و غذا و موانع دیگر را می دانند .

2.خفاش ها به طور تصادفی با سرعت  در موقعیت  با یک فرکانس ثابت و طول موج های مختلف ?? و بلندی صدا Ao به دنبال طعمه پرواز می کنند . آنها به طور اتوماتیک می توانند طول موج یا پالس ساطع شده از خود را وقتی که  r [0,1] با توجه به نزدیکی به هدف تنظیم کنند .

3. اگر چه بلندی صدا می تواند در بسیاری روشها متفاوت باشد ، ما فرض می کنیم که بلندی صوت از یک موقعیت بزرگAo مثبت به حداقل مقدار ثابت تغییر یابد .

یکی دیگر از ساده سازی های بارز اینست که از هیچ اشعه ردیاب یا توپو گرافی سه بعدی در برآورد زمان استفاده نمی شود . اگر چه ممکن است یکی از ویژگی های خوب برای کاربرد در هندسه محاسباتی باشد با این حال ما از این روش به عنوان روش محاسباتی پیشرفته در موارد چند بعدی استفاده نمی کنیم . علاوه بر این مفروضات ساده شده ما از تقریب زیر نیز استفاده می کنیم .به طور کلی فرکانس f در یک محدوده [ fmax وfmin ] به طیف وسیعی از طول موج [max?? وmin??] وابسته است . برای مثال محدوده فرکانس (20 کیلو هرتز -?000 کیلو هرتز ) به محدوده طول موج ?/0 میلی متر تا 1? میلی متر وابسته است . در صورت اشکال می توانیم از هر طول موجی برای سهولت پیاده سازی (اجرا ) استفاده کنیم .

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

به سادگی ، می توانیم f [0, ] را فرض کنیم .ما می دانیم فرکانس های بالاتر دارای طول موج کوتاهتر هستند و مسافت کمتری را طی می کنند . برای خفاش ها محدوده عادی چند متر است . میزان پالس می تواند تقریبا در محدوده [1 و 0 ] باشد، 0 به این معنی است که هیچ پالسی در آن نیست و 1 میانگین حداکثر میزان انتشار پالس است . بر اساس این تقریب ها و فرضیات ، گام اولیه الگوریتم خفاش (BA) می تواند به عنوان شبه کد که در شکل 1 نمایش داده شده، باشد.

3.1 حرکت مجازی خفاش ها:

در شبیه سازی ها ، ما به طور طبیعی از خفاش های مجازی استفاده کردیم . ما باید قوانین را تعریف کنیم که چگونه موقعیت های و سرعت های در فضای جستجوگرd بعدی ، به روز رسانی میشوند.

راه حل های جدید  و شتاب های  در یک مرحله زمانی t توسط فرمول های زیر داده شده است:

وقتی که  [0,1]B  باشد ، یک بردار تصادفی از توزیع یکنواخت کشیده شده است.در اینجا در حال حاضر بهترین راه حل جهانی به حساب می آید که بعد از مقایسه تمام راه حل ها در بین n خفاش ، بدست آمده . همچنین نتیجه ، افزایش سرعت است ، ما همچنین می توانیم از هر یک از فاکتورهای یا برای تنظیم تغییرات سرعت استفاده کنیم . در اجرا های ما از  و استفاده می کنیم که به اندازه حوزه مشکل گرایش بستگی دارد در ابتدا، هر خفاش بطور تصادفی یک فرکانس را تعیین می نماید که به طور یکنواخت از [] ترسیم شده است.

 

 

Bat Algorithm

Objective function f (x), x = (x1, ...,xd)T

Initialize the bat population xi (i = 1,2, ...,n) and vi

Define pulse frequency fi at xi

Initialize pulse rates ri and the loudness Ai

while (t

Generate new solutions by adjusting frequency,

and updating velocities and locations/solutions [equations (2) to (4)]

if (rand >ri)

Select a solution among the best solutions

Generate a local solution around the selected best solution

end if

Generate a new solution by flying randomly

if (rand < Ai & f (xi) < f (x∗))

Accept the new solutions

Increase ri and reduce Ai

end if

Rank the bats and find the current best x∗

end while

Postprocess results and visualization

 

 

Fig.1 Pseudo code of the bat algorithm(BA)

 

الگوریتم خفاش

تابع هدف f(x)  ، x=(x1,x2,x3,…xd)t

مقدار اولیه جمعیت خفاش ها 1,2,…n )  xi ( i= و vi

تعریف فرکانس پالس fi در   xi

سرعت پالس اولیه ri و بلندی صدا AI

و زمانیکه ، حد اکثر مقدار تکرار

ایجاد راه حل های جدید با تنظیم فرکانس

 و به روز رسانی سرعت و مکان (معادلات 2 و ? )

در صورتی که rand

انتخاب یک راه حل از میان دیگر راه حل ها

ایجاد یک راه حل مناسب از بین تمام راه حل ها ی منتخب

در پایان (در صورت امکان )                                                              

ایجاد یک راه حل با پرواز تصادفی ، چنانچه (rand < Ai &f (xi) < f (x))

قبول کردن راه حل های جدید

افزایش ri و کاهش Ai

و  در پایان (در صورت امکان )

درجه بندی خفاش ها و یافتن بهترین*x متداول و رایج

در پایان (در صورت امکان )

نمایش نتیجه و مصور سازی

 

 شکل 1 : شبه کد الگوریتم خفاش (AB)

ما در طرح خود از  fmin=0 و fmax=100  که  بسته به مقدار و وسعت دامنه مسئله دارد .، استفاده می کنیم . در ابتدا برای هر خفاش بطور تصادفی یک فرکانس انتخاب می شود که به صورت یکنواخت از fmax و fminکشیده می شود .

در قسمت جستجوی مکان ، یکی از راه حل ها از میان بهترین راه حل ها انتخاب می شود ، این کار به صورت تصادفی برای هر خفاش انجام می گیرد.

در حالیکه  [1,1] یک عدد تصادفی است و همچنین At=ti> متوسط بلندی صدا در خفاش ها در این بازه زمانی است . به روز رسانی سرعت و موقعیت خفاش ها دقیقا به مرحله PSO شباهت دارد و تحت عنوان fi اساسا سرعت و دامنه حرکت PS را کنترل می کند .

بر اساس مدارک ، BA  می تواند شامل یک ترکیب متعادل از PSO که توسط صدای بلند و سرعت پالس ، کنترل می شود ، باشد .

3.2بلندی صدا و انتشار پالس

علاوه بر این ، بلندی صداو سرعت انتشار پالس ri باید به عنوان روند تکرار ، به روز رسانی شوند . در نتیجه بلندی صدا معمولا در خفاش ها ، هنگام نزدیکی به طعمه کاهش میابد و سرعت انتشار پالس افزایش میابد .بلندی صدا می تواند با هر مقداری متغیر باشد . برای مثال می توانیم از  فرمول A0 = 100 و Amin=1 استفاده کنیم . برای تسهیل، همچنین می توانیم از فرمول A0= 1 و Amin=0  استفاده کنیم .فرض کنیمAmin=0 یعنی اینکه یک خفاش ، طعمه خود را یافته و در  نتیجه تولید صدا را قطع کرده است . و اکنون ما داریم :

در حالیکهو  ثابت هستند . در واقع شبیه به خنک کننده  یک برنامه خنک کننده شبیه سازی شده ،است . برای هر<1 , 0< ما داریم :

در حالت های ساده تر می توانیم از α و در شبیه سازی هایمان استفاده کنیم.

انتخاب پارامترها به تجربه و آزمایش نیاز دارد . در ابتدا ، هر خفاش باید بلندی صدا و سرعت انتشار پالس مربوط به خود را داشته باشد  و این تنها از روش تصادفی بدست می آید . برای مثال بلندی صدای اولیه  می تواند تقریبا [2و1] باشد در حالیکه سرعت اولیه انتشارمی تواند در حدود صفر باشد و یا درصورتوجود ارقام دیگر می باشد .بلندی صدا و سرعت انتشار پالس در صورت کامل شدن مسئله و راه حل می تواند به روز رسانی شود . 

مشتریان ما

ما افتخار ارائه خدمات به تعداد زیادی از مشتریان وفادار خود را داریم و رضایت مشتری را برای خود سرمایه گذاری مطمئن می دانیم.

ویدیو کلیپ آموزشی و دمو

کلیپ آموزش تولید محتوای سایت و بهینه سازی وب

در این کلیپ 3 اصل مهم در سئو و بهینه سازی وب که مورد سوال بسیاری از طراحان سایت و سئوکاران است مطرح می شود و نکاتی کلیدی در خصوص آنها آموزش داده خواهد شد.
سرفصل ها عبارتند از:
1. تولید محتوای سایت
2. لینک های داخلی
3. سرعت بارگذاری سایت
مشاهده کلیپ

Adipisicing elit

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

ارتباط و تماس با ما

  • تهران - میدان انقلاب اسلامی - بعد از خیابان جمالزاده - پلاک 91 - طبقه اول
  • دفتر مرکزی :
  • 62 54 67 55 021
  • شنبه تا پنجشنبه از ساعت 9 صبح الی 20
  • شماره های ضروری :
  • 99 22 870 0936 - 363 40 70 0930

درخواست تماس

کانال تلگرام طراحی سایت ویستان اینستاگرام طراحی سایت ویستان آپارات طراحی سایت ویستان