منبع پایان نامه ارشد درباره الگوریتم، یادگیر، اتوماتای

T?p(n+1)=T[?(n),?_ (n),p(n)] الگوریتم یادگیری و c={c_1 ,c_2 ,…,c_r}? مجوعه احتمالهای جریمه شدن میباشند. در این نوع از اتوماتاها اگر عمل ?_i در مرحله nام انتخاب شود و پاسخ مطلوب از محیط دریافت کند احتمال p_(i ) (n) افزایش یافته و سایر احتمالها کاهش مییابند اما اگر عمل ?_i در مرحله nام انتخاب شود و پاسخ نامطلوب از محیط دریافت کند احتمال p_(i ) (n) کاهش یافته و سایر احتمالها افزایش مییابند. این تغییرات به نحوی انجام میشود که حاصل جمع p_(i ) (n) همواره برابر با یک باشد. در زیر نمونهای از الگوریتم یادگیری آورده شده است[48]:
پاسخ مطلوب
p_(i ) (n+1)= p_(i ) (n)+a[1-p_(i ) (n)]3-7
p_j (n+1)=(1-a)p_(j ) (n)? j , j?i 3-8
پاسخ نامطلوب
p_(i ) (n+1)=(1-b)? p?_(i ) (n) 3-9
p_j (n+1)=b/(r-1) +(1-b)? p?_j (n)? j , j?i 3-10
به ازای پاسخهای مطلوب و نامطلوب احتمال اعمال اتوماتای یادگیر به صورت بالا تنظیم میشود. در روابط بالا a پارامتر پاداش و b پارامتر جریمه میباشد. با توجه به نسبت این دو پارامتر سه حالت را میتوان در نظر گرفت، در صورتی که مقدار a و b با هم برابر باشند الگوریتم را LRP مینامند. در صورتی که مقدار b از مقدار a خیلی کوچکتر باشد الگوریتم را LR?P و اگر b صفر باشد الگوریتم را LRI میگویند. با این فرض که الگوریتم فوق به محیط S اعمال شود که در آن پاسخ محیط ?_i (n) مقداری پیوسته است، الگوریتم SLRI که حاصل اعمال الگوریتم LRI به محیط S میباشد حاصل میشود:
p_(i ) (n+1)= p_(i ) (n)-a[1-?(n)] p_(i ) (n) ?(n)????_i3-11
p_i (n+1)=p_(j ) (n)+a[1-?(n)] ?_(j?i)??p_j (n)? ?(n)?=??_i 3-12
3-4-3- استفاده از اتوماتای یادگیر در راه رفتن روبات نائو
در ابن بخش ما قصد داریم از اتوماتای یادگیر به عنوان یک روش یادگیری استفاده کنیم و با کمک آن مقادیر مفاصل را برای راه رفتن بدست آوریم. به این ترتیب راه رفتن روبات به یک مسئله یادگیری تبدیل میشود که در آن، روبات با توجه به پاسخ دریافتی از محیط عملکرد، احتمال اعمال خود در راه رفتن را تنظیم میکند. روش کار به این صورت است که ما با جایگزین کردن تعدادی اتوماتای یادگیر بر روی مفاصل منتخب روبات، به دنبال یافتن مقادیر مناسب برای مفاصل پای روبات نائو برای راه رفتن این روبات هستیم. نکته مهم در اینجا انتخاب مناسب مفاصل برای اعمال روش است. همانطور که در بخش 2 بیان شد، به طور معمول روشهای راه رفتن تعدادی از مفاصل را در نظر نمیگیرند، در حالی که تحقیقات نشان میدهد تقریبا تمامی مفاصل بدن در راه رفتن دخالت دارند. این امر تا حدودی منطقی به نظر میرسد. استفاده از تمامی مفاصل روبات نائو در تهیه مدلی برای راه رفتن، باعث ایجاد مدلی بسیار پیچیده و غیرقابل اجرا میشود[38]، بنابراین ناچاریم از تعداد زیادی از مفاصل صرف نظر کنیم. در این بین تاثیر گذارترین مفاصل در راه رفتن، مفاصل پا میباشند. تعداد 6 مفصل در هر پای روبات نائو انعطافپذیری خوبی به این روبات میدهد، با این وجود تقریبا در تمامی مدلهای راه رفتن روبات نائو حتی از چند مفصل پا نیز صرف نظر شده است که باز هم به دلیل پیچیده شدن و محاسبات سنگین این اتفاق رخ داده است. پس در صورت غلبه بر این مشکلات و استفاده از حداکثر تعداد ممکن مفاصل، میتوان به مدلی انعطافپذیرتر و کارآمدتر دست پیدا کرد.
استفاده از اتوماتای یادگیر در این پروژه به ما کمک میکند از خواص یادگیری مربوط به آن به منظور غلبه بر محاسبات بسیار سنگین حرکتشناسی معکوس، استفاده کنیم و به این ترتیب مدلی با پیچیدگیهای بسیار کمتر و در عین حال با دقت دلخواه بدست آوریم.
روش کار به این صورت است که برای بدست آوردن مقادیر مفاصل، روی هر یک از مفاصل انتخابی پای روبات یک اتوماتای یادگیر سوار میکنیم. به این ترتیب با مجموعهای از اتوماتای یادگیر سروکار داریم که باید اعمالشان را برای آنها تعریف کنیم. با توجه به چرخشی بودن تمامی مفاصل روبات نائو، میتوان گفت که هر مفصل میتواند چرخشی 360درجهای داشته باشد، اما توجه به این نکته ضروری است که تمامی مفاصل پا لزوما توانایی چرخش 360 درجهای ندارند پس نیاز به اعمال محدودیت ضروری است. هر عمل اتوماتای یادگیر سوار بر مفصل میتواند مانند چرخش مفصل به اندازه مشخص شبیهسازی شود. به این ترتیب که اگر فرض کنیم هر مفصل توانایی چرخش 360 درجهای داشته باشد، هر عمل اتوماتا میتواند چرخشی 1درجهای باشد و در کل اتوماتا دارای 360 عمل خواهد بود.
در هر مرحله از الگوریتم با توجه به مقادیر مفاصل بدست آمده از اتوماتای یادگیر متناظر آن مفصل و با استفاده از حرکتشناسی مستقیم، مکان بدست آمده برای پای روبات را بدست میآوریم (لازم به ذکر است که بدست آوردن مکان نهایی توسط حرکتشناسی مستقیم عملی بسیار سادهتر و با پیچیدگی بسیار کمتری نسبت به حل حرکتشناسی معکوس است.). حال نقطه بدست آمده برای پا را با نقطه پیشبینی شده مقایسه میکنیم که به این ترتیب خطای اتوماتا بدست میآید. که بر اساس بازخورد حاصل از این خطا عمل بعدی اتوماتاها انتخاب میشوند.
همانطور که از الگوریتم مشخص است، به این صورت راه رفتن تبدیل به یک مسئله یادگیری میشود که با تکرار آن و تکرار یادگیری عملهای اتوماتا، و با توجه به پاسخ دریافتی از محیط در حقیقت احتمال این عملها به روز شده و پس از اتمام یادگیری میتوان از آنها در راه رفتن استفاده کرد.
باید به این نکته توجه داشت که 360 عمل برای هر اتوماتا فضای بزرگی است و این در حالیست که بخواهیم با دقت 1درجه عمل کنیم، حال تصور کنید به دنبال دقتی برابر 1/0درجه باشیم که به این ترتیب فضایی با 3600 عمل برای هر اتوماتا خواهیم داشت، که تجربه به ما ثابت کرد که با وجود چنین فضای بزرگی رسیدن به پاسخ بهینه سراسری غیر ممکن است. این در حالی است که از طرح مسئله به نظر میرسید که الگوریتم کامل باشد اما تعداد زیاد عمل برای هر اتوماتا مانع همگرا شدن الگوریتم شد. از طرفی مفاصل روبات نائو نیازی به استفاده از تمام دامنه چرخشی در راه رفتن ندارند. پس با اعمال محدودیتهای حرکتی مفاصل، بر فضای بزرگ اعمال اتوماتاهای یادگیر غلبه میکنیم. نمونهای از این محدودیتها در سه مفصل اصلی پای روبات جدول 3-3 مشخص شدهاند.
جدول 3-3: محدودیت اعمال شده به سه مفصل اصلی پا
نام مفصل
حداقل مقدار زاویه
حداگثر مقدار زاویه
مقدار مناسب اولیه
کفل
25-
100
20< <40 زانو 130- 1 50-< <90- قوزک پا 45- 75 30< <50 همانطور که از جدول مشخص است با محدود کردن بازه حرکتی مفصل، تعداد اعمال مطابق با آنها در اتوماتای یادگیر در هر سه مفصل در حدود هفتاد درصد کاهش داشته است. همچنین با آزمایش مقادیر اولیه مختلف به این نتیجه رسیدیم که بازه های مشخص شده در جدول میتوانند مقادیر اولیه مناسبی برای همگرایی سریعتر در اتوماتاهای یادگیر باشند. در نمودار شکل 3-11 مراحل مختلف الگوریتم نمایش داده شده است. در ادامه مراحل مختلف الگوریتم به تفصیل مورد بحث قرار میگیرد. الف) مقدار دهی اولیه الگوریتم تعیین طول گام: در این الگوریتم طول گام را ثابت در نظر میگیریم بنابراین در اولین مرحله باید طول گام را مشخص کنیم. با تعیین طول گام نقطه هدف برای گام اول مشخص میشود به این ترتیب نقطه مبدا که مکان کنونی پا هست و نقطه مقصد که محل بعدی پا هست به دست میآید. با توجه به تکراری بودن فرآیند راه رفتن و طول ثابت گام، با به دست آوردن بردار احتمال اعمال اتوماتاها و در نتیجه بدست آمدن مقادیر مفاصل برای یک گام، میتوانیم با استفاده از همین مقادیر تا مقصد نهایی روبات را به پیش ببریم. از آنجا که با داشتن مقادیر مفاصل، میتوان مکان فرود آمدن پا را محاسبه کرد، پس میتوانیم طی روندی برونخط در ادامه این مقادیر را محاسبه و سپس در محیط استفاده کنیم. تعیین محدوده مفاصل مفاصل پای روبات مانند مفاصل پای انسان دارای محدودیت چرخشی هستند و مقادیرشان از حد خاصی تجاوز نمیکند. تعیین محدودیتهای چرخشی مفاصل علاوه بر اینکه برای حل مسائل مربوط به روبات نائو لازم است، در روش پیشنهادی ما باعث کاهش چشمگیر تعداد اعمال هر اتوماتای یادگیر میشود و در رسیدن به بهینه سراسری تاثیر چشمگیری دارد. محدودیت حرکتی مفاصل را با توجه به ساختار مفاصل پای انسان، در ربات نائو تعیین میکنند. در جدول 3-3 نمونهای از این محدودیتها در مفاصل اصلی پای روبات و همچنین مقادیر مناسب اولیه برای همگرایی هر چه سریعتر الگوریتم در این جدول نشان داده شده است. انتخاب اعمال اولیه اتوماتاها هر عمل مربوط به یک اتوماتا، یک زاویه مربوط به مفصل متناظر آن است. انتخاب عمل با توجه به بردار احتمالات اتوماتاها انجام میشود و در مرحله اول این انتخاب به صورت راندوم در بین اعمال صورت میپذیرد. ب) محاسبه مکان بعدی پا در هر مرحله از الگوریتم بردار احتمال مربوط به هر اتوماتا در دسترس میباشد. بر اساس بردار احتمال هر اتوماتا میتوان عمل انتخابی توسط آن اتوماتا را مشخص کرد که نشان دهنده مقدار مفصل متناظر با اتوماتا میباشد. در این مرحله با استفاده از حرکتشناسی مستقیم با در نظر گرفتن مقادیر مفاصل، میتوانیم مکان نهایی پای روبات را محاسبه کنیم. حرکتشناسی مستقیم با توجه به مجموعه مقادیر چند مفصل پی در پی از نظر زاویه و جهت، مکان نهایی عملگر انتهایی آن روبات(که در مسئله ما پای روبات است) را محاسبه میکند. مکان بدست آمده قابلیت تعیین میزان مناسب بودن عمل انتخابی را فراهم میآورد به این صورت که به نسبت فاصله مکان فعلی پای روبات تا هدف، عمل انتخابی مورد تشویق یا تنبیه قرار میگیرد. ج)محاسبه خطا و بروزرسانی بردارهای احتمال در این مرحله با توجه به مکان محاسبه شده برای فرود پای روبات، میزان خطا را محاسبه و بر اساس آن بردارهای احتمالات اتوماتاها به روز رسانی میشوند. محاسبه میزان خطا برای یک گام روبات، با توجه به اینکه طول گام مشخص است ومقصد نهایی پای روبات را داریم. در هر مرحله، با توجه به خروجی مرحله (ب) که مکان محاسبه شده فرود پای روبات میباشد، میزان فاصله تا مقصد نهایی را به دست میآوریم. current_Dist=distance (foot_Pos, foot_Goal ( 3-13 در فرمول3-13 foot_Pos نشان دهنده مکان فعلی پای روبات و foot_Goal نشان دهنده

مطلب مرتبط با این موضوع :  پایان نامه ارشد دربارهگروه کنترل، تحت درمان

دیدگاهتان را بنویسید