PDA

View Full Version : یادگیری تقویتی بر اساس حوادث نادر



Delphi_Developer
جمعه 11 شهریور 1390, 12:27 عصر
سلام

این یه پروژه هوش مصنوعی هست که باید با C++ نوشته بشه - یه خورده گیج کنندس ممنون میشم کسی کمک کنه

یادگیری تقویتی بر اساس حوادث نادر :

به عنوان مثال 15 شهر را در نشر میگیریم که هرکدام از این شهرها دو به دو با هم در ارتباط هستند. ما باید از همه این 15 شهر عبور کنیم به گونه ای که بهترین راه را پیدا کنیم . یعنی میزان تابع ارزش آن از بقیه مسیرها بیشتر باشد . هر شهر را یک حالت (State) در نظر میگیریم که هر کدام سه خصوصیت دارد : 1-پاداش و مجازات
2-احتمال وقوع Rave Events 3-ارزش Rave Event
به طور تصادفی یک شهر را انتخاب میکنیم . ابتدا بررسی میکنیم که آیا در این حالت احتمال وقوع حوادث نادر وجود دارد یا نه . اگر نه ، میزان پاداش یا مجازات آن حالت را به Value که در ابتدا میزان آن صفر است اضافه میکنیم . در مرحله بعد باز به طور تصادفی یک شهر دیگر انتخاب میشود . اگر در آن حالت Rave Event وجود نداشت مانند قبل عمل میکنیم . در غیر این صورت باید بررسی شود که آیا احتمال وقوع Rave زیاد است یا کم . اگر احتمال آن کم بود ارزش Rave Event را نادیده میگیریم و تنها ارزش آن State را به Value اضافه میکنیم . و اگر احتمال وقوع آن زیاد بود مجاز هستیم که فقط برای یک بار از روی آن مرحله پرش کنیم . در واقع آن را نادیده بگیریم . ممکن است در انتخاب های بعد دوباره این شهر انتخاب شود اگر این اتفاق افتاد دیگر نمیتوانیم آن را نادیده بگیریم . برای بررسی احتمال وقوع Rave در یک State باید یک عدد تصادفی بین 0 و 1 انتخاب شود . اگر این عدد از عدد احتمال وقوع Rave کوچکتر بود یعنی احتمال رخ دادن آن زیاد است و اگر بزرگ تر بود یعنی احتمال وقوع آن کم می باشد .
حالت هایی که از روی آنها پرش صورت گرفته در آخر کار انتخاب میشوند . در این فرایند ما داریم حوادث نادر را کنترل میکنیم . همین کارها را برای حالتی که حوادث نادر کنترل نمیشوند هم باید انجام گیرد . (مقدار Value در هر مرحله نباید از دست برود و باید در یک آرایه نگه داری شود )