زنبور دیدهبان[۴۲]: اگر زنبور جستجو را خود به خود و بدون هیچ دانشی شروع کند یک زنبور دیدهبان خواهد بود. زنبورهای دیدهبان محیط اطراف لانه را برای پیدا کردن منابع غذای جدید جستجو می کنند. تعداد زنبورهای دیدهبان از ۵ تا ۳۰ درصد کل زنبورهای کلونی، بر حسب اطلاعات داخل لانه، متغیر است. متوسط تعداد زنبورهای دیدهبان با توجه به میانگین شرایط حدود ۱۰ درصد است.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
زنبورهای تماشاگر[۴۳]: این دسته از زنبورها در لانه منتظر هستند و با بهره گرفتن از اطلاعاتی که کاوشگرهای به کار گرفته شده به اشتراک میگذارند، یک منبع غذا پیدا می کنند.
کاوشگرهای به کار گرفته شده[۴۴]: این زنبورها به منبع غذای مشخصی مربوط میباشند که در حال بهره برداری از آن هستند. آنها اطلاعات مربوط به این منبع مشخص را (مسافت و جهت آن از لانه وقابلیت بهره برداری منبع) حمل می کنند و این اطلاعات را به اشتراک میگذارند.
یک کلونی زنبورهای عسل برای بهره برداری از منابع غذایی زیاد می تواند تا مسافتهای طولانی (تا ۱۴ کیلومتر) و همزمان در جهتهای مختلف پرواز کند. زنبورهای کاوشگر به مکانهای مناسب برای جمعآوری فرستاده میشوند. به طور کلی گلزارهای با مقدار زیاد نکتار یا گرده، که میتوانند با تلاش کمتری بهره برداری شوند، باید توسط زنبورهای بیشتری بازدید شوند. در حالیکه گلزارهای با نکتار یا گرده کمتر باید زنبورهای کمتری را پذیرا باشند. فرایند جمع آوری غذا در یک کلونی توسط زنبورهای دیدهبانی، که برای جستجوی گلزارهای امید بخش فرستاده شده اند، شروع می شود. زنبورهای دیدهبان از یک گلزار به گلزار دیگر به صورت تصادفی حرکت می کنند. در طول فصل محصول کلونی جستجوی خودش را با نگه داشتن درصدی از جمعیتش به عنوان زنبورهای دیدهبان ادامه میدهد. وقتی که زنبورها به کندو برگشتند، آن دسته از زنبورهای دیدهبانی که گلزاری پیدا کردند، که از یک مقدار آستانه مشخصی (بر اساس ترکیبی از چند عامل اصلی مثل محتویات شکر) بالاتر بود، نکتار یا گرده ی خودشان را در کندو ذخیره می کنند و برای انجام رقص معروف به رقص قرقرهای به قسمت رقص میروند. این رقص برای ارتباطات کلونی لازم است و شامل اطلاعات مفید و لازمی راجع به گلزار میباشد.
الگوریتم بهینهسازی کلونی زنبورهای مصنوعی
بهینهسازی کلونی زنبورهای مصنوعی، توسط کارابوگا[۴۵] در سال ۲۰۰۵ پیشنهاد شد [۴۵]. این الگوریتم رفتار کاوش غذا در کلونی زنبورها را برای مسائل بهینهسازی بدون قید شبیهسازی می کند. همانطور که قبلا گفته شد، در یک کلونی زنبورهای واقعی وظایفی وجود دارد که توسط متخصصین ویژهای انجام می شود. این زنبورهای متخصص با تقسیم موثر کار سعی می کنند میزان شهد ذخیره شده در کندو را بیشینه نمایند. مدل کمینه جستجوی غذا در یک کلونی زنبور عسل از سه نوع زنبور تشکیل شده است: زنبورهای به کار گرفته شده، زنبورهای به کار گرفته نشده و زنبورهای دیدهبان. نیمی از کلونی شامل زنبورهای به کار گرفته شده و نیمی دیگر شامل زنبورهای تماشاگر میباشد. زنبورهای به کار گرفته شده مسئول استخراج منابع نکتار از قبل کشف شده و انتقال اطلاعات راجع به کیفیت مکان منبع غذایی که آنها بهره برداری می کنند به دیگر زنبورهای منتظر (زنبورهای تماشاگر) در داخل کندو میباشند. زنبورهای تماشاگر داخل کندو منتظر میمانند و یک منبع غذا را، بسته به اطلاعاتی که توسط زنبورهای به کار گرفته شده به اشتراک گذاشته می شود، برای بهره برداری انتخاب می کنند. دیدهبانها اطراف را به صورت تصادفی برای پیدا کردن منبع غذای جدید جستجو می کنند. برای هر منبع غذا تنها یک زنبور به کار گرفته شده وجود دارد، به عبارت دیگر، تعداد زنبورهای به کار گرفته شده برابر تعداد منابع غذا میباشد زنبور به کار گرفته شده یک منبع غذای ترک شده، دیدهبان می شود. جستجوی انجام شده توسط زنبورهای مصنوعی را می توان به صورت زیر خلاصه کرد:
زنبورهای به کار گرفته شده یک منبع غذا را در همسایگی منبع غذایی که در حافظه شان هست معلوم می کنند.
زنبورهای به کار گرفته شده اطلاعات خود را با تماشاگران داخل کندو به اشتراک میگذارند و سپس تماشاگران یکی از منابع غذا را انتخاب می کنند.
تماشاگران یک منبع غذا را در همسایگی منبع غذایی که انتخاب کرده بودند، انتخاب می کنند.
زنبور به کار گرفته شدهای که منبع غذای آن ترک شده، دیدهبان می شود و شروع به جستجوی منبع غذای جدید به صورت تصادفی می کند.
گام های اصلی الگوریتم بهینهسازی کلونی زنبور مصنوعی که این رفتارها را شبیهسازی می کنند، در زیر آمده است [۴۶]:
انتخاب اولیه مکان منابع غذا به عنوان جمعیت اولیه.
هر زنبور به کار گرفته شده یک منبع غذای جدید را در محوطه ی منبع غذای خود ایجاد می کند و از منبع غذای بهتر بهره برداری می کند.
هر زنبور تماشاگر یک منبع را بسته به کیفیت شهدش انتخاب می کند. یک منبع غذای جدید در محوطه منبع غذای انتخاب شده ایجاد می کند و از منبع بهتر بهره برداری می کند.
مشخص کردن منبع ترک شده و اختصاص دادن زنبور به کار گرفته شده آن به عنوان زنبور دیدهبان برای پیدا کردن منبع غذای جدید.
به خاطر سپردن منبع غذای پیدا شده تا کنون.
تکرار گام های ۲ تا ۵ تا زمانی که شرط توقف برآورده شود.
فاز جمعیت اولیه:
در گام اول الگوریتم، راه حل به ازای m=1,2,…,SN در محدوده ی پارامترها به صورت تصادفی تولید میشوند، که SN تعداد منابع غذا میباشد. از آنجایی که هر منبع غذا یک بردار راهحل برای مساله بهینهسازی است، هر بردار المانهای به ازای i=1,2,…,n دارد، که مطابق پارامترهای مساله بهینهسازی است و nتعداد این پارامترهای بهینهسازی میباشد (یا همان بعدهای مساله).
انتخاب جمعیت اولیه:
(۳-۳)
فاز زنبورهای به کار گرفته شده:
در گام دوم الگوریتم، زنبورهای به گار گرفته شده برای پیدا کردن منابع غذای جدیدی ( ) که نکتار بیشتری دارند، در همسایگی منابع غذای موجود در حافظه شان ( ) جستجو می کنند. آنها یک منبع غذای همسایه پیدا می کنند و بعد برازش آن را محاسبه می کنند.
(۳-۴)
که یک منبع غذای انتخاب شده تصادفی، k شاخص انتخاب شده تصادفی و توزیع یکنواخت اعداد تصافی حقیقی در بازه [-۱,۱] میباشد.
i=1,2,…,n و n تعداد بعدهای مساله میباشد. بعد از ایجاد ، برازش این راه حل جدید محاسبه می شود. این راه حل جدید با راه حل مقایسه می شود و یک انتخاب رقابتی بین و انجام می شود. زنبور به کار گرفته شده منبع بهتر را بهره برداری می کند.
فاز زنبورهای تماشاگر:
در گام سوم الگوریتم، یک زنبور تماشاگر منبع غذایی را بسته به احتمال محاسبه شده در رابطه (۳-۵) انتخاب می کند. انتخاب منبع غذا برای زنبور تماشاگر بر پایه ی یکی از روشهای انتخاب، مثل روش انتخاب چرخ رولت، و با توجه به احتمال مذکور انجام میگیرد. منبع غذای جدید در همسایگی مکان منبع غذای انتخاب شده با بهره گرفتن از رابطه (۳-۴) ایجاد می شود. برازش آن محاسبه می شود و سپس مطابق فاز زنبورهای به کار گرفته شده یک انتخاب رقابتی بین و صورت میگیرد.
(۳-۵)
فاز زنبورهای دیدهبان:
بعد از اینکه همه تماشاگرها در منابع توزیع شدند، منابع بررسی میشوند که آیا بایستی ترک شوند یا نه. اگر تعداد تکرارهایی که یک منبع نمیتواند بهتر شود بزرگتر از حد از قبل تعیین شده باشد، آن منبع ترک می شود. حد تعداد تکرارها برای ترک یک منبع توسط پارامتر از پیش تعریف شده limit تعیین می شود. زنبور به کار گرفته شده وابسته به یک منبع ترک شده، یک دیده بان می شود و در محدوده مساله با بهره گرفتن از رابطه (۳-۵) جستجوی تصادفی انجام میدهد.
فصل چهارم
الگوریتم یادگیری Q فازی پیشنهادی
الگوریتم یادگیری Q فازی پیشنهادی
مقدمه
در این فصل ابتدا فیزیک و امکانات ربات کپرا، که در آزمایشهای شبیهسازی شده به کار گرفته شده است، توصیف می شود. سپس، الگوریتم یادگیری Q فازی پیشنهادی توضیح داده می شود. در آخر بیان می شود چگونه پارامترهای کلیدی مجموعه فازی و عامل فراموشی یادگیری Qتوسط الگوریتم کلونی زنبور مصنوعی بهینه شدند.
ربات کپرا
کپرا ربات کوچکی به شکل تقریباً دایروی به قطر ۵۵ میلیمتر، ارتفاع ۳۰ میلیمتر و وزن ۷۰ گرم میباشد [۴۲]. آزمایش الگوریتم پیشنهادی روی یک ربات کوچک، که می تواند به طور نقطهای مدل شود، باعث می شود الگوریتم ناوبری مستقل از مدل دقیق ربات پیادهسازی شود. این امر، منجر به پیادهسازی و آزمایش آسان و بدون تغییر الگوریتم پیشنهادی روی سایر رباتها می شود [۴۷]. کپرا هشت حسگر مادونقرمز دارد که هر هرکدام از یک جفت فرستنده و گیرنده تشکیل شده اند. این حسگرها (S0, S1,…, S7) در اطراف بدنه ربات تقریبا به شکل دایره قرار گرفته اند (شکل(۴-۱)). این حسگرهای مادونقرمز فاصله را درمحدوده کوتاه ۱ تا ۵ سانتیمتر اندازه میگیرند.
شکل(۴-۱): ربات کپرا [۳۲]
داده های حسگرها مقادیری صحیح در محدوده بسته ۰ تا ۱۰۲۳ میباشند. مقدار ۱۰۲۳ در خروجی حسگر بیانگر این است که مانع بسیار به ربات نزدیک است و مقدار ۰ بدین معنی است که هیچ سیگنال مادونقرمزی توسط حسگرهای ربات (گیرنده مادونقرمز) دریافت نمی شود [۴۸]. شش حسگر جلویی ربات در سه گروه دوتایی به عنوان ورودیهای واحد تصمیمگیری در نظر گرفته میشوند. مقدار هریک از این گروه حسگرها بیشترین مقدار خروجی دو حسگر در یک گروه است.
نام تجاری حسگرهای مادونقرمز ۲ ـ۹۰۰ SFH و کارخانه سازنده آنها SIEMENS میباشد. خروجی حسگرها حاصل از اندازه گیری اختلاف نور بازتاب شده از موانع و نور محیط میباشد. هر اندازه گیری جدید در هر
ms 5/2 انجام می شود. در طی ms 20، حسگرها به طور متوالی هر ms 5/2 خوانده میشوند. مقدار گزارش شده در هر زمان، نتیجه آخرین اندازه گیری ایجاد شده است. خروجی هر اندازه گیری یک مقدار آنالوگ است که با یک مبدلbit A/D 10 تبدیل می شود. اندازه گیری فاصله تا موانع با بهره گرفتن از نور بازتاب شده به دو عامل اصلی بستگی دارد: قابلیت باز تاب موانع (رنگ، نور، سطح و …) و نور محیط. شکل(۴‑) میزان دریافت نور بازتاب شده را، از موانع مختلف، توسط گیرندههای مادونقرمز ربات کپرا نشان میدهد.
شکل(۴‑۲): میزان دریافت نور بازتاب شده از موانع مختلف توسط گیرندههای مادونقرمز ربات کپرا [۴۸]
کپرا برای حرکت، دارای دو چرخ و دو گوی تفلونی میباشد. هر چرخی با یک موتور DC به حرکت درمی آید که به یک کاهنده دور ۲۵:۱ متصل است. یک رمزگذار افزایشی در محور موتور قرار داده شده است و ۲۴ پالس در طی هر گردش موتور ایجاد می کند، که رزولوشنی برابر با ۶۰۰ پالس طی هر گردش چرخ، که معادل ۱۲ پالس به ازای هر میلیمتر از مسافت ربات است، ایجاد می کند. پردانده اصلی ربات کپرا، کنترل مستقیم روی ذخیره انرژی موتور دارد و می تواند پالسها را از رمزگذار افزایشی بخواند. یک وقفه معمولی، شمارنده مکان چرخ را به روزرسانی می کند. هر دو موتور DC میتوانند با یک کنترل کننده PID در یک وقفه معمولی پردازشگر اصلی کنترل شوند. هر ترم از این کنترل کننده (تناسبی، انتگرال، مشتق) مربوط به یک ثابت است، برای تناسبی، برای انتگرال، برای مشتق.
کنترل کننده موتور در دو حالت کنترلی می تواند به کار گرفته شود: حالت کنترل سرعت و حالت کنترل مکان. حالت کنترلی فعال مطابق با نوع فرمان دریافتی تنظیم می شود. اگر کنترل کننده، فرمان کنترل سرعت را دریافت کند، به حالت کنترل سرعت سوئیچ می شود. اگر کنترل کننده، فرمان کنترل مکان را دریافت کند، حالت کنترل خود به خود به حالت کنترل مکان سوئیچ می شود. پارامترهای مختلف کنترل ( ، ، ) میتوانند برای هر دو حالت کنترل تنظیم شوند. در حالت ر سرعت ورودی، مقادیر سرعت چرخها است و موتور را برای نگهداشتن چرخها در این سرعت کنترل می شود. اصلاح سرعت، در سریعترین زمان ممکن اتفاق میافتد. در این حالت، هیچ محدودیتی در شتاب گرفتن در نظر گرفته نشده است. در حالت ر مکان ورودی، مکان نهایی چرخها، شتاب و سرعت بیشینه میباشد. با بهره گرفتن از این مقادیر، کنترل کننده به چرخها شتاب میدهد تا زمانی که بیشینه سرعت حاصل شود و از سرعت به منظور رسیدن به مکان نهایی کاسته می شود.
در این پژوهش، از حالت کنترل سرعت استفاده شده است. بیشترین مقادیر سرعت های خطی و زاویهای ربات به ترتیب mm/s 40 و rd/s 58/1 میباشند [۳۲]. ربات کپرا به صورت دیفرانسیلی حرکت می کند، بنابراین، کنترل کننده بایستی سرعتهای زاویهای را برای چرخهای راست و چپ تولید نماید: ɷR (سرعت زاویه چرخ راست) و ɷL (سرعت زاویه چرخ چپ). از آنجاییکه ذهن رانندههای انسانی بیشتر با سرعت خطی (S) و زاویه فرمان یا چرخش (φ) استدلال می کند، خروجیهای قوانین فازی سرعت خطی و زاویه چرخش در نظر گرفته شده اند. فرامین کنترلی با معادلات سادهی هندسی (۴-۱) و (۴-۲)، تناظری میان جفتهای (S,φ) و (ɷL,ɷR) برقرار می کنند [۴۹] که در آنها r شعاع چرخها میباشد:
(۴-۱)
(۴-۲)
یادگیری Q فازی