PDA

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



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

این یه پروژه هوش مصنوعی هست که باید با 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 در هر مرحله نباید از دست برود و باید در یک آرایه نگه داری شود )

Arcsinos
جمعه 11 شهریور 1390, 18:10 عصر
این سوالات رو جواب بدید تا شاید بتونیم کمکتون کنیم :

1- اگه دو به دو با هم ارتباط دارن پس گرافمون کامله ؟

2- ابنکه اگر احتمال وقوع زیاد بود آن را نادیده میگیریم دقیقا یعنی چه ؟ یعنی اینکه مقادیر پاداشو مجازات را با Value جمع میکنیم یا اینکه یک انتخاب تصادفی دیگر انجام میدهیم تا State دیگری انتخاب شود ؟

3- اگر با این روش بخواهیم احتمال وقوع را حساب کنیم پس ممکن است گاهی اوقات احتمال وقوع در یک State کم باشد و گاهی زیاد باشد چون هر بار تابع Rand تغییر می کند ؟

4- مگه حالت هایی که از روی آنها پرش صورت گرفته در انتخاب های بعدی شرکت داده نمیشوند ؟ (همانطور که گفتم احتمال دارد در مقایسه ی بعدی احتمال وقوع در مراحل بعدی کم باشد ) مگر اینکه آنها را به صورت جداگانه نگه داریم و در سری های بعدی مقایسه را با State های باقیمانده انجام دهیم ؟)

فعلا موفق باشی

Delphi_Developer
شنبه 12 شهریور 1390, 00:48 صبح
خیلی ممنون از توجهتون

اما اینا چیزایی هست که به من داده !! دسترسی هم فعلا بهش ندارم تا روزی که باید بهش تحویل بدم !!! خودمم گیج شدم - حالا تا حدودش رو هم که پیش برید بهتر از هیچی هست ولی صعی میکنم پیداش کنم یه جوری

بازم ممنون

Arcsinos
شنبه 12 شهریور 1390, 01:42 صبح
دوست عزیز مسئله دقیقا سوالاییه که پرسیدم وگرنه این مسئله میشه یه مسئله که با یکی از الگوریتمای دایجسترا یا پریم میشه حلش کرد و به جواب رسید .

در ضمن خودتون قدیمی هستید میدونید که اینجا کسی کد نمیذاره بلکه الگوریتم های حل مسئله رو میگیم و به شما کمک میکنیم تا بتونید مساله رو حل کنید .

در مورد این دوتا الگوریتمی که گفتم یه مقدار جستو جو کنید ، خیلی شبیه به همین . هیچ کاری هم نداره مسالتون . نگران حلش نباشید ، تلاش کنید حل بشه .

موفق باشید