راستش صورت مسئله خیلی هم مبهم نیست. در واقع تنها نکته مبهم صورت مسئله برای من اینه که اگر ماشین در حرکتی بخواد از grid خارج بشه - که حرکت قابل قبولی نیست - دقیقا چه حرکتی بجاش انجام میشه، که اینم با توجه صورت مسئله اینطور میشه برداشت کرد که دقیقا یک حرکت یک خانه ای به یکی از 4 جهت (در صورت قابل قبول بودن) انجام میشه (البته مسئله میگه حداقل یک خانه که برای من مبهمه).
به هر حال یه راه حل برای این مسئله میتونه reinforcement learning باشه. به این صورت که برای هر کدوم از نقاط شروع مختلف، برنامه حرکت رو چندین مرتبه (100 بار، 1000 بار، 10000 بار) اجرا کنید. در هر بار اجرای برنامه، در هر مرحله بصورت random و با در نظر گرفتن تمام محدودیت های گفته شده حرکت بعدی انتخاب میشه. اگر حرکت انتخاب شده حرکت قابل قبولی باشه، اون حرکت رو بهمراه خانه ای (cell) که ماشین در اون لحظه در اون قرار داره ذخیره میکنید. هر کدوم از این رکورد ها یک example محسوب میشه. با اجرای برنامه به دفعات زیاد برای هر خونه چندین example تولید میشه. در نهایت چند راه برای جمع بندی این example ها دارید. ساده ترین اونها اینه که برای هر خانه اون حرکتی رو که بیشتر از همه تولید و استفاده شده، انتخاب کنید.
به این روش learning from positive examples میگن که در اون agent از حرکتهای صحیح و قابل قبول قبلی برای یادگیری استفاده میکنه. البته reinforcement learning بخش استفاده از negative examples هم داره که در راه حلهای کاملتر میشه اون رو هم اضافه کرد و برای افزایش optimality بکار برد.
ويرايش شده توسط alijy; ۰۴-۱۳-۱۳۸۹ در ساعت ۰۲:۵۸ قبل از ظهر
دليل: typo
|