480 likes | 748 Views
فصل ششم. تئوری بازیها. yousefpour@shomal.ac.ir. Alireza yousefpour. فصل ششم: تئوری بازیها – جستجوهای رقابتی. تئوری بازی ها. Game Theory. بازی ها چه هستند و چرا مطالعه ميشوند ؟. بازی ها: حالتی از محيطهای چند عاملي را نشان می دهند که:.
E N D
فصل ششم تئوری بازیها yousefpour@shomal.ac.ir Alirezayousefpour
فصل ششم: تئوری بازیها – جستجوهای رقابتی تئوری بازی ها Game Theory بازی ها چه هستند و چرا مطالعه ميشوند؟ بازی ها: حالتی از محيطهای چند عاملي را نشان می دهند که: • هر عامل نياز به در نظر گرفتن ساير عاملها و چگونگی تأثير آنها دارد • تمايزبينمحيطهایچند عامل رقابتيو همکار • محيطهای رقابتی، که در آنها اهداف عاملها با يکديگربرخورد دارند، منجر به مسئله های رقابتیميشود که به عنوان بازی شناخته ميشوند
فصل ششم: تئوری بازیها – ادامه و چرا بازی ها مطالعه می شوند : • قابليتهای هوشمندی انسانها را به کار ميگيرند • ماهيت انتزاعی بازی ها • حالت بازی را به راحتی ميتواننمايش داد و عاملها معمولا به مجموعه کوچکی از فعاليتها محدود هستند که نتايج آنها با قوانيندقيقيتعريف شده اند به عنوان مثال: دلايلي که محققين قديم، شطرنج را بهعنوان موضوعي در AI برگزيدند: • بازي شطرنج کامپيوتري اثباتي بر وجود ماشيني است که اعمال هوشمندانهاي را انجام ميدهند. • سادگي قوانين • وضعيت دنيا کاملاً براي برنامه شناخته شده است. (بازنمايي بازي به عنوان يک جستجو از طريق فضاي موقعيتهاي ممکن بازي، ساده است.)
فصل ششم: تئوری بازیها – ادامه پيچيدگي بازيها، به طور کامل نوعي از عدم قطعيت را معرفي ميکنند. عدم قطعيت به علت وجود اطلاعات گم شده رخ نميدهد، بلکهبه علت اينکه فرد زماني براي محاسبه دقيق نتايج حرکت ندارد عدم قطعيت بوجود ميآيد. در اين مورد، فرد بر اساس تجربيات گذشته ميتواند بهترين حدس را بزند.
فصل ششم: تئوری بازیها – بازی Minimax يک نمونه بازی - يک بازي با دو بازيکن را در نظر ميگيريم که آن را MIN-MAX ميناميم. - بدین معناست که هر یک از بازیکن ها ، حرکت خود را در جهت افزایش برد خود (max) و نیز در جهت کاهش برد حریف (min) انجام می دهد. - پس همیشه حرکت با max است. قبل از حرکت گرافی از دید بازیکنmax رسم می شود که بتواند بهترین حرکت را انتخاب کند: بازی به عنوان يک جستجو: • حالت اوليه: موقعيت صفحه و شناسایی حرکت مجاز • عملگرها: ليستی از (حالت,حرکت) که معرف يک حرکت معتبر است • آزمون هدف: پايان بازی چه موقع است؟ (حالتهای پايانه) • تابع سودمندی: برای هر حالت پايانهيک مقدار عددی را ارائه ميکند. مثلاً: برنده(1+) و بازنده(1-) و مساوی(0)
فصل ششم: تئوری بازیها – بازی Minimax مثال : • بازيکن: انتخاب بهترين حالت • حريف: انتخاب بهترينموقعيت برای خودش يابدترينوضعيت برای بازيکن حالت اوليه و حرکات معتبر برای هر بازيکن، درخت بازی را برای آن بازی ايجادميکند
فصل ششم: تئوری بازیها – تصمیمات کامل تصميمات کامل در بازيهاي دونفره: اگر به آن به عنوان يک مسئله جستجو نگاه شود، جستجو براي دنبالهاي از حرکات که منتهي به حالت پاياني ميشد (مطابق با تابع سودمندي)، و سپس پيشروي و ساخت اولين حرکت در دنباله بود. اما حرکات MINغير قابل پيشبيني است؛ بنابراين: MAX بايد استراتژياي را بيابد که به يک حالت پاياني برنده بدون توجه به عملکرد MIN منجر شود، که اين استراتژي شامل حرکات درست براي MAX براي هر حرکت ممکن از MIN ميباشد.
فصل ششم: تئوری بازیها – الگوریتمMinimax الگوريتم :MIN-MAX به منظور تعيين استراتژي بهينه براي MAX طراحي شده است و از اينرو ميتوان بهترين حرکت را تصميمگيري کرد. الگوريتم شامل 5 مرحله است: • توليد درخت کامل بازي، تمام راه تا مراحل پاياني • درخواست تابع سودمندي براي هر حالت پاياني به منظور بدست آوردن مقدارش. • از سودمندي حالات پاياني به منظور تعيين سودمنديگرهها يک مرحله بالاتر دردرخت جستجو استفاده کنيد. • بررسي مقادير را از گرههاي برگي تا ريشه، يک لايه در هر لحظه، ادامه دهيد. • احتمالاً مقادير به بالاي درخت ميرسند، MAX حرکتي را انتخاب ميکند که به بالاترين مقدار منتهي ميشود.
2 1 2 1 2 2 7 1 8 2 2 7 7 1 1 8 8 2 1 2 7 1 8 فصل ششم: تئوری بازیها – الگوریتمMinimax مثال: Max Min Max 2 This is the move selected by min-max Static evaluator value Max Min
فصل ششم: تئوری بازیها – الگوریتمMinimax اگر: m: حداکثر عمق درخت، b: تعداد حرکات قانوني در هر نقطه، • کامل بودن: بله (اگر درخت محدود باشد) • بهينگي: بله • پيچيدگي زمانی:الگوريتمminimax، O(bm) است.الگوريتم يک جستجو عمقي است. • پيچيدگی فضا: O(bm)
فصل ششم: تئوری بازیها – اطلاعات ناقص بازيهایقطعي با اطلاعات ناقص: بهترین نتیجه ممکنه برای بازیکنی است که گراف را کامل کرده است . استراتژی بازی براساس مسیرهایی از گراف که بهترین نتیجه را می دهد، تعریف می شوند این تئوری در عمل برای بازیهایی که گراف آنها بسیار پرهزینه است استفاده نمی شود. برای مثال در بازی شطرنج: میانگین فاکتور انشعاب در حدود 35 در اغلب بازیها هر بازیکن تا 50 حرکت بنابراین درخت جستجو در حدود35100 گره خواهد داشت پس اگر بخواهیم به این تئوری جنبه عمل دهیم باید سعی کنیم براساس گراف کوچک که بخشی از گراف اصلی محسوب می شود استراتژی را تعیین کرد.
فصل ششم: تئوری بازیها – اطلاعات ناقص الگوريتمMinimax به دو راه تغيير يابد: • تابع سودمندي با تابع ارزيابي اکتشافیEVALجايگزين شود. • - تخمينی از سودمندی موقعيت ارائه ميکند • آزمون پاياني با آزمون قطع Coutoff testجايگزين گردد. • - تصميمميگيردEVAL چه موقع اعمال شود
فصل ششم: تئوری بازیها – تابع ارزیاب Evaluation Function تابع ارزيابي اکتشافی: تابع ارزيابي تخميني از سودمندي مورد انتظار بازي را از یک موقعيت خاصبرميگرداند. • توابع اکتشافی، تخمينی از فاصله تا هدف را بر ميگرداند 0 ≤ Eval(n) ≤ 100 باخت مطلق برد مطلق - واضح است که ارائه يک برنامه بازي بي نهايت به کيفيت تابع ارزيابي بستگي دارد. • تابع ارزيابینميداند کدام حالت منجر به چه چيزیميشود، اما ميتواند مقداری برگرداند که تناسب حالتها را با هر نتيجه را نشان دهد
فصل ششم: تئوری بازیها – تابع ارزیاب چگونه به طور دقيق کيفيت را ميتوان اندازه گرفت؟ • تابع ارزيابي با تابع سودمندي در مورد حالت پاياني بايد به توافق برسند. • نبايد زياد طول بکشد! (اگرپيچيدگي را محدود نکنيم minimax به عنوان يک زيربرنامه فراخواني ميشود و مقدار دقيق وضعيت محاسبه ميشود.) از اين رو، معاملهاي بين صحت تابع ارزيابي وهزينه زمان آن وجود دارد. • تابع ارزيابي بايد به درستي شانسهاي واقعي براي برد را منعکس کند.
فصل ششم: تئوری بازیها – اثر افق (horizon problem): اثر افق • وقتی بوجودميآيد که برنامه با اثری از رقيب مواجه شود که منجر به خرابی جدی گشته و اجتناب پذير است • مثال: شکل مقابل؛ • سياه در اصل جلوست، اما اگر سفيدپيادهاش را از سطر هفتم به هشتم ببرد، پياده به وزيرتبديلميشود و موقعيت برد برای سفيدبوجودميآيد رخ سياه مانع از حرکت وزيرسفيد به حالت افقي شده است و اينموقعيت به نفع سياه است. در حالي که برگ برنده در دست سفيد است.
فصل ششم: تئوری بازیها – تابع ارزیاب خطی تابع ارزیاب خطی (وزن دار) : تابع ارزيابي فرض ميگيرد که مقدار هر مهره ميتواند به طور مستقل از ديگر مهرهها روي صفحه قضاوت شود. اين نوع از تابع ارزيابي، تابع خطي وزن دارناميده ميشود. Eval(s) = w1 f1(s) + w2 f2(s) + … + wnfn(s) f ها پارامترهای مهم تاثیر گذار در ارزیابی یک حالت w ها میزان اهمیت هر پارامتر (وزن) در این ارزیابی را نشان می دهند.
فصل ششم: تئوری بازیها – قطع جستجو قطع جستجو: صريحترين رهيافت براي کنترل ميزان جستجو قراردادن محدوديتي براي داشتن يک عمق ثابت است، بنابراين تست قطع براي تمام گرهها درزيرعمق d موفق ميشود. عمق طوري انتخاب ميشود که ميزان زمان استفاده شده از آنچه که قوانين بازي اجازه ميدهد تجاوز نکند. استفاده از جستجوی عمقی تکرار شونده است یک رهیافت قوی برای تعیین عمق d : زماني که، وقت تمام ميشود، برنامه حرکت انتخابي توسط عميقترين جستجوي کامل شده را برميگرداند.
فصل ششم: تئوری بازیها – بازیهای چند نفره بازيهای چند نفره • تخصيصيک بردار به هر گره، به جای يک مقدار • بازيهای چند نفره معولاً شامل اتحاد رسمی ياغيررسميبينبازيکنان است • اتحاد با پيشروی بازی ايجاد و از بينميرود • بازيکنانبطور خودکار همکاری ميکنند، تا به هدف مطلوب انحصاری برسند
فصل ششم: تئوری بازیها – هرس الفا بتا Alpha – Beta Pruning هرس آلفا- بتا: فرض: یک برنامه خوب وجود دارد که می تواند 1000 جستجو را در یک ثانیه انجام دهد پس می توانیم 150000 موقعیت بوجود بیاوریم در شطرنج: فاکتور انشعاب = 35 حرکت برای هر حرکت 150 ثانیه زمان می برد با فاکتور انشعاب 35 یعنی 3 تا چهار حرکت بازی را پیش بینی می کند یک بازی مبتدی بازیکنان انسانی متوسط 6 تا 8 حرکت را پیش بینی می کنند
فصل ششم: تئوری بازیها – هرس الفا بتا Alpha – Beta Pruning هرس آلفا- بتا: فرض: یک برنامه خوب وجود دارد که می تواند 1000 جستجو را در یک ثانیه انجام دهد پس می توانیم 150000 موقعیت بوجود بیاوریم در شطرنج: فاکتور انشعاب = 35 حرکت برای هر حرکت 150 ثانیه زمان می برد با فاکتور انشعاب 35 یعنی 3 تا چهار حرکت بازی را پیش بینی می کند یک بازی مبتدی شکست برنامه بازیکنان انسانی متوسط 6 تا 8 حرکت را پیش بینی می کنند
فصل ششم: تئوری بازیها – هرس الفا بتا هرس درخت جستجو: پردازش حذف شاخهاي از درخت جستجو، با در نظر داشتن و بدون آزمايش، هرس درخت جستجو ناميده ميشود.( بصورت قطعی ) زماني که اين تکنيک براي يک درخت minimax استاندارد، به کار برده ميشود، حرکت مشابهي همانطور که minimax انجام ميداد، برميگرداند؛ وشاخههايي که درتصميم نهايي دخالتي ندارند را هرس ميکند.
فصل ششم: تئوری بازیها – هرس الفا بتا جستجوي minimax عمقي است، بنابراين، در هر لحظه، بايد گرههايي در نظر گرفته شوند که در طول يک مسير مجزا در درخت هستند. مقدار بهترين انتخابي باشد که تا کنون در طول مسير براي MAX پيدا شده است. ومقدار بهترين (به طور مثال، پايينترين مقدار) انتخابي باشد که در طول مسير تا اين لحظه براي MIN پيدا شده است. با استفاده از تکنیک هایی بدون از دست دادن دقت فضای جستجو را کوچک کرد. یعنی هرس های و نوعی h قطعیهستند که در آنها خطا پیش نمی آید
فصل ششم: تئوری بازیها – هرس الفا بتا -pruning هرس آلفا تا موقعی xijفرزند xi محسوب می شود که ارزیابی آن بزرگتر max(x1...xi-1) از باشد و موقعی که : در این حالت دیگر نیازی به بررسی گره های xij+1به بعد نمی باشد
فصل ششم: تئوری بازیها – هرس الفا بتا -pruning هرس بتا تا موقعی xijفرزند xi محسوب می شود که ارزیابی آن کوچکترازmin(x1...xi-1) از باشد و موقعی که : در این حالت دیگر نیازی به بررسی گره های xij+1به بعد نمی باشد
فصل ششم: تئوری بازیها – هرس الفا بتا Example: max min max = 4 min 4 5 3
فصل ششم: تئوری بازیها – هرس الفا بتا Example: max min = 3 max = 3 = 1 min 4 5 3 1 7 0
فصل ششم: تئوری بازیها – هرس الفا بتا Example: max = 3 min = 3 max = 8 = 3 = 1 min -pruning 4 5 3 1 7 0 6 8
فصل ششم: تئوری بازیها – هرس الفا بتا = 3 Example: max = 3 = 2 min = 3 = 6 = 2 max = 2 = 6 = 3 = 1 = 1 min 4 5 3 1 6 6 2 4 8 7 1
فصل ششم: تئوری بازیها = 3 Example: max = 3 = 2 min = 3 = 6 = 2 max = 2 = 6 = 3 = 1 = 1 min 4 5 3 1 6 6 2 4 8 7 1
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : محدوده مقادير ممکن [-∞,+∞] [-∞, +∞]
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : [-∞,+∞] [-∞,3]
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : [-∞,+∞] [-∞,3]
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : [3,+∞] [3,3]
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : [3,+∞] این گره برایMax مناسب نيست [3,3] [-∞,2]
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : , [3,14] [3,3] [-∞,2] [-∞,14]
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : [3,5] , [3,3] [−∞,2] [-∞,5]
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : [3,3] [3,3] [−∞,2] [2,2]
فصل ششم: تئوری بازیها – هرس الفا بتا مثالی دیگر : [3,3] [2,2] [3,3] [-∞,2]
فصل ششم: تئوری بازیها – هرس الفا بتا مزاياي هرس آلفا-بتا • مزاياي آلفا-بتا به مرتبهاي که در آن گرههاي فرزندي آزمايش شدهاند، برميگردد. • 1) پيچيدگي O(b/log b) d ميباشد. • 2) در عمل، يک تابع ساده مرتبکننده شما را به نتيجه بهترين حالت بر خلاف نتيجه تصادفي سوق ميدهد. • 3) رهيافت مشهور ديگر انجام جستجوي عميقکننده تکراري و استفاده از مقادير backed-up از يک تکرار براي تعيين ترتيب جانشينها در تکرار بعدي است. • 4) فاکتور انشعاب مؤثر به جای b برابر با جذرbخواهد بود • 5) پيشبيني آن نسبت به minimaxدو برابر است
فصل ششم: تئوری بازیها – عامل شانس بازيهايي که عامل شانس دارند: در زندگی واقعی حوادث غیر قابل پیش بینی زیادی وجود دارند که ما را در شرایط غافلگیرانه ای قرار می دهند در بازیها این حوادث غیرقابل پیش بینی را توسط عنصر تصادفی مانند تاس نشان می دهند تخته نرد يک بازي عمومي است که شانس و مهارت را با هم ترکيب ميکند. در اینجا تاسی توسط بازیکنA ریخته می شود تا مجموعه ای از حرکتها که قابل انجام هستند تعیین گردد یعنی نمی توان درخت کامل بازی را ترسیم کرد
فصل ششم: تئوری بازیها – عامل شانس درخت جستجو : تاسهاي سفيد 5-6، چهار حرکت زير را ميتواند انجام دهد: (16-10 و 10-5) و (24-19 و 11-5) و (11-5 و 10-5) و (16-11 و 11-5)
فصل ششم: تئوری بازیها – عامل شانس • درخت بازي در تخته نرد بايد شامل گرههاي شانس براي گرههاي MIN و MAX باشد. • مرحله بعدي فهم چگونگي ساخت تصميمات صحيح است. • محاسبه مقادير انتظاري گرهها، صريح است. براي گرههاي پاياني، از تابع سودمندي مانند بازيهاي قطعي استفاده ميکنيم. • باپيشروي در درخت جستجوبه اندازه يک مرحله، به يک گره شانس برخورد ميکنيم.
فصل ششم: تئوری بازیها – عامل شانس مثال : می خواهیم حرکتی از A1 … A2 را انتخاب کنیم که به بهترین موقعیت منجر شود. نکته: در اینجا مقدار min-max قطعی وجود ندارد در عوض فقط می توانیم میانگین یا مقدار مورد انتظار را محاسبه کنیم Max A Dice A2 A1 Min -1 2 1 2 1 0 1 3
فصل ششم: تئوری بازیها – عامل شانس اگر ما فرض کنيم که S(C,di) مجموعه موقعيتهاي توليد شده توسط اعمال حرکات قانوني براي پرتاب P(di) در موقعيت C باشد، ميتواند مقدار expectimax از C را با استفاده از فرمولزير محاسبه نمود: Expectimax(c) =∑iP(di) .maxsε S(c,di) (utility(s)) Expectimin(c) =∑iP(di) .minsε S(c,di) (utility(s)) اين فرمول، سودمندي مورد انتظار در موقعيت c را با فرض بهترين بازي ارائه ميدهد.
فصل ششم: تئوری بازیها – عامل شانس در مثال قبلی: Max A Dice A2 A1 0.9 0.1 0.9 0.1 Min -1 2 1 2 1 0 1 3 Expectimin(A1) = 0.9* min{-1,2} + 0.1* min{1,2} = 0.9*(-1) + 0.1*(1) = -0.8 Expectimin(A2) = 0.9* min{1,0} + 0.1* min{1,3} = 0.9*(0) + 0.1*(1) = 0.1 A2انتخاب می شود
فصل ششم: تئوری بازیها – عامل شانس پيچيدگي: • بدليل اينکه expectiminimax تمام دنبالههاي پرتاب تاس را در نظر ميگيرد، زماني معادل O(bmnm)ميبرد، که n تعداد پرتابهاي محدود است. • مزيت آلفا- بتا، با داشتن بهترين بازي ناديده گرفتن پيشرفتها در آينده است که احتمال وقوعشان کم است. • در بازيهاي به همراه تاس، دنبالههاي محتملي از حرکات وجود ندارد، چون براي آن حرکاتي که بايد انجام بگيرند، ابتدا تاس بايد به روش درستي پرتاب شود تا آن حرکات منطقي شوند. • اگر بگوئيم که تمام مقادير سودمندي بين 1+ و 1-هستند، سپس مقدار گرههاي برگي محدود ميشوند و در عوض ما ميتوانيم حد بالايي روي مقدار گره شانسي بدون توجه به فرزندانش قرار دهيم.