واکنش
توانایی سامانه درپاسخگویی و وفقپذیری با تغییرات ناگهانی محیط
عملکرد بهینه
قابلیت سامانه در به دست آوردن تابع هزینه بهینه از نظر معیارهای حرکت نظیر زمان، فاصله، برخورد و غیره
یادگیری وظایف
توانایی یادگیری وظایف مشخص توسط سامانه با بهره گرفتن از مربی یا عملیات خود
قدرتمندی
توانایی سامانه در اداره تغییرات ناگهانی، ورودیهای ناقص و بد عمل کردن
طرح ریزی
مجموعه ای از دستورات که بایستی توسط ربات اجرا شوند
کارآمدی
مجموعه ای از قابلیتها و عملکردها که برای تولید یک مسیر بهینه و هموار به کار میآیند
فصل سوم
منطق فازی، یادگیری Q
و بهینه سازی کلونی زنبور مصنوعی
منطق فازی، یادگیری Q و بهینهسازی کلونی زنبور مصنوعی
مقدمه
ابزارهای مورد استفاده در طراحی الگوریتم پیشنهادی برای ناوبری ربات، شامل منطق فازی، یادگیری Q و الگوریتم بهینهسازی کلونی زنبور مصنوعی میباشند. از منطق فازی به عنوان زیربنای واحد تصمیم گیری ربات، از یادگیری Q جهت تنطیم برخط سامانه تصمیم گیری فازی و از بهینهسازی کلونی زنبور مصنوعی برای به دست آوردن پارامترهای توابع عضویت ورودی فازی و همچنین عامل فراموشی یادگیری Q بهره گرفته شد. جهت فراهم آوردن پیشزمینه مناسب جهت ارائه الگوریتم پیشنهادی، در این فصل هر یک از این ابزارها به اختصار توضیح داده میشوند.
منطق فازی
الگوریتمهای فازی در سه مرحله اصلی اجرا میشوند: فازی سازی[۲۶]، استنباط[۲۷]، فازی زدایی[۲۸]. در مرحله فازیسازی ورودیهای حسگرها با توجه به درجه عضویتشان با مجموعه صفات فازی، که در بازهی بستهی ۰ و ۱ قرار دارند، توصیف میشوند. به این مجموعههای فازی اسامیای اختصاص مییابند که چگونگی متغیر ورودی را با صفات قابل فهم و ساده بیان می کنند. تابع عضویت، مقدار متغیر ورودی را به یک درجه عضویت در هر مجموعه فازی نگاشت میدهد. برای مثال جهت زاویهای یک مانع نسبت به ربات ممکن است مقداری بین -۹۰ و ۹۰ درجه داشته باشد. شکل(۳‑۱) تعریفی ممکن از مجموعههای فازی را نشان میدهد؛ که در آن میبینیم چگونه زاویهی ورودی عددی، به طور زبانی و توسط درجات عضویت فازی به صفات چپ، جلو یا راست ربات نگاشت پیدا می کند. درجات عضویت فازی زوایهی ۳۰ درجه نیز در مجموعههای جلو و راست در شکل مشخص شده اند.
شکل(۳‑۱): توابع عضویت فازی متغیرهای ورودی
مجموعههای فازی قابلیت سازگاری با داده های غیردقیق را دارند. بدین ترتیب که اگر زاویهی ورودی غیردقیق حس شود، ممکن است درجه درستی آن در مجموعههای فازی به طور مجزا و کمی تغییر کند، ولی درجه های عضویت نسبی آن در مجموعهها به طور کیفی یکسان خواهند بود. مجموعههای فازی اغلب به صورت شکلهای خطی-تکه ای تعریف میشوند تا پیچیدگی محاسباتی تعیین درجات عضویت در مجموعهها کاهش یابند. شکلهای معمول شامل مثلثی، مربعی، گوسین یا انواع مجانبی میباشند. متغیرهای مورد توجه در کاربردهای رباتیک شامل فاصله از یک مانع و سرعت ربات میباشد. مرحله استنباط، دادهی ورودی فازی شده را در یک پایگاه قانون[۲۹] به کار میگیرد تا فرمان خروجی را تعیین کند. پایگاه قانون شامل هوش عملیاتی سامانه است و مشابه استدلال انسان در تصمیم گیری میباشد . یک قانون نمونه که ممکن است برای ربات متحرک به کار رود به صورت زیر است:
اگر زاویه ی مانع راست و فاصله نزدیک است، آنگاه جهت فرمان بزرگ و به چپ باشد.
یک پایگاه قانون بایستی تمامی جایگشتهای ممکن فازی متغیرهای ورودی را پوشش دهد. برای ترکیب صفات فازی متغیرهای ورودی، عملگرهای فازی مختلفی نظیر AND، OR و مجموع به کار میروند. معمولاً از عملیات AND (min)، مانند مثال بالا، استفاده می شود. مرحله فازیزدایی، خروجی عددی را با بهره گرفتن از استنباط قوانین استخراج می کند. روشهای فازیزدایی معمولاً مستلزم تحلیل نواحی ایجاد شده توسط برش مجموعههای خروجی به وسیله ی نتیجه عملیات بر روی ورودی ها است. مثالی از این نواحی ایجاد شده در شکل(۳‑۲) آمده است. روشهای متداول شامل به دست آوردن مرکز بزرگترین ناحیه[۳۰] و متوسط مقدار بیشینه[۳۱] می باشند [۴۲, ۴۳].
شکل(۳‑۲): روش فازیزدایی متوسط مقدار بیشینه
اساسیترین مسایل در رباتیک عبارتند از: (۱) معمولاً مدل ریاضی از محیط در دسترس نمی باشد؛ (۲) داده های حسگرها نامطمئن و غیر دقیق هستند؛ (۳) عملکرد زمان واقعی ضروری است. منطق فازی خصوصیاتی دارد که آن را ابزاری کافی برای سازگاری با این مسایل رباتیک میسازد. به طور کلی محققان سه مزیت اصلی برای روشهای فازی ذکر کرده اند. اولاً شکل قانون فازی، پیادهسازی رفتارهای ساده و کارآمد را برای وظایف متنوعی بدون نیاز به مدلهای پیچیده ریاضی تسهیل مینماید. دوماً به علت طبیعت کیفی، رفتارهای فازی مستعد انتقال از محیطی به محیط دیگر بدون نیاز به تغییرات میباشند. نهایتاً طبیعت درونیاب سامانه فازی منجر به حرکت هموار ربات و عملکردی قابل قبول در مواجه با خطاها و نوسانات در داده های حسگر می شود.
یادگیری Q
یادگیری تشدیدی یک نوع یادگیری ماشین است. ایده پایه در یادگیری تشدیدی این است که ربات در محیط قرار بگیرد و نتایج فعالیت های خود را مشاهده کند. ربات می تواند حالت[۳۲] فعلی (Xt) خود را مشاهده کند، سپس عملی[۳۳] اتخاذ کند. این عمل می تواند محیط را تغییر دهد و حالت ربات (Xt+1) می شود. ربات یک پاداش r برای تصمیم اتخاذ شده دریافت می کند. حین پردازش ربات سعی می کند رویهای[۳۴] در پیش بگیرد که این پاداش را بیشینه نماید.
یادگیری تشدیدی به ربات امکان میدهد رفتار خود را از طریق سعی و خطا بهبود بخشد. انتخاب مناسب عمل برای حالت فعلی منجر به پاداش می شود، که در نتیجه رفتار سودمند را تشدید می کند. برعکس، انتخاب نامناسب عمل منجر به جریمه می شود، که رفتارهای غیرسومند را منع میکند. چهارچوب یادگیری تشدیدی بر بیشینهسازی مجموع پاداش دریافتی فعلی و تخمینی از پاداشهای آینده در طول زمان استوار است. ربات میآموزد عملهایی را انتخاب کند که نتایج بلند مدت مثبت را تقویت کند. یادگیری تشدیدی بین کرانههای یادگیری بامربی، که در آن رویه توسط یک نخبه آموزش داده می شود، و یادگیری بدون مربی، که در آن هیچ پسخور ارزیابی کننده ای وجود ندارد، قرار دارد. در یادگیری تشدیدی پسخور ارزیابیکننده به شکل سیگنال اسکالر پاداش فراهم می شود. سیگنال پاداش متناسب با وظیفهی مطلوب تعریف می شود. پاداش هنگامی داده می شود که سامانه به طور موفقیتآمیزی وظیفه را انجام داده باشد. هدف سامانه یادگیری یافتن رویهای است که مجموع تخفیف یافته[۳۵] (فراموش شده) پاداشهای مورد انتظار (تخمین زده شده) در آینده را بیشینه کند (معادله(۳-۱)).
(۳-۱)
که در آن E عملگر امید ریاضی است. rپاداش است. ɣ عامل فراموشی، بین ۰ و ۱ است. عامل فراموشی، پاداشهایی که دیرتر به دست آمده اند را به طور نمایی کم ارزش میسازد. یادگیری Q روشی برای حل مسایل یادگیری تشدیدی است، که به دلیل ساختار پویا، بدون مربی و مستقل از مدل، برای محیطهای واقعی بسیار مناسب است. در یادگیری Q، ربات محیط را به صورت جفتهای حالت-عمل مشاهده می کند، که به هر عمل یک مقدار Q منتسب است. انتقال از یک حالت به حالت دیگر (با اتخاذ عمل مناسب) می تواند برای ربات پاداش یا جریمه به همراه داشته باشد که طبق آن مقادیر Q به روز میشوند (معادله(۳-۲)):
(۳-۲)
که درآن xt حالت فعلی، at عمل اتخاذ شده در حالت xt و Q(xt,at) مقدار حالت xt میباشد. V(xt+1) مقدار تخمین زده شده برای حالت جدید است. β و γ به ترتیب نرخ یادگیری و عامل فراموشی هستند که مقادیرشان در بازهی بسته ۰ و ۱ قرار میگیرد. درالگوریتم پیشنهادی مقدار β طبق مرجع [۳۸] مساوی ۱ در نظر گرفته شده است. مقدار γ طی فرایند بهینهسازی ۸/۰ به دست آمد. rt نیز سیگنال تشدیدی فوری میباشد و در فصل بعدی تعریف می شود.
بهینه سازی کلونی زنبور مصنوعی
در مسایل بهینه سازی، عموماً یک تابع که به آن تابع هدف، تابع عملکرد و یا تابع هزینه گفته می شود، کمینه و یا بیشینه میگردد. بهینهسازی گاهی با قیود خاصی و گاهی نیز بدون داشتن قیود صورت می پذیرد. روشهای بهینهسازی که مبنی بر گرادیان تابع هدف هستند، در واقع جستجوی فضای راه حلها را به صورت نقطه به نقطه انجام می دهند، غالباً نیز قدرت رهایی از کمینههای محلی را نداشته و در آن به تله میافتند. در مقابل الگوریتمهای بهینهسازی گروهی[۳۶]، نوعی از الگوریتمهای بهینهسازی بدون مشتقگیری هستند. شاخصه این روشها به تصادفی بودن آنها است و نقاط بهینه را در میان جمعیت به وجود آمده از اعداد تصادفی، جستجو می کنند. تصادفی بودن و ارائه چندین راهحل در هر تکرار، این الگوریتم ها را قادر به یافتن بهینه سراسری مینماید. مجموعه نقاط در یک دور محاسباتی، جمعیت و هر نقطه یک عضو جمعیت است. معمولاً جمعیت اولیه در این الگوریتمها به صورت تصادفی تولید می شود. اساس یک الگوریتم گروهی تکاملی تشکیل جمعیت اولیه، انتخاب و بهبود اعضا با معیار تابع هدف میباشد. الگوریتمهای گروهی از طبیعت به منظور جستجو برای راهحل بهینه الگوبرداری می کنند و شامل بهینه سازی کلونی مورچه[۳۷]، الگوریتم ژنتیک[۳۸]، بهینه سازی دسته ذرات[۳۹]، الگوریتم زنبور عسل[۴۰] و بهینهسازی کلونی زنبور مصنوعی میباشند.
زنبور ها در طبیعت
کلونی حشرات اجتماعی می تواند به عنوان سامانه پویایی در نظر گرفته شود که اطلاعات را از محیط اطراف جمعآوری می کند و رفتارش را با توجه به آن تنظیم مینماید. در حین جمعآوری اطلاعات و فرایند جستجو، حشرات به دلیل تخصصی بودنشان به تنهایی همه وظایف را انجام نمیدهند. مدل کمینه جستجوی غذا که موجب ظهور هوش دسته جمعی زنبورهای عسل می شود، دو حالت رفتاری را تعریف می کند: سربازگیری برای منبع نکتار و ترک کردن منبع [۴۴]. این مدل شامل سه قسمت ضروری است:
منابع غذا: ارزش یک منبع غذا به پارامترهای مختلفی مثل نزدیکی به لانه، فراوانی انرژی (زیادی شهد) وسهولت بهره برداری بستگی دارد.
کاوشگرهای به کار گرفته نشده[۴۱]: اگر فرض شود که یک زنبور هیچ دانشی درباره منابع غذا ندارد، جستجوی خود را به عنوان یک کاوشگر به کار گرفته نشده شروع می کند. این زنبورها به دنبال منبع غذایی برای بهره برداری میگردند. دو نوع کاوشگر به کار گرفته نشده وجود دارند.