تابع ارزیابی

از ویکی‌پدیا، دانشنامهٔ آزاد

تابع ارزیابی (به انگلیسی : Evaluation function ) که به عنوان تابع ارزیابی اکتشافی یا تابع ارزیابی ایستا نیز شناخته می شود ،تابعی است که توسط برنامه های بازی های کامپیوتری برای تخمین ارزش یا خوبی و برتری یک موقعیت (معمولا در یک برگ یا گره پایانی ) در درخت بازی [۱]استفاده می شود.در اکثر مواقع  مقدار،  یا یک عدد حقیقی یا یک عدد صحیح کوانتیزه شده است که اغلب n امین مقدار یک مهره ی بازی مانند سنگ در بازی go یا سرباز در بازی شطرنج است که درآن n ممکن است دهم ،صدم یا کسر مناسب دیگر باشد .اما در بعضی مواقع مقدار مورد نظر ، آرایه ای از سه مقدار در بازه ی واحد است که نشان دهنده ی درصد برد ،تساوی و باخت است.

مدل های تحلیلی یا نظری برای توابع ارزیابی در بازی های حل نشده وجود ندارد ،همچنین چنین توابعی کاملا موقتی هستند. فرمول توابع ارزیابی به صورت تجربی با درج یک تابع کاندید در یک ماشین خودکار و ارزیابی عملکرد بعدی آن تعیین میشود . شواهد معنی دار و قابل توجهی در حال حاضر برای چندین بازی مانند شطرنج ،شوگی و ‘go’ و فرمول کلی توابع ارزیابی برای آن ها وجود دارد .


بازی هایی که درآن برنامه های بازی های کامپیوتری از توابع ارزیابی استفاده میکنند و آن را به خدمت میگیرند شامل شطرنج [۲]، go، شوگی (شطرنج ژاپنی) ،اتلو ،هگز، تخته نرد،چکرز. بعلاوه با ظهور و پیدایش برنامه های مانند MuZero برنامه های کامپیوتری نیز از توابع ارزیابی برای اجرای بازی های ویدئویی استفاده میکنند مانند Atari2600[۳]. برخی از بازی ها مانند tic-tac-toy به طور کامل حل شده اند و نیازی به جستجو یا ارزیابی ندارند زیرا درخت راه حل مجزای آن در دسترس می باشد .

مرتبط با جستجو[ویرایش]

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


یک رابطه پیچیده بین جستجو و دانش در عملکرد ارزیابی وجود دارد.  جستجوی عمیق‌تر به نفع عوامل تاکتیکی کوتاه‌مدت کمتر و موتیف‌های موقعیتی افق طولانی‌تر در ارزیابی است.  همچنین بین اثربخشی دانش رمزگذاری شده و پیچیدگی محاسباتی یک مبادله وجود دارد: محاسبه دانش دقیق ممکن است آنقدر زمان ببرد که عملکرد کاهش یابد، بنابراین تقریب به دانش دقیق اغلب بهتر است.  از آنجا که تابع ارزیابی به عمق اسمی جستجو و همچنین بسط و کاهش به کار رفته در جستجو بستگی دارد، هیچ فرمول عمومی یا مستقلی برای یک تابع ارزیابی وجود ندارد. یک تابع ارزیابی که به خوبی در یک برنامه کاربردی کار می کند، معمولاً نیاز به تنظیم مجدد یا آموزش مجدد دارد تا به طور مؤثر در برنامه دیگری کار کند

در شطرنج[ویرایش]

در شطرنج خروجی یک تابع ارزیابی معمولا یک عدد صحیح است و واحد های تابع ارزیابی معمولا به عنوان پیاده نامیده می شوند. اصطلاح “پیاده" به ارزشی اشاره دارد که بازیکن یک پیاده بیشتراز حریف در یک موقعیت داشته باشد ، همانطور که در "مقدار نسبی مهره شطرنج " (انگلیسی : chess piece relative value)توضیح داده شده است . عدد صحیح 1 معمولا نشان دهنده ی کسری از یک پیاده است و معمولا در شطرنج کامپیوتری از centipawn  ها استفاده می شود که یک صدم پیاده هستند. ارزیابی های بزرگتر نشان دهنده ی عدم تعادل متریال  یا مزیت موقعیتی است یا اینکه معمولا در برد متریال قریب الوقوع است . ارزیابی های بسیار بزرگ ممکن است نشان دهد که مات قریب الوقوع است . یک تابع ارزیابی همچنین به طور ضمنی مقدار حق حرکت را رمزگذاری میکند ،که می تواند از بخش کوچکی از پیاده تا برد یا باخت متفاوت باشد .

منابع[ویرایش]

  1. Shannon, Claude E. (1950-03). "XXII. Programming a computer for playing chess". The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science. 41 (314): 256–275. doi:10.1080/14786445008521796. ISSN 1941-5982. {{cite journal}}: Check date values in: |date= (help)
  2. Silver, David; Hubert, Thomas; Schrittwieser, Julian; Antonoglou, Ioannis; Lai, Matthew; Guez, Arthur; Lanctot, Marc; Sifre, Laurent; Kumaran, Dharshan (2018-12-07). "A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play". Science. 362 (6419): 1140–1144. doi:10.1126/science.aar6404. ISSN 0036-8075.
  3. Schrittwieser, Julian; Antonoglou, Ioannis; Hubert, Thomas; Simonyan, Karen; Sifre, Laurent; Schmitt, Simon; Guez, Arthur; Lockhart, Edward; Hassabis, Demis (2020-12-23). "Mastering Atari, Go, chess and shogi by planning with a learned model". Nature. 588 (7839): 604–609. doi:10.1038/s41586-020-03051-4. ISSN 0028-0836.