توضیحات
برنامه نویسی يادگيری تقويتی به زبان C++
در این پروژه مسئله یادگیری ربات فوتبالیست مطرح میشود. قرار است که با استفاده از روش یادگیری تقویتی، نحوه بازی کردن را به ربات آموزش دهیم.
توضيح مسأله
در اين قسمت به توضيح محيط ساده فوتبال میپردازيم. اين محيط يکی از محيطهای مناسب برای ارزيابی و آزمون الگوريتمهای يادگيری تقويتی میباشد. اين محيط شامل يک زمين شبکهای 9*6 و دو بازيکن میشود. در ابتدا بازيکنها در موقعيتی که در شکل 1 ديده میشوند، قرار دارند (مالکيت توپ به صورت تصادفی به يکی بازيکنها داده میشود). در اين محيط توپ (که با دايرهای سفيد در شکل 1 نشان داده شده است) هميشه در اختيار تنها يکی از بازيکنان است (در مکان فعلی بازيکن صاحب توپ قرار دارد) و در صورتی که بازيکن حرکت کند، توپ نيز با او منتقل خواهد شد. در هر واحد زمانی (cycle) هر بازيکن میتواند يا با يکی از اعمال حرکت به بالا، راست، پايين و يا چپ به يکی از چهار خانه مجاور خود برود و يا با عمل ماندن در مکان فعلی، ثابت بماند. در اين بازی هدف شکست حريف (با تعريف معمول شکست در بازی فوتبال بر اساس تعداد گلهای تيمها) با آموزش يک عامل هوشمند میباشد. برای گل زدن يک بازيکن بايد عملی را انتخاب کند که او را با توپ به درون دروازه میبرد. مثلاً، اگر بازيکن صورتی بخواهد گل بزند، بايد با توپ به يکی از دو خانه کنار دروازه بازيکن آبی برود و عمل حرکت به سمت راست را انتخاب کند. پس از به ثمر رسيدن يک گل، بازی در شرايط اوليه قرار میگيرد و توپ به بازيکنی که گل خورده است، داده میشود.
شکل 1: نمونه از محيط بازی.
در صورتی که بازيکنها در کنارههای زمين، عملی را انتخاب کنند که آنها را از زمين خارج میکند، آن عمل اجرا نمیشود و بازيکن تغيير مکان نمیدهد. در اين محيط دو بازيکن در طول بازی در خانههای متفاوتی قرار دارند و اگر عملهاي دو بازيکن منجر به يکی شدن خانه آنها میشود، نتيجه اعمال آنها بصورت زير خواهد بود:
- اگر بازيکن صاحب توپ ثابت باشد و بازيکن ديگر با عمل خود قصد ورود به خانه بازيکن صاحب توپ را داشته باشد، به احتمال 80% توپ در اختيار بازيکن صاحب توپ باقی میماند و مکان بازيکنها تغيير نمیکند.
- اگر بازيکنی که صاحب توپ نيست ثابت باشد و بازيکن ديگر قصد ورود به خانه اين بازيکن را داشته باشد، مالکيت توپ به بازيکن ثابت میرسد و مکان بازيکنها تغيير نمیکند.
- اگر هيچکدام از بازيکنها ثابت نمانند، به احتمال مساوی 50% توپ به يکی از بازيکنها میرسد و آن بازيکن در خانهای که قصد ورود به آن را داشت، قرار میگيرد و بازيکن ديگر در جای خود ثابت میماند.
برای آموزش عامل لزوماً بايد از يک روش يادگيری تقويتی مبتنی بر توابع مقدار يا توابع مقدار-عمل (value function or action-value function) مانند روشهای برنامهنويسی پويا، منتکارلو و تفاضل زمانی (tempral deference) استفاده شود و در يادگيری عامل، نمیتوان اجزايي را که از يادگيری تقويتی استفاده نمیکنند، بکار برد. علاوه بر اين، عامل در هر واحد زمانی بايد يکی از اعمال سطح پايين خود را بر اساس توابع مقدار و يا مقدار-عمل انتخاب کند و نمیتواند اعمالی سطح بالا داشته باشد.
…
برنامه نویسی ربات فوتبالیست به زبان C++ توسط کارشناسان گروه ۱.۲.۳ پروژه پیاده سازی گردیده و به تعداد محدودی قابل فروش می باشد.فایلهای پروژه به صورت کامل پس از خرید فایل بلافاصله در اختیار شما قرار خواهد گرفت.
سفارش پروژه مشابه
درصورتیکه این پروژه دقیقا مطابق خواسته شما نمی باشد، با کلیک بر روی کلید زیر پروژه دلخواه خود را سفارش دهید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.