هوش جمعی یکی از قویترین تکنیکهای بهینه سازی می باشد که بر مبنای رفتارهای گروهی است. الگوریتم خفاش از دسته الگوریتم های فراشناختی است که الهام گرفته از رفتار جمعی خفاش ها در محیط طبیعی است که در سال2010 توسط آقای یانگارائه شد. این الگوریتم بر مبنای استفاده از خاصیت انعکاس صدا توسط خفاشها است. خفاشها مسیر و محل دقیق طعمه خود را بوسیله فرستادن امواج صوتی و دریافت بازتاب آن، پیدا می کنند. زمانی که امواج صوتی به سمت فرستنده امواج (خفاش) باز می گردد، این پرنده می تواند یک تصویر صوتی از موانع روبروی محیط اطراف خود رسم کند و محیط اطراف را حتی در تاریکی مطلق به خوبی ببیند. با استفاده از این سیستم، خفاشها می توانند اجسام متحرک مثل حشرات و اجسام بیحرکت مثل درختان را تشخیص دهند.
الگوریتم خفاش مبتنی بر ویژگی پژواکیابی ریزخفاش ها است. در حالت کلی دو نوع خفاش وجود دارد که نوع اول بزرگ – خفاش ها هستند و نوع دوم ریزخفاش ها نام دارند. ریزخفاش ها از این ویژگی برای پرواز در شب و شکار استفاده می کنند. پژواکیابی ریزخفاش ها در عمل یک سامانه ادراکی است که در آن موجهای فرا صوتی برای بدست آوردن پژواک، تولید می شوند. مغز و دستگاه عصبی خفاش با مقایسه موجهای فرستاده شده و موج های بازتاب شده می تواند تصویری از فضای پیرامون و جزئیاتش را برای خود بسازد. این توانایی به ریزخفاش ها اجازه می دهد تا در تاریکی مطلق شکارشان را شناسایی کنند.
شدت موج تولیدی توسط خفاش 130 دسی بل است و برای شکار طعمه از فرکانس 15 کیلوهرتز تا 200 کیلوهرتز استفاده می کند. این درحالی است که دامنه شنوایی انسان از 20 هرتز تا 20 کیلوهرتز است. خفاش برای آنکه داده های بدست آمده را شناسایی کند، باید بتواند صدای تولیدی توسط خودش را از پژواک آن جدا کند.
ریزخفاش ها برای این هدف دو روش دارند:
پژواکیابی با چرخه هایی با بازه زمانی کوتاه : این دسته از خفاش ها می توانند صدای فرستاده شده از سوی خود را با کمک زمان سنجی، از صدای بازتاب شده، شناسایی کنند.
پژواکیابی با چرخه هایی با بازه زمانی بلند : این خفاشها صدایی پیوسته تولید می کنند و پالسها و پژواکها را با تغییر بسامد از هم جدا می کنند. آنها می توانند بسته به سرعت پرواز، پالس هر بسامد تولیدی را تغییر دهند. به این ترتیب پژواک دریافتی همچنان در بازه شنوایی مناسب قرار می گیرد.
قوانین الگوریتم خفاش
این قوانین می تواند به زبان ساده به صورت زیر بیان شود:
الف) تمامی خفاشها با بکارگیری پژواکیابی می توانند مسافت را تخمین بزنند و تفاوت بین طعمه و موانع ثابت را تشخیص دهند.
ب)خفاشها به صورت تصادفی با سرعت Vi در موقعیت Xi با فرکانس ثابت fmin با طول موج متغیر λ و بلندی صدای A0 در جست و جوی شکار هستند. آنها می توانند به طور اتوماتیک طول موج پالسهای منتشر شده از خود را تنظیم کرده و نرخ انتشار پالس خود یعنی (r∈(0,1 را طبق نزدیکی طعمه خود مطابقت دهند.
ج) اگرچه بلندی صدا می تواند به طرق مختلف تغییر کند، اما فرض می شود که بلندی از یک مقدار بزرگ (مثبت) A0 تا یک مقدار مینیمم ثابت یعنی Amin تغییر کند.
همچنین می توان از این تقریب استفاده کرد که به طور کلی فرکانس f در یک رنج [fmin fMax] است که مربوط به یک طیف طول موج به صورت [λmin λMax] می باشد.
خوب این هم از معرفی و توضیحات مختصر در مورد الگوریتم خفاش.
شما دوستان می تونید در ادامه متن فوق با توضیحات کامل تر را به صورت فایل PDF دانلود کنید. همچنین کد خام مربوط به الگوریتم خفاش درادامه ارائه شده است که با استفاده از اون می تونید برای تابع هدف خودتون برنامه الگوریتم را تنظیم کنید.