آموزش هوش مصنوعی - بخش ششم

45
آموزش هوش مصنوعیfaradars.org/fvsft102 مدرس: حمد صبری م هوش مصنوعیوتر گرایش کامپی مهندسی دانشجوی دکتری عضومی واحد شهر قدسه آزاد اسنشگات علمی دا هیا تهرانوینافتی ن، رهی هوش مصنوعیشم فصل ش: « بازی ها» 1 ﻓﺮادرسFaraDars.org

Upload: faradars

Post on 13-Apr-2017

53 views

Category:

Education


2 download

TRANSCRIPT

Page 1: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

:مدرس

محمد صبریدانشجوی دکتری مهندسی کامپیوتر گرایش هوش مصنوعی

تهرانهیات علمی دانشگاه آزاد اسالمی واحد شهر قدس عضو

هوش مصنوعی، رهیافتی نوین

«هابازی»: فصل ششم

1

فرادرس

FaraDars.org

Page 2: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

و بتاهرس آلفا•بازی در محیط بخشی قابل مشاهده•

2

فرادرس

FaraDars.org

Page 3: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

و بتاهرس آلفا•بازی در محیط بخشی قابل مشاهده•

3

فرادرس

FaraDars.org

Page 4: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی چیست؟

.استعاملهچندمحیطیکبازی•عاملهچندهمکاری/رقابتیهایمحیط•.گویندخصمانهجستجویرارقابتیعاملهچندمحیط•شوند؟میمطالعههابازیچرا•

.استکنندهسرگرمتاریخینظراز–.استپژوهشبرایجذابحوزهپیچیدگیدلیلبه–.استمحدوداعمالتعدادواستبیانقابلسادگیبه–

4

فرادرس

FaraDars.org

Page 5: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

رابطه بازی و جستجو

Search – no adversary Solution is (heuristic) method for finding goal

Heuristics and CSP techniques can find optimal solution

Evaluation function: estimate of cost from start to goal through given node

Examples: path planning, scheduling activities

Games – adversary Solution is strategy (strategy specifies move for every possible opponent reply).

Time limits force an approximate solution

Evaluation function: evaluate “goodness” of game position

Examples: chess, checkers, Othello, backgammon

5

فرادرس

FaraDars.org

Page 6: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

انواع بازی

6

فرادرس

FaraDars.org

Page 7: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

مشخصات بازی

MINوMAX:بازیکندو•

•MAXگیردمیجایزهبرنده.یابدمیادامهپایانتابازیوکندمیشروعرابازیاستفادهجستجودرختازبعدیحرکتتعیینبرایMAX.شودمیجریمهبازندهو

.کندمی Games as search:

Initial state: e.g. board configuration of chess Successor function: list of (move, state) pairs specifying legal moves.

Terminal test: Is the game finished?

Utility function: Gives numerical value of terminal states. E.g. win (+1), loose (-1) and draw (0) in tic-tac-toe (next)

7

فرادرس

FaraDars.org

Page 8: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

(X_Oیا Tic-Tac-Toe)بازی دوز

8

فرادرس

FaraDars.org

Page 9: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

و بتاهرس آلفا•بازی در محیط بخشی قابل مشاهده•

9

فرادرس

FaraDars.org

Page 10: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

و بتاهرس آلفا•بازی در محیط بخشی قابل مشاهده•

10

فرادرس

FaraDars.org

Page 11: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

MINIMAX

.استMAXبرایاستراژییککردنپیدافهد•.کنندمیبازیبهینهبازیکندوهرکهاستاینفرض•

MINIMAX-VALUE(n)=

UTILITY(n) If n is a terminal

maxs successors(n) MINIMAX-VALUE(s) If n is a max node

mins successors(n) MINIMAX-VALUE(s) If n is a min node

11

فرادرس

FaraDars.org

Page 12: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی دو نفره فرضی

12

فرادرس

FaraDars.org

Page 13: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی دو نفره فرضی

13

فرادرس

FaraDars.org

Page 14: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی دو نفره فرضی

January 20, 2016 TLo (IRIDIA) 14

فرادرس

FaraDars.org

Page 15: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی دو نفره فرضی

January 20, 2016 TLo (IRIDIA) 15

The minimax decision

Minimax maximizes the worst-case outcome for max.

فرادرس

FaraDars.org

Page 16: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی دو نفره فرضی

خروجیترتیببدینوکنندمیبازیبهینهبازیکندوهرتعریفطبق•.شودمیحداکثرحالتبدتریندرMAXبرای

نکند؟بازیبهینهMINاگر•

.گرفتخواهدهمبهترنتیجهحتیMAXآنگاه•

16

فرادرس

FaraDars.org

Page 17: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

MINIMAX

17

فرادرس

FaraDars.org

Page 18: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

MINIMAX

18

فرادرس

FaraDars.org

Page 19: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی چند نفره

19

فرادرس

FaraDars.org

Page 20: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

هرس آلفا و بتا•بازی در محیط بخشی قابل مشاهده•

20

فرادرس

FaraDars.org

Page 21: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

هرس آلفا و بتا•بازی در محیط بخشی قابل مشاهده•

21

فرادرس

FaraDars.org

Page 22: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

MINIMAX

.استنماییهاحرکتتعدادبهنسبتبازیهایحالتتعداد:مشکل•.نشوندبررسیهاگرههمه:حلراه•

بتا–هرس آلفاMINکمترین مقدار در گره : بتاو MAXبیشترین مقدار در گره : آلفا•

اگر در یک گره : قانون اولMINبتا از آلفای پدرش کمتر باشد. اگر در یک گره : دومقانونMAXآلفا از بتای پدرش بیشتر باشد.

