470 likes | 685 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 به عنوان يک زيربرنامه فراخواني ميشود و مقدار دقيق وضعيت محاسبه ميشود.) از اين رو، معاملهاي بين صحت تابع ارزيابي وهزينه زمان آن وجود دارد. • تابع ارزيابي بايد به درستي شانسهاي واقعي براي برد را منعکس کند.
فصل ششم:تئوريبازيها – تابع ارزيابخطي تابع ارزيابخطي (وزن دار) : تابع ارزيابي فرض ميگيرد که مقدار هر مهره ميتواند به طور مستقل از ديگر مهرهها روي صفحه قضاوت شود. اين نوع از تابع ارزيابي، تابع خطي وزن دارناميده ميشود. 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 3d/4) است و در بازي شطرنج ، يک تابع مرتبسازي خوب نتيجه را به حالت بهتر O(b d/2)سوق ميدهد. • 2) يعني پيچيدگيO(b/log b) dيعني O(b)d/2ميباشد. • 3) رهيافت مشهور ديگر انجام جستجوي عميقکننده تکراري است. • 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-هستند، سپس مقدار گرههاي برگي محدود ميشوند و در عوض ما ميتوانيم حد بالايي روي مقدار گره شانسي بدون توجه به فرزندانش قرار دهيم.