یادگیری تقویتی (Reinforcement Learning) یکی از روش های یادگیری در سیستم های هوشمند است که براساس رابطه ی علت و معلولی عمل می کند. در این روش یادگیری عامل هوشمند (Agent) با توجه به وضعیتی که در محیط دارد، عملی را بر روی محیط انجام می دهد و منتظر نتیجه ی عملش می ماند. این نتیجه می تواند در قالب یک پاداش یا تنبیه باشد. اگر نتیجه در قالب پاداش باشد، عمل انجام شده مطلوب بوده و عامل به هدفی که در آن محیط دارد نزدیک شده است. ولی اگر نتیجه در قالب تنبیه باشد، عمل انجام شده نامطلوب بوده و عامل از هدفش دور شده است. عامل باید یاد بگیرید که چه اعمالی را انجام دهد تا پاداش بیش تری را کسب کند و در نهایت به هدفش برسد. همه ی ما در کودکی با الگویی مشابه یادگیری تقویتی راه رفتن را آموختیم. زمانی که پس از چندین گام برداشتن به زمین می خوردیم (تنبیه)، سعی می کردیم اعمال حرکتی خود را به گونه ای اصلاح کنیم تا تعادل خود را به هنگام راه رفتن حفظ کنیم (پاداش). در نهایت هم به هدف خود که راه رفتن بود رسیدیم.

در ادامه مباحث یادگیری تقویتی در قالب یک مثال شرح داده می شوند. در این مثال عامل هوشمند یک ربات فوتبالیست در پست حمله است. هدف آن است که زمانی توپ به این ربات رسید، ربات با یادگیری تصمیم های مناسب یک حمله را تدارک ببیند و توپ را به گل تبدیل کند

حالت ها (States)

حالت بیان گر شرایط موثر بر تصمیم گیری عامل در محیط است مانند موقعیت مکانی عامل در محیط. ما چهار حالت را برای ربات خود در نظر می گیریم:

  • s1: زمانی که ربات ما در سمت راست داخل محوطه ی جریمه ی حریف باشد.
  • s2: زمانی که ربات ما در وسط محوطه ی جریمه ی حریف باشد.
  • s3: زمانی که ربات ما در سمت چپ داخل محوطه ی جریمه ی حریف باشد.
  • s4: زمانی که ربات ما در خارج از محوطه ی جریمه ی حریف باشد.

محدوده ی هر چهار حالت را در شکل نشان داده شده است.
ما می توانیم حالت ها را پیچیده تر کنیم. فرضا” موقعیت دروازه بان حریف را نیز در تصمیم گیری مهم بدانیم و سه حالت نیز برای دروازه بان در نظر بگیریم؛ مثلا” :

  • دروازه بان در سمت راست دروازه اش قرار گرفته است.
  • دروازه بان در مرکز دروازه اش قرار گرفته است.
  • دروازه بان در سمت چپ دروازه اش قرار گرفته است.

در این صورت چهار حالت برای ربات خود و سه حالت برای دروازه بان حریف داریم که این دو دسته حالت مستقل از هم هستند. زیرا اگر ربات ما در موقعیت s1 قرار گیرد، دروازه بان می تواند در هر سه حالت راست، مرکز و یا چپ قرار داشته باشد و به همین شکل برای حالت های s2، s3 و s4. درنتیجه 3 ضرب در 4 برابر 12 حالت در مجموع وجود خواهد داشت. می توان حالت ها را همچنان افزایش داد و میزان شارژ باتری ربات خود را (کم، متوسط و پر) به عنوان حالت جدیدی در نظر گرفت. ولی برای سادگی کار در ادامه فقط از چهار حالت اول که ابتدا برای ربات تعریف کردیم استفاده می کنیم:

S = {si | i = 1,2,3,4}

مجموعه حالت در نظر گرفته شده دارای خاصیت مارکوف (The Markov Property) است. اگر حالتی دارای خاصیت مارکوف باشد بدان معنا است که حالت فعلی تمام اطلاعات مربوط به گذشته و حال که جهت ادامه ی یادگیری نیاز است را در خود دارد. به عنوان مثال چیدمان مهره ها روی صفحه ی شطرنج دارای خاصیت مارکوف است. گرچه این چیدمان به ما نمی گوید که از اول بازی تا کنون چه حرکت هایی انجام شده است اما تمام اطلاعات مورد نیاز جهت ادامه ی بازی را در اختیار ما می گذارد. به مساله ی یادگیری که خاصیت مارکوف برای حالت های آن برقرار باشد، فرآیند تصمیم گیری مارکوف (Markov Decision Process یا MDP) می گویند