22

فرادرس

FaraDars.org

Page 23: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example

January 20, 2016 TLo (IRIDIA) 23

[-∞, +∞]

[-∞,+∞]

Range of possible valuesDo DF-search until first leafفرادرس

FaraDars.org

Page 24: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example (continued)

January 20, 2016 TLo (IRIDIA) 24

[-∞,3]

فرادرس[∞+,∞-]

FaraDars.org

Page 25: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example (continued)

January 20, 2016 TLo (IRIDIA) 25

[-∞,3]

فرادرس[∞+,∞-]

FaraDars.org

Page 26: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example (continued)

January 20, 2016 TLo (IRIDIA) 26

[3,+∞]

[3,3]

فرادرس

FaraDars.org

Page 27: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example (continued)

January 20, 2016 TLo (IRIDIA) 27

[-∞,2]

[3,+∞]

[3,3]

This node is worse

for MAX

فرادرس

FaraDars.org

Page 28: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example (continued)

January 20, 2016 TLo (IRIDIA) 28

[-∞,2]

[3,14]

[3,3] [-∞,14]

فرادرس,

FaraDars.org

Page 29: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example (continued)

January 20, 2016 TLo (IRIDIA) 29

[−∞,2]

[3,5]

[3,3] [-∞,5]

فرادرس,

FaraDars.org

Page 30: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example (continued)

January 20, 2016 TLo (IRIDIA) 30

[2,2][−∞,2]

[3,3]

[3,3]

فرادرس

FaraDars.org

Page 31: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Example (continued)

January 20, 2016 TLo (IRIDIA) 31

[2,2][-∞,2]

[3,3]

[3,3]

فرادرس

FaraDars.org

Page 32: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Algorithm

January 20, 2016 TLo (IRIDIA) 32

function ALPHA-BETA-SEARCH(state) returns an action

inputs: state, current state in game

vMAX-VALUE(state, - ∞ , +∞)

return the action in SUCCESSORS(state) with value v

function MAX-VALUE(state, , ) returns a utility value

if TERMINAL-TEST(state) then return UTILITY(state)

v - ∞

for a,s in SUCCESSORS(state) do

v MAX(v,MIN-VALUE(s, , ))

if v ≥ then return v

MAX( ,v)

return v

فرادرس

FaraDars.org

Page 33: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Algorithm

January 20, 2016 TLo (IRIDIA) 33

function MIN-VALUE(state, , ) returns a utility value

if TERMINAL-TEST(state) then return UTILITY(state)

v + ∞

for a,s in SUCCESSORS(state) do

v MIN(v,MAX-VALUE(s, , ))

if v ≤ then return v

MIN( ,v)

return v

فرادرس

FaraDars.org

Page 34: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

Alpha-Beta Algorithm

.نداردنهایینتیجهرویبرتاثیریهرس•.شدخواهدهرسدرختزیرکل•Perfect)سازیمرتب• Ordering)داشتهچمشگیریبهبودتواندمی

.باشد

34

فرادرس

FaraDars.org

Page 35: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

هرس آلفا و بتا•بازی در محیط بخشی قابل مشاهده•

35

فرادرس

FaraDars.org

Page 36: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

هرس آلفا و بتا•بازی در محیط بخشی قابل مشاهده•

36

فرادرس

FaraDars.org

Page 37: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی در محیط بخشی قابل مشاهده

Alpha-betaوMINIMAXجستجوی• Pruningداردنیازیحافظهبه..استاستفادهقابلغیرعمالًنیززیادزماندلیلبههمچنین•

:شانونتئوری• Cut off search earlier (replace TERMINAL-TEST by CUTOFF-TEST)

Apply heuristic evaluation function EVAL (replacing utility function of alpha-beta)

37

فرادرس

FaraDars.org

Page 38: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

بازی در محیط بخشی قابل مشاهده

Change: if TERMINAL-TEST(state) then return UTILITY(state)

Into if CUTOFF-TEST(state,depth) then return EVAL(state)

38

فرادرس

FaraDars.org

Page 39: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

EVAL

.شودمیانجامEvaluationآنگاهدهدمیرخCutoffزمانیکه•حالتایندربازیازانتظارموردکاراییازتخمین:ایده•:نیازمندی•

.1EVALتابعهمانندبرگهایگرهبرایبایدUtilityباشد.

.2EVALباشدشدنبرندهشانسبامتناسببایدبرگیغیرهایگرهبرای..انجامدطولبهزیادنیایدآنمحاسبه3.

39

فرادرس

FaraDars.org

Page 40: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

EVAL

40

Eval(s) = w1 f1(s) + w2 f2(s) + … + wnfn(s)

فرادرس

FaraDars.org

Page 41: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

EVALمشکالت

41

فرادرس

FaraDars.org

Page 42: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

EVALمشکالت

42

فرادرس

FaraDars.org

Page 43: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

هرس آلفا و بتا•بازی در محیط بخشی قابل مشاهده•

43

فرادرس

FaraDars.org

Page 44: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

تعریف و انواع بازی•MiniMaxالگوریتم •

هرس آلفا و بتا•بازی در محیط بخشی قابل مشاهده•

44

فرادرس

FaraDars.org

Page 45: آموزش هوش مصنوعی - بخش ششم

مصنوعیآموزش هوش

faradars.org/fvsft102

این اسالید ها بر مبنای نکات مطرح شده در فرادرس

« آموزش هوش مصنوعی».تهیه شده است

یدبرای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایfaradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فرادرس

FaraDars.org