Transcript مثال: هرس آلفا بتا
Slide 1
دانشگاه امام رضا (ع)
سعید راحتی
1387
تهیه کننده اسالیدها :مصطفی جهانگیر
1
Slide 2
2
بازيها حالتی از محيطهای چند عاملي هستند
هر عامل باید فعالیت سایر عامل ها و تاثیر آنها بر روند کار خود را در نظر بگیرد.
تفاوت بین محيطهای چند عاملی رقابتي و همکار
محيطهای رقابتی ،که در آنها هدف هر یک از عامل ها در تعارض با دیگر عامل ها می باشد ،منجر به مسئله
های جستجوی تخاصمی مي شود که به عنوان بازی شناخته مي شوند
چرا بازی ها مورد بررس ی قرار می گیرند؟
قوای عقالنی زیادی به خود اختصاص داده اند.
طبیعت انتزاعی بازی ها
بازنمایی حالت یک بازی ساده است و عامل ها معموال به انجام یک سری از اقدامات که نتایج آنها نیز به
صورت قوانین دقیق مشخص شده است ،محدود می باشند.
Slide 3
3
بازی دو نفره :کمینه و بیشینه
بیشینه اولین حرکت را انجام می دهد و سپس دو طرف به نوبت بازی می کنند تا بازی خاتمه یابد.
در خاتمه ی بازی ،برنده امتیاز می گیرد و بازنده جريمه مي شود
بازی به عنوان يک مسئله جستجو:
حالت اوليه :شامل موقعیت اولیه بازی و شخص ی که باید بازی را شروع کند ،می باشد.
تابع پسین:ليستی از زوج های ( )move,stateرا برمی گرداند که معرف يک حرکت مجاز و حالت نتیجه
آن می باشد.
آزمون پایانی :پايان بازی چه موقع است؟(حالتهای پايانی)
تابع سودمندی(تابع هدف یا تابع تسویه) :برای هر حالت پايانه يک مقدار عددی را ارائه ميکند .مثال
برنده( )+1و بازنده()-1
حالت اوليه و حرکات معتبر برای هر بازيکن ،درخت بازی را برای آن بازی ايجاد مي کند
Slide 4
الگوريتم؛
بازيکن :انتخاب بهترين حالت
حريف :انتخففاب بهتففرين موقعيففت
ب فرای خ ففودر ي ففا ب ففدترين وض ففعيت
برای بازيکن
بازيکن :حالت بیشینه
حري :حالت کمینه
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
یک کاور اول عمق را در درخت بازی انجام می دهد .اگر فرض کنیم حداکثر عمق درخت برابر mباشد و در هر
نقطه بتوان bحرکت مجاز انجام داد داریم:
کامل بودن :بله (اگر درخت محدود باشد)
بهينگي :بله
پيچيدگي زمانی:
پيچيدگی فضا:
m
) O(b
)O(bm
Slide 12
تخصيص يک بردار به هر گره ،به جای يک مقدار
ً
بازيهای چند نفره معموال شامل اتحاد هایی میان بازيکنان است
اتحاد با پيشروی بازی ايجاد و از بین میرود
بازيکنان بطور خودکار همکاری ميکنند ،تا به هدف مطلوب انحصاری برسند
12
Slide 13
در الگوريتم بیشینه کمینه:
تعداد حالتهای بازی که بايد بررس ی شوند ،بر حسب تعداد حرکتها ،توانی است
راه حل :محاسبه تصميم الگوريتم ،بدون ديدن همه گره ها امکان پذير است
هرس آلفا بتا:
انشعابهايي که در تصميم نهايي تأثیر ندارند را حذف ميکند
آلفا :مقدار بهترين انتخاب ممکن در هر نقطه انتخاب در مسیر بیشینه تاکنون
بتا :مقدار بهترين انتخاب در هر نقطه انتخاب در مسیر کمینه تاکنون
تقليل ميابد
تعداد گره هايي که بايد بررس ی شوند به
فاکتور انشعاب مؤثر به جای bبرابر با جذر bخواهد بود
d/2
O(b
)
پيش بيني آن نسبت به بیشینه کمینه دو برابر است
13
Slide 14
گره nکه هر جای درخت ميتواند باشد ،بررس ي مي شود
اگر بازيکن انتخاب بهتری داشته باشد
در گره والد n
يا هر انتخاب بهتری تا کنون
nهيچوقت در بازی واقعی قابل دسترس نخواهد بود
در نتيجه nهرس ميشود
14
Slide 15
15
محدوده مقادير ممکن
]∞[-∞,+
]∞[-∞, +
Slide 16
16
[-∞,+∞]
[-∞,3]
Slide 17
17
[-∞,+∞]
[-∞,3]
Slide 18
18
[3,+∞]
[3,3]
Slide 19
19
]∞[3,+
اين گره برای Maxمناسب نيست
][-∞,2
][3,3
Slide 20
20
[3,14]
,
[-∞,14]
[3,3]
[-∞,2]
Slide 21
21
[3,5]
[3,3]
[−∞,2]
,
[-∞,5]
Slide 22
22
[3,3]
[3,3]
[−∞,2]
[2,2]
Slide 23
23
[3,3]
[3,3]
[-∞,2]
[2,2]
Slide 24
24
معايب الگوريتم های پيشین
الگوريتم بیشینه کمینه کل فضای جست و جوی بازی را توليد مي کند
الگوريتم آلفا-بتا با وجود هرس درخت ،اما کل مسیر حالتهای پايانه ،حداقل برای بخش ي از فضای حالت ،بايد جست و جو
شود
اين عمق عملي نيست ،زيرا حرکات بايد در زمانی معقول انجام شود
برای کمتر شدن زمان جست و جو و اعمال تابع ارزيابي اکتشافی به حالتهای جستجو ،بهتر است از گره های غیر پايانه به
گره های پايانه پرداخته شود
Slide 25
25
در شانون minimax ,و آلفا-بتا به دو رور بطور متناوب عمل ميکنند
جايگزيني تابع سودمندی با تابع ارزيابی اکتشافی بنام EVAL
تخمينی از سودمندی موقعيت ارائه ميکند
جايگزين تست پايانه با تست توق
تصميم ميگیرد EVALچه موقع اعمال شود
Slide 26
26
تابع ارزيابی ،ارائه تخمينی از سودمندی مورد انتظار بازی از يک موقعيت خاص
توابع اکتشافی ،تخمينی از فاصله تا هدف را بر ميگرداندند
اغلب توابع ارزيابي ،خواص گوناگونی از حالتها را محاسبه ميکنند
خواص روی هم رفته ،کالسهای هم ارزی يا دسته های مختلفی از حالتها را تعري ميکنند
حالتهای هر دسته ،برای تمام خواص مقدار يکسانی دارند
هر دسته حاوی چند حالت است که
موجب برنده شدن
موجب رسم شدن
منجر به باختن
تابع ارزيابی نميداند کدام حالت منجر به چه چیزی ميشود ،اما ميتواند مقداری برگرداند که تناسب حالتها را با هر نتيجه نشان
دهد
Slide 27
اغل ففب تواب ففع ارزي ففابی ,مق ففدارwع ففددی جداگان ففه
ای بف فرای هف ففر خاصف ففيت محاسف ففبه ،سف ففپس آنهف ففا را
ترکيب ميکنند تا مقدار کل بدست آيد
i
مثال در تابع بازی شطرنج:
fi
fi
تعداد هر نوع قطعه در صفحه
مقف ففادير آن قطعف ففات( 1بف فرای پيف ففاده 3 ،بف فرای
اسب يا فيل 5،برای رخ و )...
27
)Eval(s) = w1 f1(s) + w2 f2(s) + … + wnfn(s
Slide 28
از مقدار پیروزی در دو موقعيت کامال متفاوت EVALارزيابی تابع
ب) سفيد حرکت ميکند
الف) سفيد حرکت ميکند
ال ) سياه ،مزيت اسب و دو پياده دارد و بازي را مي برد
28
ب) پس از اينکه سفيد ،وزير را در اختيار ميگیرد ،سياه مي بازد
Slide 29
29
وقتففی بوجففود مففي آيففد کففه برنامففه بففا اثففری از رقيففب مواجففه
شود که منجر به خرابی جدی گشته و اجتناب پذير است
مثال :شکل مقابل؛
سففياه در اصففل جلوسففت ،امففا اگففر سفففيد پيففاده ار را
از سففطر هفففتم بففه هشففتم ببففرد ،پيففاده بففه وزيففر تبففديل
ميشود و موقعيت برد برای سفيد بوجود مي آيد
Slide 30
30
دانشگاه امام رضا (ع)
سعید راحتی
1387
تهیه کننده اسالیدها :مصطفی جهانگیر
1
Slide 2
2
بازيها حالتی از محيطهای چند عاملي هستند
هر عامل باید فعالیت سایر عامل ها و تاثیر آنها بر روند کار خود را در نظر بگیرد.
تفاوت بین محيطهای چند عاملی رقابتي و همکار
محيطهای رقابتی ،که در آنها هدف هر یک از عامل ها در تعارض با دیگر عامل ها می باشد ،منجر به مسئله
های جستجوی تخاصمی مي شود که به عنوان بازی شناخته مي شوند
چرا بازی ها مورد بررس ی قرار می گیرند؟
قوای عقالنی زیادی به خود اختصاص داده اند.
طبیعت انتزاعی بازی ها
بازنمایی حالت یک بازی ساده است و عامل ها معموال به انجام یک سری از اقدامات که نتایج آنها نیز به
صورت قوانین دقیق مشخص شده است ،محدود می باشند.
Slide 3
3
بازی دو نفره :کمینه و بیشینه
بیشینه اولین حرکت را انجام می دهد و سپس دو طرف به نوبت بازی می کنند تا بازی خاتمه یابد.
در خاتمه ی بازی ،برنده امتیاز می گیرد و بازنده جريمه مي شود
بازی به عنوان يک مسئله جستجو:
حالت اوليه :شامل موقعیت اولیه بازی و شخص ی که باید بازی را شروع کند ،می باشد.
تابع پسین:ليستی از زوج های ( )move,stateرا برمی گرداند که معرف يک حرکت مجاز و حالت نتیجه
آن می باشد.
آزمون پایانی :پايان بازی چه موقع است؟(حالتهای پايانی)
تابع سودمندی(تابع هدف یا تابع تسویه) :برای هر حالت پايانه يک مقدار عددی را ارائه ميکند .مثال
برنده( )+1و بازنده()-1
حالت اوليه و حرکات معتبر برای هر بازيکن ،درخت بازی را برای آن بازی ايجاد مي کند
Slide 4
الگوريتم؛
بازيکن :انتخاب بهترين حالت
حريف :انتخففاب بهتففرين موقعيففت
ب فرای خ ففودر ي ففا ب ففدترين وض ففعيت
برای بازيکن
بازيکن :حالت بیشینه
حري :حالت کمینه
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
یک کاور اول عمق را در درخت بازی انجام می دهد .اگر فرض کنیم حداکثر عمق درخت برابر mباشد و در هر
نقطه بتوان bحرکت مجاز انجام داد داریم:
کامل بودن :بله (اگر درخت محدود باشد)
بهينگي :بله
پيچيدگي زمانی:
پيچيدگی فضا:
m
) O(b
)O(bm
Slide 12
تخصيص يک بردار به هر گره ،به جای يک مقدار
ً
بازيهای چند نفره معموال شامل اتحاد هایی میان بازيکنان است
اتحاد با پيشروی بازی ايجاد و از بین میرود
بازيکنان بطور خودکار همکاری ميکنند ،تا به هدف مطلوب انحصاری برسند
12
Slide 13
در الگوريتم بیشینه کمینه:
تعداد حالتهای بازی که بايد بررس ی شوند ،بر حسب تعداد حرکتها ،توانی است
راه حل :محاسبه تصميم الگوريتم ،بدون ديدن همه گره ها امکان پذير است
هرس آلفا بتا:
انشعابهايي که در تصميم نهايي تأثیر ندارند را حذف ميکند
آلفا :مقدار بهترين انتخاب ممکن در هر نقطه انتخاب در مسیر بیشینه تاکنون
بتا :مقدار بهترين انتخاب در هر نقطه انتخاب در مسیر کمینه تاکنون
تقليل ميابد
تعداد گره هايي که بايد بررس ی شوند به
فاکتور انشعاب مؤثر به جای bبرابر با جذر bخواهد بود
d/2
O(b
)
پيش بيني آن نسبت به بیشینه کمینه دو برابر است
13
Slide 14
گره nکه هر جای درخت ميتواند باشد ،بررس ي مي شود
اگر بازيکن انتخاب بهتری داشته باشد
در گره والد n
يا هر انتخاب بهتری تا کنون
nهيچوقت در بازی واقعی قابل دسترس نخواهد بود
در نتيجه nهرس ميشود
14
Slide 15
15
محدوده مقادير ممکن
]∞[-∞,+
]∞[-∞, +
Slide 16
16
[-∞,+∞]
[-∞,3]
Slide 17
17
[-∞,+∞]
[-∞,3]
Slide 18
18
[3,+∞]
[3,3]
Slide 19
19
]∞[3,+
اين گره برای Maxمناسب نيست
][-∞,2
][3,3
Slide 20
20
[3,14]
,
[-∞,14]
[3,3]
[-∞,2]
Slide 21
21
[3,5]
[3,3]
[−∞,2]
,
[-∞,5]
Slide 22
22
[3,3]
[3,3]
[−∞,2]
[2,2]
Slide 23
23
[3,3]
[3,3]
[-∞,2]
[2,2]
Slide 24
24
معايب الگوريتم های پيشین
الگوريتم بیشینه کمینه کل فضای جست و جوی بازی را توليد مي کند
الگوريتم آلفا-بتا با وجود هرس درخت ،اما کل مسیر حالتهای پايانه ،حداقل برای بخش ي از فضای حالت ،بايد جست و جو
شود
اين عمق عملي نيست ،زيرا حرکات بايد در زمانی معقول انجام شود
برای کمتر شدن زمان جست و جو و اعمال تابع ارزيابي اکتشافی به حالتهای جستجو ،بهتر است از گره های غیر پايانه به
گره های پايانه پرداخته شود
Slide 25
25
در شانون minimax ,و آلفا-بتا به دو رور بطور متناوب عمل ميکنند
جايگزيني تابع سودمندی با تابع ارزيابی اکتشافی بنام EVAL
تخمينی از سودمندی موقعيت ارائه ميکند
جايگزين تست پايانه با تست توق
تصميم ميگیرد EVALچه موقع اعمال شود
Slide 26
26
تابع ارزيابی ،ارائه تخمينی از سودمندی مورد انتظار بازی از يک موقعيت خاص
توابع اکتشافی ،تخمينی از فاصله تا هدف را بر ميگرداندند
اغلب توابع ارزيابي ،خواص گوناگونی از حالتها را محاسبه ميکنند
خواص روی هم رفته ،کالسهای هم ارزی يا دسته های مختلفی از حالتها را تعري ميکنند
حالتهای هر دسته ،برای تمام خواص مقدار يکسانی دارند
هر دسته حاوی چند حالت است که
موجب برنده شدن
موجب رسم شدن
منجر به باختن
تابع ارزيابی نميداند کدام حالت منجر به چه چیزی ميشود ،اما ميتواند مقداری برگرداند که تناسب حالتها را با هر نتيجه نشان
دهد
Slide 27
اغل ففب تواب ففع ارزي ففابی ,مق ففدارwع ففددی جداگان ففه
ای بف فرای هف ففر خاصف ففيت محاسف ففبه ،سف ففپس آنهف ففا را
ترکيب ميکنند تا مقدار کل بدست آيد
i
مثال در تابع بازی شطرنج:
fi
fi
تعداد هر نوع قطعه در صفحه
مقف ففادير آن قطعف ففات( 1بف فرای پيف ففاده 3 ،بف فرای
اسب يا فيل 5،برای رخ و )...
27
)Eval(s) = w1 f1(s) + w2 f2(s) + … + wnfn(s
Slide 28
از مقدار پیروزی در دو موقعيت کامال متفاوت EVALارزيابی تابع
ب) سفيد حرکت ميکند
الف) سفيد حرکت ميکند
ال ) سياه ،مزيت اسب و دو پياده دارد و بازي را مي برد
28
ب) پس از اينکه سفيد ،وزير را در اختيار ميگیرد ،سياه مي بازد
Slide 29
29
وقتففی بوجففود مففي آيففد کففه برنامففه بففا اثففری از رقيففب مواجففه
شود که منجر به خرابی جدی گشته و اجتناب پذير است
مثال :شکل مقابل؛
سففياه در اصففل جلوسففت ،امففا اگففر سفففيد پيففاده ار را
از سففطر هفففتم بففه هشففتم ببففرد ،پيففاده بففه وزيففر تبففديل
ميشود و موقعيت برد برای سفيد بوجود مي آيد
Slide 30
30